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
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
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
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
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
uz
9c53f8879c
Fixed a problem in GetSymParentScope, where an error in the assembler input
...
somewhere before could lead to an invalid memory access.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5031 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-31 14:51:21 +00:00
uz
9c267dab89
The terminating zero was missing in several places where a string buffer was
...
copied to CurTok.SVal.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5030 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-30 21:56:27 +00:00
uz
f2517269ad
Fix problem with output of sprintf when %s format spec is used.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5029 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-30 21:37:34 +00:00
uz
a6389e6406
The assembler options -l and --listing will now take the name of the listing
...
file as an argument.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4967 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-02-06 20:10:19 +00:00
uz
299a0ed4cd
Pass type of line info through the object files.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4957 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-29 22:16:03 +00:00
uz
88e6b86427
Changed text of notification.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4952 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-29 20:30:38 +00:00
uz
f0a0095c25
Create separate line infos for macros and .repeat statements and other token
...
lists. These are also output as diagnostic in case of an error.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4951 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-29 20:24:44 +00:00
uz
1072edb0d8
Use line infos to output more verbose error and warning messages whenever
...
possible.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4950 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-29 18:43:36 +00:00
uz
9023d0c6f2
On errors and warnings, output additional information using extra line info
...
supplied using the .dbg statements.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4937 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-27 22:25:32 +00:00
uz
036282aced
Fix forgotten stuff from last change.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4936 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-27 22:23:01 +00:00
uz
81555b223d
More lineinfo usage.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4935 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-27 21:40:37 +00:00
uz
713c019a24
Save a few bytes when writing file list entries to the object file.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4929 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-27 16:40:48 +00:00
uz
b2b1edc4ab
Actually generate basic line info.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4928 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-27 16:39:30 +00:00
uz
5b79d7e685
Convert imports, exports and debug symbols to use and write line infos instead
...
of embedded file positions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4918 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-25 16:27:17 +00:00
uz
f3487b7c0f
No need to search for the correct line info entry, the source position is
...
always in slot zero.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4917 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-25 16:26:50 +00:00
uz
06e3152035
Started to generalize line info handling. Remove separate FilePos fields and
...
try to manage all and everything with LineInfos.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4914 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-24 22:38:22 +00:00
uz
3b59a8ca6f
Mark tokens with the file position from where they're read. Restore this
...
position for tokens read from a token list. This means that line info does
now show the actual point of definition. This is an improvement but needs to
be refined.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4911 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-20 20:54:30 +00:00
uz
ddb7296b6c
Move all attributes and other information that is attached to a token into a
...
structure named Token.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4910 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-16 16:05:43 +00:00
uz
dbfae85f54
Renamed the Token enumeration to token_t.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4909 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-16 14:51:13 +00:00
uz
1d36b7f1b3
Add missing braces in macro definition. No error but could cause one.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4908 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-16 14:19:58 +00:00
uz
e2485f100e
Removed two defines that are no longer in use.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4907 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-16 14:18:03 +00:00
uz
839e2c4202
Added new .FATAL pseudo op.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4903 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-09 11:00:22 +00:00
uz
d60c627cb6
When replaying a token list, be sure to zero terminate the string attribute of
...
a token.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4900 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-05 10:47:32 +00:00
uz
78c2b66e58
When collecting tokens to be repeated inside of a .REPEAT section, do this in
...
raw token mode, otherwise stuff is already partially evaluated.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4897 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-04 19:17:20 +00:00
uz
3f24c88355
SegNum has been renamed to SecNum.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4845 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-10 10:22:55 +00:00
uz
6c0a9c0438
Patch to correct the linkorder in the make files to make the --as-needed
...
ldflag work. By Mario Fetka.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4838 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-07 11:34:51 +00:00
uz
017bdf970a
Include information about the type of the symbol in the flags written to the
...
object file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4813 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-17 20:54:02 +00:00
uz
112ae0e3db
Renamed the defines in symdefs.h to something more meaningful. They were named
...
EXP_xxx for historic reasons, but SYM_ does make much more sense now.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4812 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-17 20:47:27 +00:00
uz
d62af9de80
Debug symbolid for each symbol that goes into the debug symbol output.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4811 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-17 20:11:27 +00:00
uz
b2b2a05a46
SF_INDEXED is no longer needed.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4810 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-17 20:02:30 +00:00
uz
c921c409e8
Rename symbol index => import id because that's what it really is.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4809 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-17 20:01:54 +00:00
uz
e55b19fa8b
Maintain some additional information for scopes. Write a dummy scope section
...
into the object file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4808 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-17 16:58:41 +00:00