uz
1df46aed11
Fixed a memory leak.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5108 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-02 16:16:37 +00:00
uz
7d69135896
Fixed another memory leak.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5107 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-02 15:00:33 +00:00
uz
c25694f54d
Fixed another memory leak.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5106 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-02 14:49:33 +00:00
uz
1f95085ffe
Read scopes from the object files.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5103 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-01 20:54:42 +00:00
uz
67692e51f1
Fixed a rather large memory leak.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5102 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-01 20:49:59 +00:00
uz
2b32c14661
Preparations for adding scopes.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5100 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-31 21:32:46 +00:00
uz
0dbe4454a5
There is no longer a scope type SCOPE_PROC.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5099 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-31 17:11:10 +00:00
uz
97cb025964
Remove SCOPE_PROC. It's a .SCOPE with an owner symbol.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5098 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-31 17:10:33 +00:00
uz
72a13e1a21
Write scopes in id order, so we don't need to write out the id itself. Add the
...
size of the scope to the output file and a flag bit that tells us if the scope
has a size.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5097 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-31 15:37:51 +00:00
uz
8ec6f66bf0
Output the scope type in readable format.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5096 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-31 14:01:27 +00:00
uz
4191eb7718
Move scope type definitions to common/
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5095 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-31 14:01:11 +00:00
uz
dd3a841b1a
Add the parent scope/symbol to the debug symbol attributes.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5094 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-31 13:28:54 +00:00
uz
4ad597ff39
Allow to dump scope information.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5092 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-31 12:25:44 +00:00
uz
359e119a6b
Write scope information to the object file.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5091 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-31 12:25:02 +00:00
uz
928f675e4b
Small change in the vector font format.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5088 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-17 17:15:54 +00:00
uz
e33bd9a44c
Check for end-of-data while reading the vector definitions. Other small
...
changes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5087 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-17 16:46:06 +00:00
uz
fea0ac67c3
Parse #pragma align() (does nothing currently).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5082 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-12 19:35:49 +00:00
uz
bf6b0b9eb7
Check for macros within .STRUCT/.ENUM.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5076 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-08 09:55:17 +00:00
uz
241afdc738
Don't search twice for a macro.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5075 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-08 09:22:26 +00:00
uz
d18fd210aa
The line counter got confused for lines with more than 256 chars. Removed the
...
restriction alltogether, so lines with arbitrary length should be handled
correctly. Not that it is of much use for an assembler, but this has really
been a somewhat ancient limitation.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5072 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-07 20:07:29 +00:00
uz
a08222048a
Initialize variables to avoid compiler warnings.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5070 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-03 12:24:54 +00:00
uz
3f2f3baa27
Removed an unused function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5066 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-17 19:58:53 +00:00
uz
44b829cc01
Read and allow access to the segment for (segment based) symbols.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5063 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-14 21:18:44 +00:00
uz
c768fc7373
For segment based symbols, add information about the segment to the debug info.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5062 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-14 19:25:50 +00:00
uz
82bab7fb89
Merge duplicate file entries (same name, size and timestamp).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5061 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-14 18:26:22 +00:00
uz
57fb2571a1
Accept a file attribute for symbols but don't do anything with it for now.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5060 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-14 16:45:48 +00:00
uz
244ca4daf7
Allow to leave of the end address of a range if it is identical to the start
...
address. Currently unused.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5059 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-13 21:43:26 +00:00
uz
51ccf2d576
Accept a segment attribute for symbols, but don't do anything with it for now.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5058 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-13 21:16:40 +00:00
uz
795d9e1a1c
Mark the symbol that is the name of a scope with the size of that scope
...
(previously only the scope itself had that size).
Pass the size of symbols through the object file to the linker. Bump the
object file version and adjust object file reading tools (od65, ar65) to this
change.
Read the size in the linker and output it in the debug info.
Bump the minor version number of the debug info. Read the size and allow to
access it via the API. Do better version checking for the debug info and try
to be smarter when encountering unknown keywords to improve support for newer
minor versions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5057 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-13 18:43:50 +00:00
uz
79fad36b41
Use slightly optimized character translation settings for the CBM machines.
...
Suggested by Greg King.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5054 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-13 12:13:08 +00:00
uz
00f57bbc87
Fix/workaround for a problem with nested macros.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5053 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-13 10:03:26 +00:00
uz
4709e8251e
Fixed the same problem as in the last change for the final token of .define
...
style macros.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5052 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-13 08:55:48 +00:00
uz
ff9841d7b5
Fix wrong line info sometimes output for macros: When macro parameters were
...
expanded, the line info came from the parameter replacement list, but was
marked as coming from the macro. Now parameter replacement lists don't change
the line info.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5051 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-13 08:53:41 +00:00
uz
d1426aaa43
Finished implemenation of commands to delete macros. Added the new commands to
...
the docs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5050 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-12 21:29:07 +00:00
uz
eaa45269e7
First implementation of .UNDEF for deleting a macro.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5049 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-11 22:18:48 +00:00
uz
279ad05150
Added routines to remove an entry from the hash table.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5048 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-11 18:17:54 +00:00
uz
ce0d51d55a
Fixed an error: An .ELSE without an .IF caused a null pointer dereference.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5047 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-09 11:27:33 +00:00
uz
acb1699017
Improve the performance of the routine that determines the overall .IF
...
condition.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5046 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-09 11:23:37 +00:00
uz
15fc094c7a
Add recursive scanning for .define style macros: Replacement using .define is
...
done not only when the macro is parsed, but also when it is expanded.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5045 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-08 21:09:40 +00:00
uz
7c926ada70
Fixed a problem: Removing duplicate file entries (entries with the same name)
...
isn't allowed, since these entries may be referenced. Since we must be able to
handle duplicate names anyway (they may be old/new versions of one file), we
can also have duplicates in general. Cleanup the list using time stamps and
sizes before returning it to the caller.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5044 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-08 20:53:29 +00:00
uz
c65292b78d
Fixed an error: The amount of fill bytes for a section was declared as an
...
unsigned char, so larger values got truncated making alignments larger than
$100 unreliable.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5042 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-08 18:33:34 +00:00
uz
c17816fafd
Added more debug output.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5041 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-08 18:28:21 +00:00
uz
8cb4788e13
Fix a compile problem with the Watcom compiler.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5040 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-08 06:51:05 +00:00
uz
5db7604eff
Don't allow too many nested macro expansions. Until now, it was possible to
...
send the assembler in an endless loop by a recursive macro without end
condition or a set of macros that called each other.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5038 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-07 21:17:35 +00:00
uz
f8089b98c1
Limit the number of additional line infos printed in case of an error or
...
warning.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5037 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-07 21:15:16 +00:00
uz
7db7f34d91
Fix an error with .ELSEIF: The condition must only be evaluated if the .ELSEIF
...
is inside an .IF which had a TRUE condition.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5036 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-07 17:16:18 +00:00
uz
f0a6653bd1
Added a comment about the fix explaining why the given order of calls is necessary.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5035 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-05 14:47:28 +00:00
uz
46f1285208
Fixed an error in macro expansion: If the first token after the macro name was
...
a .define style macro, the assembler run into an internal error, because the
expansion of the second macro was started before the first one
git-svn-id: svn://svn.cc65.org/cc65/trunk@5034 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-05 14:45:37 +00:00
uz
6a48359d23
Fix a problem with conditional assembly: The scanner has to be switched into
...
raw token mode when skipping a section of input because otherwise pseudo
functions may trigger errors.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5033 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-05 14:28:56 +00:00
uz
6a56201046
Remove declarations for stuff that has never been there.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5032 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-05 14:24:51 +00:00