prandeamus
e7aabce8e9
Complain if unsupported flags are provided after -O
2018-01-07 18:57:48 +00:00
bauen1
60c68b1111
cl65 now links against none.lib when using --target none
2018-01-04 17:11:44 +01:00
greg-king5
c8dd88efad
Added missing "break;" statements to a "switch" statement.
2017-12-18 17:09:06 -05:00
Oliver Schmidt
e485e96de0
Suppress potential svnversion error output.
2017-11-30 19:17:45 +01:00
Stefan
7e4db1fdd6
Option removed
2017-11-22 18:17:43 +01:00
Stefan
44b13c1ca0
Subversion fallback
...
If you use don't use Git to access the repository, you will still get a revision number.
2017-11-22 01:02:02 +01:00
Greg King
de1f80571a
Fixed the way that the disassembler looks for the end of a segment.
...
It checks only the bytes that actually were printed. It won't show a bad error message when disassembling address $0000. Fixes #506 on cc65's Github project.
2017-10-31 00:47:07 -04:00
Oliver Schmidt
c8d6ca908d
Minor style fix.
2017-10-23 18:22:51 +02:00
Lauri Kasanen
ca4ed290d5
cl65: Add support for --all-cdecl
2017-10-03 18:46:39 +03:00
Oliver Schmidt
5d333239c6
Merge pull request #468 from pmjdebruijn/samples
...
make changes
2017-07-23 02:09:20 +02:00
Pascal de Bruijn
19f6ae1d54
make: change uppercase prefix var
2017-07-22 16:38:50 +02:00
Pascal de Bruijn
6e93c1ba73
pragma: add minimalist message pragma implementation
...
for example:
#pragma message ("in a bottle")
results in:
hello.c(207): Note: in a bottle
2017-07-19 17:58:13 +02:00
Pascal de Bruijn
ea7f4d7489
pragma: bring pragma_t enum in line with Pragmas struct
...
fixes an inconsequential inconsistency, might prevent some
confusion in the future.
2017-07-17 19:43:11 +02:00
Piotr Fusik
c0812670c1
Fix coding style.
2017-06-30 07:35:21 +02:00
Piotr Fusik
b31ae57be1
Make some arrays const.
2017-06-28 20:43:31 +02:00
Greg King
d3ccc289c1
Stopped cc65 from putting redundant .segment directives into its Assembly output.
2017-06-16 21:53:50 -04:00
Oliver Schmidt
682fd226ae
Merge pull request #442 from polluks/patch-6
...
Use verbosity
2017-06-03 22:06:27 +02:00
Stefan
80feb80168
Update main.c
2017-05-28 16:17:34 +02:00
Stefan
49e22f566f
Update main.c
2017-05-28 15:29:49 +02:00
Stefan
ea9430e28e
Update list.c
2017-05-28 15:22:33 +02:00
Stefan
c9c2562c14
Update list.c
2017-05-28 15:13:43 +02:00
Stefan
843c5442b1
Update list.c
2017-05-28 13:13:53 +02:00
Stefan
9bdcb0a31b
More POSIX.2, staying compatible
2017-05-28 00:35:38 +02:00
Stefan
ff33939385
Use verbosity
2017-05-28 00:29:53 +02:00
Oliver Schmidt
1bbe7043e1
Merge pull request #426 from MonteCarlos/master
...
added -E switch to cl65 for >>stop after the preprocessing stage<<.
2017-05-24 09:44:24 +02:00
mc78
f87a575d4d
added missing spaces before braces. added unknown option msg if not given -Wc|l|a when passing options to subprocess
2017-05-23 22:57:27 +02:00
mc78
21b1add984
added four escaped tabs to -E Stop after .... description
2017-05-22 23:21:55 +02:00
mc78
3157e4be1e
added empty lines and spaces according to olivers comments. Made local functions static.
2017-05-22 23:07:31 +02:00
Oliver Schmidt
1c54213091
Merge pull request #433 from clbr/trampoline-fixes
...
Trampoline fixes
2017-05-20 12:29:10 +02:00
Lauri Kasanen
e8a735492d
Correct comment style
2017-05-19 15:38:50 +03:00
Lauri Kasanen
901ac80026
Wrapper functions use all registers
2017-05-19 15:25:50 +03:00
Oliver Schmidt
16a2beaaca
Adjusted VS project files to commit 11b01b908d
2017-05-18 22:40:18 +02: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
f6fa74a636
Rename trampoline to wrappedcall everywhere
2017-05-18 16:00:04 +03:00
Lauri Kasanen
7feced8862
More tabs to spaces
2017-05-18 15:54:47 +03:00
Lauri Kasanen
a590b99f5b
Align with spaces instead of tabs here
2017-05-18 14:21:43 +03:00
Oliver Schmidt
390ee4e22f
Merge pull request #429 from pfusik/opt-stdfunc
...
Optimize the inlined strlen/memcpy/memset
2017-05-17 22:58:54 +02:00
Oliver Schmidt
f151142e6a
Keep GCC from complaining about 'List' may be used uninitialized in this function.
2017-05-17 19:39:02 +02:00
Oliver Schmidt
298dda0e71
Increased GCC optimization level.
2017-05-17 18:30:35 +02:00
Piotr Fusik
675dd3c963
Optimize the inlined memcpy/memset for the sizes of 128/129.
2017-05-17 10:08:08 +02:00
Piotr Fusik
6011bdb2f6
Optimize the inlined strlen.
2017-05-17 10:00:35 +02:00
Lauri Kasanen
ca41af41c2
Rename pragma trampoline to wrapped-call, value to identifier
2017-05-16 20:10:24 +03:00
mc78
d70a9507a7
replaced tabs with spaces which accidently were introduced.
2017-05-16 13:31:10 +02:00
mc78
691df09a1f
According to recent comments on my recent pull request, -Wc checking for -E flag has been removed again. Intead, -E flag has been added to cl65 without need of -Wc. Two functions have been introduced to disable compile, link or both. These function remove assigment repetions to DoAssemble and DoLink for litte overhead, having the maintainability in mind.
2017-05-16 13:13:09 +02:00
mc78
4cbfb4e199
added -E switch to cl65 for >>stop after the preprocessing stage<<.
...
added compilation and assemblation disable after -Wc -E also with -E beeing part of a comma separated list of arguments
2017-05-12 12:23:30 +02:00
Lauri Kasanen
a2f61c667a
Update comments and location checks according to Greg
2017-05-07 20:31:41 +03:00
Lauri Kasanen
ead0338c0d
Add fast path for char postdec
2017-05-06 13:35:39 +03:00
Lauri Kasanen
767f093ff8
Add fast path for char postinc
2017-05-06 13:35:39 +03:00
Lauri Kasanen
2890b3a810
Pragma trampoline
2017-05-02 20:51:53 +03:00
Lauri Kasanen
d091a57e91
Trampoline stack
2017-05-02 20:43:41 +03:00
Lauri Kasanen
679bfb0ae9
Add IntPtrStack
2017-05-01 21:08:04 +03:00
Oliver Schmidt
18b0aaf9f2
Removed help for non-existent option.
2017-04-15 23:12:19 +02: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
be772c0198
Bumped version.
...
As suggested the incompatibility resulting from 02daf9f8b5
makes a new version appropriate.
2017-04-06 12:22:39 +02:00
Greg King
dce5783dc9
Fixed the simulations of the stack pointer and the "break" and decimal-mode flags.
...
* The pointer wraps around the stack page.
* The break flag exists on only the stack, and only after an interrupt.
* 65C02 interrupts clear the decimal-mode flag.
2017-04-04 13:23:44 -04:00
Oliver Schmidt
02daf9f8b5
So far the built-in inlining of several known standard function was always (!) enabled and the option -Os enabled additional, potentially unsafe inlining of some of those functions.
...
There were two aspects of this behavior that were considered undesirable:
- Although the safe inlining is in general desirable it should only be enabled if asked for it - like any other optimization.
- The option name -Os implies that it is a safe option, the potentially unsafe inlining should have a more explicit name.
So now:
- The option -Os enables the safe inlining.
- The new option --eagerly-inline-funcs enables the potentially unsafe inlining (including the safe inlining).
Additionally was added:
- The option --inline-stdfuncs that does like -Os enable the safe inlining but doesn't enable optimizations.
- The pragma inline-stdfuncs that works identical to --inline-stdfuncs.
- The pragma allow-eager-inline that enables the potentially unsafe inlining but doesn't include the safe inlining. That means that by itself it only marks code as safe for potentially unsafe inlining but doesn't actually enable any inlining.
2017-04-03 23:20:26 +02:00
Oliver Schmidt
cbb2833c01
Merge pull request #414 from IrgendwerA8/SED_Fix
...
Fixed sim65 SED
2017-03-30 12:26:37 +02:00
IrgendwerA8
170d96898f
Fixed SED
2017-03-30 12:17:29 +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
669113b595
Added missing line continuation.
...
Fixes https://github.com/cc65/cc65/issues/408
2017-03-21 20:45:51 +01:00
IrgendwerA8
cc82cd9992
Fixed addressing error for TSB/TSR and enabled tests again.
2017-03-20 21:53:07 +01:00
Oliver Schmidt
3a30669ff6
Merge pull request #405 from IrgendwerA8/65SC02_sim65_support
...
Added 65SC02 support for simulator.
2017-03-18 23:38:05 +01:00
IrgendwerA8
e14e13abf4
fixed curly brackets for single line scopes
2017-03-18 22:52:13 +01:00
IrgendwerA8
ad003e5991
style changes
2017-03-18 20:27:41 +01:00
IrgendwerA8
0985655ac7
Fixed bug in original sim65 implementation (reason for C&P error in last commit)
2017-03-18 17:02:22 +01:00
IrgendwerA8
c50e4d25e2
additional fix for scrambled code (sorry)
2017-03-18 16:56:36 +01:00
IrgendwerA8
4ba34f2a69
fixed scrambled semicolon
2017-03-18 16:54:00 +01:00
IrgendwerA8
360372420b
Added 65SC02 support for simulator.
2017-03-18 16:37:15 +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
Piotr Fusik
d2c89d2ba9
"static int n; int n;" is an error.
...
Fixes test/err/static-4.c regression.
2017-03-09 19:14:31 +01:00
Piotr Fusik
5988ec37cd
Revert "Disallow global variable declarations with an initializer."
...
This reverts commit 1f12a06f7c
.
2017-02-15 18:51:27 +01:00
Christian Groessler
a5fba551d1
Merge remote-tracking branch 'upstream/master' into something_to_pull2
2017-02-13 21:38:38 +01:00
Piotr Fusik
31f19fbc65
Issue an error for duplicate global variables.
...
Previously it was an assembler error.
2017-02-13 21:10:21 +01:00
Piotr Fusik
730d01a25f
Global uninitialized variable is only a tentative definition.
...
Closes #204
2017-02-13 21:04:45 +01:00
Piotr Fusik
1f12a06f7c
Disallow global variable declarations with an initializer.
...
E.g.
extern int i = 42;
2017-02-13 19:41:05 +01:00
Greg King
7e8bb7b700
Fixed ca65's BRK instruction encoding for the 65816.
...
BRK is two bytes on all 6502 variants; but, the 65816's maker declared officially that assemblers should support an optional operand.
2017-02-12 14:54:57 -05:00
Oliver Schmidt
5bbf010029
Merge pull request #371 from jedeoric/master
...
Create an Oric Telestrat target library
2017-02-10 23:47:13 +01:00
jede
9cde534b23
Rollback for *.vcxproj, telestrat.sgml modified for "don't" instead of "did not" for telemon2.4
2017-02-09 18:46:56 +01:00
Christian Groessler
a08f905224
Cleanups for Creativision.
2017-02-01 20:09:03 +01:00
Christian Groessler
07f840f11c
Merge remote-tracking branch 'upstream/master' into creativision
2017-02-01 18:15:05 +01:00
jede
b5fef66f37
Merge telemon24 and telemon30 into telestrat target.
...
Cleaning, and replace tab to spaces
Converting hex lowercase value into uppercase char.
Changing := and = when it was needed
2017-01-31 22:09:14 +01:00
jede
858e952505
Fix
2017-01-29 23:05:18 +01:00
jede
db3b6603e5
Fix
2017-01-29 23:03:01 +01:00
jede
bd82bf6a7f
Fix
2017-01-29 22:59:53 +01:00
jede
e21eca942b
new pull fix
2017-01-29 22:55:35 +01:00
jede
2697499b3c
Fixing old pull request
2017-01-29 22:53:50 +01:00
jede
0f8fb4d79d
Merge with current version
2017-01-29 22:39:51 +01:00
Florent Flament
c1aac0de0e
Add C support for Atari 2600 (VCS)
2017-01-13 21:12:22 +01:00
Chris Cacciatore
66b30f0c7a
Added 'any' to --list-opt-steps.
2016-12-15 09:06:15 -08:00
jede
252e4afb9c
Adding files for telemon30
2016-12-14 21:22:10 +01:00
Peter Ferrie
8a08413263
fix build break on da65
2016-12-03 20:54:14 -08:00
Alan Cox
e4aee2ba34
cc65: remove un-needed logic from octal parsing
...
We no longer need the extra error handling logic for octal parsing so simplify
it as requested by Greg King.
Signed-off-by: Alan Cox <etchedpixels@gmail.com>
2016-11-20 18:02:45 +00:00
Alan Cox
6ee1fd2a67
scanner: Correct handling of \0101
...
The C language has this oddity that octal constants are 3 bytes so the sequence
"\0101" is two bytes and well defined by the langage. cc65 currently misparses
this as a 1 byte octal code. Add a count to fix this.
Signed-off-by: Alan Cox <etchedpixels@gmail.com>
2016-11-19 13:02:19 +00:00
Sven Oliver Moll
2d76d0a657
da65: 4510 support
...
- cleaned up unnecessary static function
- adjusted table formatting
2016-09-23 13:10:38 +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
ae3f9bbd77
Added assembler pseudo commands .P4510 and .IFP4510 together with docs and testcase
2016-09-07 19:21:24 +02:00
Christian Groessler
3531bcbf3e
Fix some typos.
2016-09-06 15:13:44 +02:00
Greg King
4b2e3be2fc
Fixed some bugs in da65's HuC6280 section.
2016-09-02 14:24:29 -04:00
Oliver Schmidt
9c38521ea8
Merge pull request #343 from SvOlli/release
...
Add 4510 support for C65/C64DX
2016-08-31 22:05:49 +02:00
Sven Oliver Moll
48f64de720
4510 support: yet another round up little updates
2016-08-31 20:18:54 +02:00
Sven Oliver Moll
4384603eeb
4510 support: added some other small improvements:
...
- fixed typo in doc/ca65.sgml
- Greg found a way to get rid of one extra opcode handling in total
2016-08-30 22:58:40 +02:00
Sven Oliver Moll
91f8e09bcc
4510 support: fixed some cosmetical stuff and documentation
2016-08-29 23:29:31 +02:00
Sven Oliver Moll
0538184699
Add 4510 support for C65/C64DX
2016-08-29 10:45:18 +02:00
Greg King
1dee57bf1f
Made cc65 not warn us when we change character code 0x00 back to itself.
2016-08-26 08:08:44 -04:00
Chris Cacciatore
e9295b2a98
Updated comment regarding curly braces.
2016-08-20 09:42:29 -07: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
3bd3fd8749
Removed check for LCURLY in switch statements.
2016-08-15 11:03:02 -07:00
Chris Cacciatore
bad8412131
All programs print version and exit successfully.
...
* All programs are now using the ProgName variable as well.
2016-08-12 08:54:41 -07:00
Chris Cacciatore
f9482a1b72
Fixed test negation. ( #329 )
...
Fixed test negation.
2016-08-09 15:46:51 -04:00
Oliver Schmidt
d90dff5861
Merge pull request #328 from cacciatc/print-sym-name-incompatible-ptr-types
...
Reporting sym name for incompatible pointer types.
2016-08-05 13:31:34 +02:00
Greg King
33b1d82791
Added the WDC65c02S WAI and STP mnemonics to the disassembler.
2016-08-02 16:38:39 -04:00
Chris Cacciatore
9accf983e1
Reporting sym name for incompatible pointer types.
2016-08-02 11:31:09 -07:00
David M. Lloyd
8f0146f14a
Add missing WDC instructions
2016-07-28 11:55:25 -05:00
Christian Groessler
85d755f214
fix indentation
2016-07-05 17:10:10 +02:00
Christian Groessler
97b517a892
sim65: add command line parameter to print number of CPU cycles at exit
2016-07-05 17:07:39 +02:00
Greg King
a6eb7d0763
Fixed how ca65 handles some debug info from cc65.
...
ca65 used to claim that an assembler error/warning was found on a C code line; and, that an Assembly line is only indirectly related to it.
Now, ca65 says that the Assembly line has the problem; and, that the Assembly line was produced from the C line.
2016-07-03 07:07:09 -04:00
Greg King
90b2f5aff8
Fixed some code that adjusts an index after a deletion from a collection.
2016-07-02 10:26:33 -04:00
Greg King
573381a340
Allowed character code zero to be remapped with other character codes.
2016-06-11 06:43:19 -04:00
Oliver Schmidt
6f0b57fe51
Added chrcvt65 to the Visual Studio project.
2016-06-03 11:37:15 +02:00
Oliver Schmidt
8dd003d2b3
Added --print-target-path option.
...
If cc65 is installed and used as designed there's no need whatsoever for CC65_HOME (both on *IX and Windows) from the perspective of the cc65 binaries. If the user however has to access files from the 'target' directory thenhe ends up with some assumption on the cc65 installation path nevertheless :-(
In order to avoid this I added the --print-target-path option. It "exports" the logic used by the cc65 binaries to locate their files to the user thus allowing him to leverage the same logic to locate the target files in his build scripts / Makefiles.
2016-06-03 11:08:53 +02:00
Lauri Kasanen
8951e74ba7
ld65: Be more verbose in token errors
2016-05-27 20:03:58 +03:00
Greg King
8d5717b57a
Small optimization of some cc65-generated loops.
...
"bne" means also branch-on-not-zero. Therefore, this optimization doesn't put a compare-to-zero between an increment and a "bne".
2016-05-24 15:52:12 -04:00
Greg King
2c7ccca210
Added the optional C keyword "volatile" to the __asm__ statement grammar.
...
It prevents the statement's Assembly code from being optimized (e.g., moved or removed). Optimization is disabled for that statement's entire function (other functions aren't affected).
2016-04-22 11:33:52 -04:00
Oliver Schmidt
62c2177599
Merge pull request #283 from polluks/sp65
...
Fixed CPU definition of Lynx.
2016-04-14 11:28:25 +02:00
Polluks
b14021e9ac
Fixed CPU definition of Lynx. Removed nonsense target vc20.
2016-04-12 23:58:30 +02:00
Oliver Schmidt
e809d6bf0d
Merge pull request #281 from polluks/sp65
...
sp65: A forgotten option. Empty arguments are not silent anymore.
2016-04-10 21:13:02 +02:00
KORISNIK
7f06405bdb
A forgotten option. Empty arguments are not silent anymore.
2016-04-10 02:21:36 +02:00
Greg King
fac246c799
Moved a warning message, about misaligned segments, to a configuration function.
...
It used to be shown only if the segment was written into a binary file. Now, it's shown for all badly-aligned segments.
2016-03-29 05:40:12 -04:00
Oliver Schmidt
8b685763d4
Renamed chrcvt to chrcvt65 and added it to the build.
...
The /Makefile presumes that all binaries are are named *65 so chrcvt had to be renamed in order to be added to the build.
2016-03-27 19:09:00 +02:00
Oliver Schmidt
ab1600b346
Merge pull request #269 from jbrandwood/squarebracket
...
New ".feature" to use brackets instead of parens for 6502 indirect addressing.
2016-03-03 09:07:21 +01:00
mrdudz
0dc85268c4
fix merge fxxxup
2016-02-28 19:11:04 +01:00
Oliver Schmidt
54e09fdd03
Added basic frame for new target 'creativision'.
...
Kym Greenshields <kym.greenshields@gmail.com> has expressed interest
in contributing and maintaining support for the VTech CreatiVision system.
this resembles commit 8e6b8dd0af
from oliver
2016-02-28 19:05:40 +01:00
Bob Andrews
25f4482641
Merge pull request #238 from mrdudz/gamate
...
Bit Corporation 'Gamate' support
2016-02-27 18:44:26 +01:00
John Brandwood
d23db09f7f
Add optional feature to use brackets instead of parens for 6502 indirect addressing.
2016-02-25 12:40:31 -08:00
Greg King
7a39b85e30
Fixed how ca65's CONDES-type pseudo-instructions save line numbers (for error messages).
2016-01-15 17:18:09 -05:00
polluks
cb3700ef66
Changed stdout to stderr to separate sim65's output streams. Suggested doc edit.
2016-01-05 17:45:18 +01:00
Greg King
7e14dde07b
Fixed the cc65 code that handled an addition of a pointer to a 32-bit offset.
...
It didn't demote the offset to int because it looked at the pointer (instead of the offset) which already was 16 bits.
2015-12-31 17:41:48 -05:00
Greg King
3b303396bf
Made cc65 accept comparisons between pointers with different qualifiers (similarly to subtractions between pointers).
2015-12-29 04:18:17 -05:00
Oliver Schmidt
02e4b5bfe3
Merge pull request #249 from polluks/master
...
My first PR
2015-12-27 13:40:20 +01:00
polluks
11786b198e
Amiga support #192
2015-12-27 01:26:28 +01:00
Greg King
bdbf75372c
Added another op-code to the test pattern for a right-shift optimizer in cc65.
2015-12-14 11:50:43 -05:00
Greg King
651b1b40ec
Extended a signed char shift optimization, to handle shifts that are longer than 4 bits.
2015-12-13 17:10:31 -05:00
Greg King
4716083f3f
Fixed a signed char shift optimization so that it won't be used on signed int also.
...
(It would lose significant bits from the high byte.)
2015-12-13 17:04:43 -05:00
mrdudz
8a499fdf4e
fixup conio.c some more. also includes merge of upstream/master because git is retarded.
2015-12-02 00:13:32 +01:00
mrdudz
9fbf8a4299
conio and most other stuff working now
2015-11-29 01:14:59 +01:00
f
4dc4ea60ee
Implemented escaping of spaces in ca65 dependency files. Largely based on input.c from cc65 (WriteEscaped was copied verbatim).
2015-11-26 19:00:47 +02:00
mrdudz
88e7b5776a
some more fiddling
2015-11-22 19:02:47 +01:00
Greg King
3c8c62c6ab
Fixed the ca65 Assembly-code variable ".paramcount".
...
Fixed how it's described in the ca65 document.
2015-11-17 14:21:40 -05:00
mrdudz
60285097e3
initial import of the gamate stuff
2015-11-14 13:15:29 +01:00
Oliver Schmidt
202ad62419
Merge pull request #224 from greg-king5/ld65-segstart
...
Change the way that ld65 handles bad offset/start segment-attributes.
2015-10-24 17:12:49 +02:00
Marcus Rowe
25e0b157be
Fixed code style
2015-10-24 01:07:47 +10:00
Greg King
8e9bf4d419
Changed the way that ld65 handles bad offset/start segment attributes, and reports memory area overflows.
...
1. Offset/start attributes within a memory area are ignored after an overflow.
2. If a previous segment ends past an offset/start address, then that address is not used.
3. Short map files were generated for memory overflows; now, they are generated for bad offset/start addresses, too.
2015-10-22 19:24:08 -04:00
Marcus Rowe
67cd0c2197
Added .asize and .isize pseudo variables
...
These pseudo variables will return the size of the accumulator/index
in bits.
For the 65816 instruction set .ASIZE/.ISIZE will return either 8 or 16,
depending on the current size of the operand in immediate addressing
mode.
For all other CPU instruction sets, .ASIZE/.ISIZE will always return 8.
For example:
; Reverse Subtract with Accumulator
; A = memory - A
.macro rsb param
.if .asize = 8
eor #$ff
.else
eor #$ffff
.endif
sec
adc param
.endmacro
2015-10-20 09:30:25 +10:00
Greg King
ed2b8a1609
Fixed a warning message.
2015-09-25 02:31:17 -04:00
Oliver Schmidt
b2657ecef5
Merge pull request #177 from mrdudz/pcenginetarget
...
new target: PC Engine (TurboGrafx16)
2015-09-24 09:58:28 +02:00
Greg King
a555f121fd
Fixed the " til " typos.
2015-09-06 12:25:00 -04:00
mrdudz
d0a1dc73b8
Merge remote-tracking branch 'upstream/master' into pcenginetarget
2015-09-04 13:40:52 +02:00
Oliver Schmidt
8d5f6b89ae
Merge pull request #203 from greg-king5/multi-comments
...
Change multi-line C comments in files that were missed by a previous pull request.
2015-08-31 17:36:02 +02:00
Greg King
58e56ba24d
Changed multi-line C comments in files that I missed in commit 0390c34e88
.
2015-08-30 08:43:54 -04:00
Greg King
d280d2610e
Don't count the NULL (doh!).
2015-08-30 07:55:35 -04:00
Greg King
a132bc4b28
Fixed a comparison operator; so that the NULL at the end of argv[] is copied by InitCmdLine().
...
Most POSIX function libraries hid that long-time bug by putting zeroes in their dynamic RAM; but, MinGW's library doesn't do it. Therefore, a command like
cl65 foo.c -l
would crash with a "Segmentation fault" -- it should give a nice error message about "-l"; and, quit neatly.
2015-08-30 05:16:38 -04:00
Greg King
6032849e60
Added warning diagnostics for conflicts between extern/public and static declarations.
2015-08-10 13:39:17 -04:00
Greg King
4e9842ef33
Stopped extern declarations from changing previous static, but otherwise identical, declarations.
2015-08-09 06:27:05 -04:00
Greg King
d36f31dcff
Improved the format of the global symbols' lists of flags, in cc65's debugging output.
2015-08-08 22:04:38 -04:00
JT
cacc5e2ace
Style again
2015-07-20 19:16:48 -04:00
JT
10579d0421
Fix style
2015-07-20 19:12:30 -04:00
JT
c3d083fe33
Fix bug #182
2015-07-20 18:55:25 -04:00
mrdudz
0e29a0993f
Merge remote-tracking branch 'upstream/master' into pcenginetarget
2015-07-20 18:42:04 +02:00
JT
b79687da2b
Fix base 10 bug (ca65 allows 'a' or 'A' in base10 value)
2015-07-19 18:56:42 -04:00
mrdudz
21d7729ad1
Merge remote-tracking branch 'upstream/master' into pcenginetarget
2015-07-16 16:46:24 +02:00
Oliver Schmidt
d3eebc8fcf
Merge branch 'pointer' of https://github.com/mrdudz/cc65 into mrdudz-pointer
2015-07-15 12:24:09 +02:00
Oliver Schmidt
a79b17515e
Merge pull request #158 from Movax12/definedmacro
...
Added .DEFINEDMACRO psuedo function
2015-07-12 13:32:03 +02:00
JT
55adf03bdf
Move FuncIsMnemonic
2015-07-11 19:09:42 -04:00
mrdudz
877fd532c2
Merge remote-tracking branch 'upstream/master' into pcenginetarget
2015-07-11 13:05:26 +02:00
mrdudz
6ab197f364
patch from Uz that makes some illegal operations on pointers error out
2015-07-10 14:27:49 +02:00
Greg King
8189339e7d
Added special-case compiler code that handles a pointer-to-array dereference.
...
The type needs to change (to array); but, the address shouldn't be changed -- it already points to the first element.
Based on a bug analysis by Daniel Serpell.
2015-07-01 06:55:57 -04:00
JT
e7fca18798
Added .DEFINEDMACRO psuedo function
...
Fixed typo/fomatting
Formatting fix
Refactor the code to test for a macro
Remove .FEATURE requirement for .DEFINEDMACRO
2015-06-27 01:39:11 -04:00
Oliver Schmidt
d0e0b98b43
Revert "Equality problem (Ullrich von Bassewitz)".
...
Uz classifies his own fix as broken:
http://www.cc65.org/mailarchive/2015-01/11721.html
Although the original issue fixed seemed rather significant looking
back now the regression caused by the (broken) fix seems even more
significant :-(
(reverted from commit 55815ea10c
)
======================================================================
Equality problem (Ullrich von Bassewitz)
Neil Stockbridge reported a problem with equality comparisons on
cc65.org's mailing list:
http://www.cc65.org/mailarchive/2014-10/11680.html
Uz provided a fix for it:
http://www.cc65.org/mailarchive/2014-10/11683.html
This pull request ask to add the fix to cc65 on github.
2015-06-27 01:09:20 +02:00
Oliver Schmidt
8bdbc00ba3
Bumped version.
...
As suggested the incompatibility resulting form changing the default calling convention makes a new version appropriate - from user perspective.
2015-06-25 09:23:27 +02:00
Oliver Schmidt
a13284a792
Merge pull request #160 from Movax12/definedinstr
...
.DEFINEDINSTR
2015-06-04 22:05:00 +02:00
Oliver Schmidt
fe023a1218
Merge pull request #151 from greg-king5/fastcall
...
Make __fastcall__ be the default calling convention.
2015-05-26 22:39:33 +02:00
Greg King
bbb6f89731
Made cc65 properly test calling conventions when it compares forward declarations to function definitions.
2015-05-24 18:31:50 -04:00
Greg King
e72132c8ae
Made cc65 properly test variadic-function pointer assignments.
...
Improved some error messages.
2015-05-24 08:32:15 -04:00
JT
63325a90d1
Added needed changes to pseudo.c
2015-05-19 20:45:49 -04:00
JT
1e3234f370
changed name of function to .ISMNEMONIC, small fixes
2015-05-19 19:50:51 -04:00
JT
9ee5adc190
Remove .FEATURE requirement and add documentation
2015-05-19 00:06:12 -04:00
Christian Groessler
41d19074e7
Fix verbose symbol dumping in ca65.
2015-05-16 05:20:15 +02:00
JT
5ed3a1a6dc
Added pseudo function .DEFINEDINSTR
2015-05-12 19:28:57 -04:00
Greg King
0bb3bafb3e
Made cc65 catch an assignment of a function pointer to a pointer with a different calling convention.
2015-05-12 04:15:00 -04:00
Greg King
8743e9911d
Added a command-line option to compile a program, with __cdecl__ as the default calling convention.
2015-04-22 09:59:23 -04:00
JT
ffa52863b3
Small changes to coding style and to ca65 documentation for .ADDRSIZE
2015-04-21 16:09:01 -04:00
JT
dfddf8f9d2
Improved on funciton .ADDRSIZE. Conform to coding style.
2015-04-20 17:20:54 -04:00
JT
c6f45a338c
Added function .ADDRSIZE to ca65
2015-04-19 23:21:56 -04:00
Greg King
2842b68a04
Reverted one of the changes in how function prototypes look, in cc65's assembly output.
2015-03-19 06:27:25 -04:00
Greg King
b452bdc5e4
Catch fastcall pointers to variadic functions.
2015-03-13 12:18:43 -04:00
Greg King
a798b1d648
Made __fastcall__ be the default calling convention for non-variadic functions.
2015-03-10 05:53:52 -04:00