Commit Graph

4262 Commits

Author SHA1 Message Date
Alex Volkov
bf5d8c44e4 BUGFIX: Fix the "same X value" and "same A value" evaluations issue in OptStackOps(), where the values compared come from the wrong instruction when a runtime call has an asm label. 2026-03-10 20:08:35 -04:00
Alex Volkov
505698c450 Refactor: remove StackOpData side effects from IsRegVar() and PreCondOk()/RegAPreCondOk(); setting StackOpData.ZPLo/ZPHi is explicit. 2026-03-10 19:23:40 -04:00
Alex Volkov
1b778edee8 Annotations ahead of refactoring: bugs., looming bugs, and work notes. 2026-03-10 17:46:40 -04:00
Bob Andrews
d45fac3afe Merge pull request #2938 from kugelfuhr/kugelfuhr/fix-2811
Fix an invalid transformation by the optimizer
2026-03-05 19:51:51 +01:00
Kugel Fuhr
380c3f810e Fix an invalid transformation by the optimizer. Introduced by #2811. 2026-03-05 18:40:52 +01:00
Willis Blackburn
5f437e09a0 Move AssignIds to before we print the info line in order to ensure that we write the correct file count. 2026-02-12 17:54:58 -05:00
Bob Andrews
0fca83500b Merge pull request #2927 from kugelfuhr/kugelfuhr/fix-2926
Fix cc65 not detecting invalid integer and float literal suffixes
2026-02-11 19:54:44 +01:00
Kugel Fuhr
61799b07bf Fix unchecked integer or floating point suffixes. 2026-02-06 15:55:30 +01:00
Willis Blackburn
789416798f Add terminating NUL after __func__ string literal #2920 2026-01-24 12:32:31 -05:00
Kugel Fuhr
c4cd575331 Fix parsing boolean not (.not/!). 2025-11-18 14:35:29 +01:00
Bob Andrews
778bc5bc22 Merge pull request #2843 from colinleroy/warn-about-fill-bytes
Emit warnings for wasted bytes when aligning
2025-11-02 18:14:27 +01:00
Bob Andrews
a88d7abd3f Merge pull request #2851 from kugelfuhr/kugelfuhr/fix-2850
Fix "constant expression expected" when using .CPU_ISET_xxx with no target system set
2025-11-01 16:36:39 +01:00
Kugel Fuhr
b4dc41c653 CPU constants must always be defined, not only if a target system was given. 2025-11-01 15:37:57 +01:00
Colin Leroy-Mira
2220c6ec8d Add --warn-align-waste option to ca65, ld65, cl65 2025-10-26 16:06:08 +01:00
Colin Leroy-Mira
28442e60b8 Emit warnings for wasted bytes when aligning 2025-10-19 15:00:13 +02:00
Bob Andrews
c2556bb5e2 Merge pull request #1358 from dmsc/issue-479
Fixes Issue 479 (ca65: can't reference .proc members before declaration)
2025-10-05 15:39:56 +02:00
Bob Andrews
93c1b659ee Merge pull request #2824 from GrosChien/master
ca65 Fixing segfault when using `--expend-macros` without `--listing`
2025-09-22 21:18:39 +02:00
Bob Andrews
ca7335023f Merge pull request #2834 from polluks/patch-12
Fixed overflow
2025-09-22 21:06:41 +02:00
Stefan
9601b11a9c inplicit length 2025-09-18 11:10:41 +02:00
Stefan
5e89953bf9 Fixed overflow 2025-09-17 15:03:55 +02:00
Kugel Fuhr
0dc484f5a7 Fix hardcoded upper limit of input files. 2025-09-08 20:51:27 +02:00
Gros chien
ee096d27df Fix segfault when using -x without -l 2025-08-26 23:45:39 +02:00
Daniel Serpell
2454ab831c When creating a new scope for a forwarded symbol, do not open it.
This fixes las example in the PR.
2025-08-17 20:24:08 -04:00
Daniel Serpell
acc26c0e7b When the scope is not found on ancestors, create on current scope.
This solves comment https://github.com/cc65/cc65/pull/1358#issuecomment-3193961949
2025-08-16 22:28:32 -04:00
Daniel Serpell
2323f46a54 Only search a symbol in parent scopes if not already scoped.
This fixes the case at: https://github.com/cc65/cc65/pull/1358#issuecomment-747194906
2025-08-16 17:29:12 -04:00
Daniel Serpell
5b70654289 Allows referencing a scope not yet created.
Use the "::" syntax at the start of the symbol to force creating
a scope if it does not exists yet.

Fixes issue #479.
2025-08-16 11:17:35 -04:00
Bob Andrews
5197c56c7c Merge pull request #2794 from mrdudz/fixgrc
Fixgrc
2025-07-27 00:23:02 +02:00
Bob Andrews
d06e0d9a16 Merge pull request #2812 from colinleroy/Opt-ldptr1
Optimize ldax?sp/sta/stx to ldptr1?sp
2025-07-27 00:22:21 +02:00
Colin Leroy-Mira
1f6cca2140 Coding style 2025-07-27 00:02:48 +02:00
Colin Leroy-Mira
a0b705fd41 Remove code after inserting new one 2025-07-27 00:02:48 +02:00
Colin Leroy-Mira
0647cb1112 Merge jsr pushax/j?? popax into nothing or RTS 2025-07-27 00:02:48 +02:00
Colin Leroy-Mira
4c2cc24e77 Optimize jsr ldax0sp/incsp2 2025-07-27 00:02:18 +02:00
mrdudz
cb39da2fba Use spaces instead of tabs in the output files 2025-07-26 23:52:14 +02:00
Kugel Fuhr
8f4a4040d6 Complete unreachable checking for switch statements. 2025-07-26 09:03:27 +02:00
Kugel Fuhr
70c1bd5e3c Improved flow analysis in general and especially for "for" loops. Added more
tests.
2025-07-26 09:03:04 +02:00
Kugel Fuhr
8ac25376a0 Fix the "double semicolon" problem where a double semicolon after a statement
that makes the following code unreachable led to an "unreachable code" warning.
2025-07-26 09:02:54 +02:00
Bob Andrews
0a4af6df92 Merge pull request #2808 from kugelfuhr/kugelfuhr/flowanalysis
Simple flow analysis to find unreachable code
2025-07-26 00:10:21 +02:00
mrdudz
2c906474eb calculate the disk blocks in the linker config 2025-07-20 19:18:24 +02:00
Colin Leroy-Mira
6d96a952fd Stricter check for incax[1-8]
Thanks to @kugelfuhr

Co-authored-by: kugelfuhr <98353208+kugelfuhr@users.noreply.github.com>
2025-07-20 18:48:58 +02:00
Colin Leroy-Mira
fa1b6ed4f7 Address issues 2025-07-20 16:39:24 +02:00
Colin Leroy-Mira
095ee0b27c Merge branch 'master' into fix-pr-2778 2025-07-20 16:28:49 +02:00
Colin Leroy-Mira
8a793796d7 Coding style 2025-07-20 16:14:35 +02:00
Colin Leroy-Mira
8ba1cef550 Merge branch 'master' into Opt-ldptr1 2025-07-20 16:08:01 +02:00
Colin Leroy-Mira
2b2c082efb Fix bug in PR #2778
Don't replace incaxy like incax[1-8].
2025-07-20 14:36:30 +02:00
Colin Leroy-Mira
17b8645360 Optimize ldax?sp/sta/stx to ldptr1?sp 2025-07-20 12:24:24 +02:00
mrdudz
e554d0ccfb mark sequential GEOS files without RECORD table as such. 2025-07-20 02:01:37 +02:00
mrdudz
3ff1a9e463 another try. still not quite right apparently 2025-07-19 23:00:28 +02:00
Kugel Fuhr
61f3e43fb6 Rewrote an outdated comment. 2025-07-17 20:52:33 +02:00
Jimmy Dansbo
3cd1672ae5 Added correct capabilities to W65C02 and 65CD02 cpus 2025-07-17 19:17:03 +02:00
Kugel Fuhr
6d45a94127 Do not output a warning about a missing "return" in a function if the function
exit is unreachable.
2025-07-17 17:07:34 +02:00