mrdudz
e5a1755133
added some ifdefs to make testcode compile for apple2 and atari targets
2020-08-26 15:08:17 +02:00
mrdudz
d21fbed1bb
Merge branch 'master' of https://github.com/cc65/cc65
2020-08-26 13:37:07 +02:00
mrdudz
c216b3534b
fix compilation, fixes issue #1184
2020-08-26 13:36:43 +02:00
Bob Andrews
4cd19711f2
Merge pull request #1219 from acqn/Test
...
Bug #1113 was fixed "long" ago
2020-08-26 11:09:11 +02:00
acqn
b6a4715a38
Added test/ref/pr1220 for testing constant AND/OR code generation.
2020-08-26 08:45:01 +08:00
acqn
d68925c6a8
Bug #1113 was fixed long ago.
2020-08-25 22:34:25 +08:00
Jesse Rosenstock
344aea0669
Add additional test cases for #1209
...
These test cases don't use dynamic labels.
https://github.com/cc65/cc65/issues/1209#issuecomment-678738971
Also update the original test case for consistency:
* Change failure message to just "FAIL", as there is only one failure
* Outdent label definitions
* Clarify description
2020-08-24 19:15:06 +02: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
acqn
c3a6b39945
Made struct assignment less hackish.
2020-08-24 18:02:29 +02:00
acqn
d1995fc81a
Fixed rvalue-ness of cast results.
2020-08-24 17:16:37 +02:00
acqn
63fa9a5a42
Fixed usage of "lvalue-cast" in _scanf implementation.
2020-08-24 17:16:37 +02:00
acqn
911a79796d
Fixed checks and diagnostics on type-casting.
2020-08-24 17:16:37 +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
acqn
0486d28abc
Fixed Issue #327 .
2020-08-22 13:44:18 +02:00
acqn
f289ea6c14
Avoided generating unnecessary true-case labels in logic AND/OR.
2020-08-22 11:10:17 +08:00
acqn
0536f4f9bd
Minor fixes on constant expression checking and comments.
2020-08-21 23:27:41 +02:00
acqn
63256fd15d
Changed negation of signed long stored in unsigned long to unsigned subtraction.
2020-08-21 23:16:17 +02:00
acqn
f59c2a08d9
Added support for changing multiplications with certain negative multipliers into bit-shifts. Only enable certain kinds of signed mul replacements with shift according to the code size factor settings.
2020-08-21 23:16:17 +02:00
acqn
ea7336591c
Removed special-casing code for scaling up. Now it uses the normal multiplying code.
2020-08-21 23:16:17 +02:00
Greg King
75dc234988
Guarded the static_assert macro with a C standards test.
2020-08-21 15:15:19 -04:00
acqn
85ea06687b
Fixed logical AND and logical OR.
2020-08-20 07:52:15 +08:00
acqn
725511131a
Fixed constant expression checks with no-code requirement.
...
Used return-by-value initialization for ExprDesc.
2020-08-20 07:52:11 +08:00
acqn
1abb9da2b2
Moved bug250.c to test/val as it is fixed.
2020-08-26 09:40:32 +08:00
acqn
3ea3887c77
Fixed warnings on const comparison.
...
Warnings on expressions with no effects.
Fixed const ternary.
Fixed ternary with struct/union types as the true/false-branch expressions.
2020-08-20 07:52:06 +08:00
acqn
b15ab348ba
Moved bug250.c from test/misc as it is to be fixed.
2020-08-26 08:23:05 +08:00
acqn
17bbba7327
Added integer boolean type string.
...
No longer set the "expression tested" flag with constant results in comparison.
2020-08-20 07:52:03 +08:00
mrdudz
794adcc512
remove unneeded rule
2020-08-19 22:33:10 +02:00
mrdudz
e6b8f4d715
move/fix bug264.c as suggested in issue #1122
2020-08-19 22:25:18 +02:00
mrdudz
1a92368aed
rename bdiff.c to isequal.c, make it handle different line-endings as equal
2020-08-19 14:50:12 +02:00
Jesse Rosenstock
85e8a6cb9f
Clarify docs that bss is zero-initialized
...
Addresses comment raised in #1202 .
2020-08-19 13:24:15 +02:00
acqn
9fcde120aa
Made function signatures in asm output use the parameter lists from original definitions instead of the composites.
2020-08-19 08:40:19 +02:00
Greg King
36dd82f0e6
Added g_branch() to cc65's code generator.
...
It uses BRA if the platform's CPU has BRA. Else, it generates a JMP.
(Used it in the bitfield sign-extending code.)
2020-08-18 19:11:18 -04: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
Jesse Rosenstock
ff535b8e1a
Treat signed int bit-fields as signed
...
Prior to this PR, `int`, `signed int`, and `unsigned int`
bitfields are all treated as `unsigned int`.
With this PR, `signed int` will be treated as `signed int`,
and the others remain unsigned.
Since `Type` does not distinguish between `int` and `signed int`,
add an extra `int* SignenessSpecified` param to `ParseTypeSpec`
so we can tell these apart for bit-fields and treat plain `int : N`
as `unsigned int : N` since it is more efficient to zero-extend
than sign-extend.
Fixes #1095
2020-08-18 12:23:20 +02:00
Jesse Rosenstock
55cebc7b9e
Move bit-field adjustment to codegen.c
...
Extract functions g_testbitfield and g_extractbitfield from LoadExpr.
This helps prepare for #1192 , since g_extractbitfield will get much
longer and call AddCodeLine.
2020-08-18 10:55:31 +02:00
acqn
56b659c0be
Made char type a distinct type.
2020-08-18 10:48:38 +02:00
acqn
87889df9e9
Fixed type checking in relation operations.
2020-08-18 09:39:43 +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
f206833a20
Alternative fix for Issue #1167 .
2020-08-17 20:31:02 +02:00
acqn
0afa1a9a95
Fixed function signatures in asm output.
...
Improved full type name production.
2020-08-17 20:30:32 +02:00
acqn
ebae994dc9
Fixed CHECK failure when calling functions defined with repeated parameter names.
...
Clarified the terms "parameter" vs "argument" in FunctionParamList().
2020-08-17 20:27:57 +02:00
Bob Andrews
531de44c95
Merge pull request #1193 from jmr/bitfield-union-bug
...
Add test of union of bit-field from mailing list
2020-08-17 14:33:51 +02:00
Jesse Rosenstock
6db93d58cf
Add test of union of bit-field from mailing list
...
https://sourceforge.net/p/cc65/mailman/message/36152700/
This currently works, but add a test to prevent future regressions.
2020-08-17 09:54:31 +02:00
acqn
15f28c3a8c
Fixed getting the basic raw type names.
2020-08-17 00:00:03 +02:00
acqn
11cd3e5cbd
Utility for checking general datatype categories, incomplete ESU types and arrays of unknown sizes.
2020-08-17 00:00:03 +02:00