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
Greg King
c05a750f47
Fixed some copy-&-paste typo mistakes about HuC6280's TMA mnemonic.
2020-10-01 07:25:08 -04:00
mrdudz
4777e98f57
rename testcode/ to targettest/
2020-09-29 19:14:46 +02:00
mrdudz
dcee493e94
move remaining stuff from testcode/lib/ one level up to testcode/
2020-09-29 19:12:34 +02:00
mrdudz
3d8e787e66
move testcode/grc to samples/geos
2020-09-29 19:08:40 +02:00
mrdudz
bbece736f5
move testcode/disasm into samples/ instead
2020-09-29 19:06:05 +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
eb87c6d373
rename README to readme.txt
2020-09-29 18:54:30 +02:00
acqn
b525554bfe
Added support for parsing asm byte size expressions with a pair of parentheses.
2020-09-27 12:22:05 +02:00
acqn
688342e194
Now every code entry has its argument parsed to tell some info.
...
It fixes the compiling performance regression as well.
Built-in ZPs are recognized.
2020-09-27 12:22:05 +02:00
acqn
cc0f8422f2
More fixes and new utils to check if opcode arguments can be used elsewhere.
...
Fixed tracking with LI_RELOAD_Y and LI_DIRECT.
Fixed tracking with LI_CHECK_Y and LI_RELOAD_Y.
2020-09-27 12:22:05 +02:00
acqn
f3771a465d
Fixed various issues in the usage-tracking code.
...
Added some utility functions.
2020-09-27 12:22:05 +02:00
acqn
d379affc4b
Moved some reusable code from cc65/coptstop.c into new files.
2020-09-27 12:22:05 +02:00
acqn
28c7aa2bc8
Replaced direct CEF_NUMARG flag checks on code entries with CE_HasNumArg().
2020-09-27 12:22:05 +02:00
acqn
c45a6b3685
Utility function ParseOpcArgStr().
2020-09-27 12:22:05 +02:00
Jesse Rosenstock
d0089aef95
Fix bit-field truncation warning message
...
Fix copy & paste bug with warning message.
struct X {
signed int a : 3;
};
struct X g = { 5 };
Before:
s.c(4): Warning: Implicit truncation from 'int' to 'int : 3' in bit-field
initializer changes value from 5 to 5
After:
s.c(4): Warning: Implicit truncation from 'int' to 'int : 3' in bit-field
initializer changes value from 5 to -3
Fixes #1268
2020-09-26 17:41:45 -04: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
Fabrizio Caruso
61ebe2c34b
Indentation in vga.s for gamate
2020-09-24 19:42:34 +02:00
Fabrizio Caruso
6fdb356db7
Simplify Gamate tile redefinition (as already done for PCE)
2020-09-24 19:42:34 +02: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
fb8b45e479
added note on how to manage the sample programs
2020-09-24 00:18:28 +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
Greg King
81ac28ff71
Used TAY/TYA instead of PHA/PLA when extracting a bit-field.
...
Without optimization, it saves a few CPU cycles. With optimization, it saves more cycles and a few bytes.
2020-09-22 12:47:09 -04:00
Greg King
ea95728330
Avoided an avalanche of messages from bad bit-field declarations.
...
Made cc65 replace a bad bit-field type with a good one, and always parse the field width.
Shortenned a parameter name to a spelling that's consistent with other function headers.
2020-09-22 12:47:09 -04:00
Greg King
07ea5259ac
Changed a cc65 error message to say that the sizes of bit-field types (not bit-fields) are limited.
2020-09-22 12:47:08 -04:00
Greg King
d906204e84
Allowed UPDCRAMPTR to be exported as a constuctor in the VIC-20 library.
2020-09-22 12:31:27 -04:00
Greg King
dc14751954
Exported the direct Kernal entries that were moved from target headers to "cbm_kernal.inc".
2020-09-22 00:04:24 -04:00
Greg King
41bd8d909b
Added ld65's bank attribute to the cx16 library's bank (overlay) configuration file.
...
That attribute makes it easier for Assembly code to know which bank holds a label.
2020-09-20 19:55:25 -04:00
Greg King
0b64ca0d7d
Fixed the ld65 cx16 Assembly configuration file.
...
The CODE segment immediately follows the EXEHDR segment. Added a segment for the zero-page area that's free when the BASIC ROM isn't used.
2020-09-20 16:09:58 -04:00
Greg King
bf4b195016
Added some comments that explain where the g_branch() code generator can and can't be used.
2020-09-18 15:50:26 -04:00
acqn
de630a1245
Fixed quick hack for known registers after calling certain runtime functions,
...
and new quick hack for tosshrax.
2020-09-18 09:04:15 +02:00
acqn
079f4a99dd
Added processor state info to the OPCDesc table. However, since some opcodes are affected by the addressing mode, this info is unused in codegen/optimizer but just as quick in-code documentation/hints.
2020-09-18 09:04:15 +02:00
acqn
a7d6eb9190
Added processor flag usage/change-tracking for non-JSR/RTS code entries.
...
Some existing optimizations are impacted and need fixes in order to work correctly again.
Fixed and improved OptPrecalc. Now it respects the C/V/Z/N flags.
Fixed optimizations impacted by added support of tracking processor flags.
2020-09-18 09:04:15 +02:00
acqn
d02b12fa6c
Made local code/data labels really local to the functions where they live in.
2020-09-18 09:02:16 +02:00
acqn
86ced2bd4c
Avoided unnecessarily boosting the code label numbers with boolean AND.
2020-09-18 08:59:56 +02:00
Jesse Rosenstock
0482e4d6e4
Fix CRLFs introduced by fe3f267
2020-09-18 08:57:28 +02:00
acqn
b8ae5c28fe
Added debug output support for processor flags.
2020-09-13 13:50:35 +02:00
acqn
810e17edfe
Fixed processor states tracking for the BIT/TRB/TSB opcode.
...
Added new opcode descriptions about whether and how the opcode accesses memory.
2020-09-13 13:50:35 +02:00
acqn
66c5faeb9a
Added processor flags usage tracking.
...
Added ZNRegs for tracking what register(s) Z/N flags currently reflect.
Added utility functions to check if the specified processor state is known to be a certain value.
2020-09-13 13:50:35 +02:00
acqn
fe3f267233
Added new runtime sub bcasta/bcastax/bcasteax opposing to bnega/bnegax/bnegeax.
2020-09-11 13:33:54 +02:00
acqn
142b0bf9b3
Added utility functions to get names of comparison function/transformer subroutines.
2020-09-11 13:33:54 +02:00