izydorst
8c5da1ecc1
added LOWCODE and STARTUP segments
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1583 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 18:46:55 +00:00
cuz
2b98a26cac
Add STARTUP and LOWCODE segments
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1582 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 17:43:47 +00:00
cuz
4dd4e76a88
Added a scope argument to the SymIsDef and SymIsDef functions, so it is
...
possible to request information for a specific scope.
Add an optional scope argument to the .DEFINED builtin function.
Change the long branch macros to look for symbols in local scope.
git-svn-id: svn://svn.cc65.org/cc65/trunk@1574 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 01:45:00 +00:00
cuz
08b095c604
Reversed the last change because it did not work
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1566 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 00:33:29 +00:00
cuz
4f9f06c20a
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1565 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-21 23:28:32 +00:00
cuz
e41c0adbb2
New target c16
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1563 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-21 21:22:26 +00:00
cuz
c80596458c
Renamed NMI segment to LOWCODE
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1562 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-21 21:15:19 +00:00
cuz
f205950f54
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1561 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-21 21:10:10 +00:00
cuz
42463beaee
Rewrote code for better readability
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1560 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-21 20:46:16 +00:00
cuz
0ba44bb2d4
Small but significant shift optimization
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1559 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-21 01:08:14 +00:00
cuz
cfbe5ec5b4
Commiting some old changes
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1551 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-20 17:04:29 +00:00
cuz
ead7de2b42
Ignore module.inc
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1550 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-20 17:03:14 +00:00
cuz
e688abde1f
Moved the zero page locations for the PET machines
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1547 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-20 01:34:56 +00:00
cuz
8ef3447248
Fixed an error in struct compare. For one, the behaviour was not standard
...
compliant, because struct tags were not compare, second, this lead to an
endless loop of recursive calls for a special case of wrong C code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@1523 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-15 13:19:46 +00:00
cuz
ca1386e9d4
Removed unused code
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1522 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-14 22:52:29 +00:00
cuz
b1cc64faaa
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1521 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-14 22:52:10 +00:00
cuz
57d6c2f51e
New function ReplaceType
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1520 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-14 22:51:59 +00:00
cuz
c6abc5d9d4
Make small functions inline
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1519 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-14 22:51:39 +00:00
cuz
dadd136ae1
Use constants for datatype sizes
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1480 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-02 12:39:10 +00:00
cuz
8810e38bb7
Move the assignment parser into a separate module.
...
When assigning structures, copy them using the primary register when the
size is 1, 2, or 4.
When assigning structures, allow structures by value when the size is 1,
2, or 4. These structures are expected to be in the primary register. The
only case when this can happen is by return from function, so this change
makes div() work.
git-svn-id: svn://svn.cc65.org/cc65/trunk@1477 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-01 21:27:31 +00:00
cuz
5548b6fd56
Work on better type casts - not yet finished
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1476 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-01 15:16:16 +00:00
cuz
571ea849d9
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1475 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-29 17:53:17 +00:00
cuz
914b2a7e37
New store optimization.
...
New functions RegValIsKnown and RegValIsUnknown should be used instead of
direct compares against zero, so we can change the "unknown" representation
one day.
git-svn-id: svn://svn.cc65.org/cc65/trunk@1466 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-17 21:37:01 +00:00
cuz
4da19658c2
Fixed error "variable has unknown size" for a local array where the size
...
was not given (introduced by last change).
git-svn-id: svn://svn.cc65.org/cc65/trunk@1465 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-17 21:14:40 +00:00
cuz
49fd7134e5
Fixed a buffer overflow (report from Christian Groessler).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1464 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-14 16:23:26 +00:00
cuz
83fb2c8ab4
Allow initialization of local variables of compound type
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1458 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-10 21:15:24 +00:00
cuz
dcdaf8fd49
Restructured DeclareLocals()
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1457 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-10 20:24:16 +00:00
cuz
872c2b4453
Made a lot of short functions inline
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1456 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-10 20:23:41 +00:00
cuz
2e5fa9575c
Add info about more functions
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1455 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-09 19:39:45 +00:00
cuz
13642fc6c4
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1454 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-09 19:39:36 +00:00
cuz
e68b8160ed
Added more size optimizations, separate module
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1453 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-08 20:56:00 +00:00
cuz
3c31d063f7
New optimizer pass OptShift3.
...
Renamed CE_IsCall to CE_IsCallTo.
git-svn-id: svn://svn.cc65.org/cc65/trunk@1451 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-06 20:54:01 +00:00
cuz
a0496ca53d
Fixed an omission in AdjustStackOffset. Use CS_IsBasicBlock in OptStackOps.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1450 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-06 19:03:12 +00:00
cuz
9a62c92489
Improved implementation of OptPushPop
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1449 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-06 19:01:46 +00:00
cuz
1647c6783f
New functions CS_ResetMarks, CS_ResetAllMarks and CS_IsBasicBlock.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1448 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-06 19:01:16 +00:00
cuz
6047165325
Fixed problem with earlier change
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1445 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-05 22:55:42 +00:00
cuz
e9da20f961
Fix codesize setting
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1444 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-05 22:37:36 +00:00
cuz
7ce4196829
New/changed optimizations
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1443 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-05 20:32:31 +00:00
cuz
bc1085997d
Minor improvement of optimizations
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1440 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-04 19:27:15 +00:00
cuz
89e8aae7d7
Increase the size of some buffers, so we are at the assembler level able to
...
handle any identifiers passed from the C level.
git-svn-id: svn://svn.cc65.org/cc65/trunk@1439 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-04 17:54:46 +00:00
cuz
29c217b4b2
Use a #define instead of numeric value
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1429 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-03 11:20:45 +00:00
cuz
4389b0c438
Fixed a small bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1426 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-03 09:00:57 +00:00
cuz
f5243e514c
Fixed optimizer bug in or/xor
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1425 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-02 22:21:42 +00:00
cuz
b4326d1930
Place all declarations that are local to a function into the local function
...
scope. Apart from some other advantages, this works around a bug where having
an external identifier in global scope and using an "extern" declaration for
exactly the same identifier in a function did not work, because the assembler
refused to export and import one and the same identifier. Since the import
now imports into local scope, both identifiers are distinct for the assembler
and the (valid) C code works.
git-svn-id: svn://svn.cc65.org/cc65/trunk@1424 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-02 13:00:04 +00:00
cuz
980c17daef
Allow more flexible numeric flag pragma arguments
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1423 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-01 08:13:04 +00:00
cuz
65fa99f65e
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1422 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-30 21:58:39 +00:00
cuz
1f20202239
Ignore also cr's on input. This allows to compile sources with DOS/Windows
...
line separators on unix systems.
git-svn-id: svn://svn.cc65.org/cc65/trunk@1419 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-30 19:32:33 +00:00
cuz
15d2c8fc83
Removed debug code
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1418 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-30 19:05:37 +00:00
cuz
d92676ef60
Add SB_GetNumber to scanstrbuf.c.
...
Rewrite of CharMapPragma in pragma.c
Fixed bug in scanner.c: Invalid octal constants containing the numbers 8
and 9 were accepted by the compiler.
Moved SignExtendChar from scanner.c to datatype.c.
git-svn-id: svn://svn.cc65.org/cc65/trunk@1416 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-30 18:46:08 +00:00
cuz
2df5db1f04
Call StrBuf destructors
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1415 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-29 21:15:02 +00:00