1
0
mirror of https://github.com/cc65/cc65.git synced 2024-07-15 10:29:00 +00:00
Commit Graph

2307 Commits

Author SHA1 Message Date
uz
1e0ab407cd Added the LineInfo count to the info line of the debug info file. This allows
the debug info module to reduce memory usage.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5265 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-22 21:52:40 +00:00
uz
3b61ee2f5a Track types, parse the extended debug info format with "type" lines.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5264 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-22 19:37:10 +00:00
uz
374b106b06 Maintain the types as separate indexed items in the debug info file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5263 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-22 18:22:45 +00:00
uz
b064002266 Added a tpool module that implements a global pool for generic types, so we
can merge duplicate ones and assign them global ids.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5262 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-22 17:53:00 +00:00
uz
fda7934e68 Do not resolve the lists of spans for LineInfos and Scopes, but keep them as
ids. This way, we can delay loading spans until we know that we definitely
need an object file. 
Did some restructuring for writing of span lists to the debug info file.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5261 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-22 17:36:19 +00:00
uz
ecfba0c9b0 Fix a problem with the generated array sizes for span types (they were wrong).
As an optimization, don't create an array for just a few elements.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5260 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 20:50:39 +00:00
uz
4e43a293c6 Parse (but ignore) type information for spans.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5259 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 20:18:27 +00:00
uz
660df16d08 Write out type information for spans to the debug info file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5258 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 20:18:09 +00:00
uz
b88dc209fc Change prototype for GT_AsString to make it easier usable.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5257 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 20:17:43 +00:00
uz
6e47980eb7 Generate span types for .ADDR, .BYTE, .DBYT, .FARADDR and .WORD.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5256 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 20:17:22 +00:00
uz
6583320b79 Added GT_AsString().
git-svn-id: svn://svn.cc65.org/cc65/trunk@5255 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 20:04:27 +00:00
uz
cc486bb4f5 Don't remember types for spans if no debug info is requested.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5254 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 19:46:47 +00:00
uz
913db79017 Add an optional type to a span.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5253 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 19:44:02 +00:00
uz
f2de523b5d The string with index zero is the first string in the string pool.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5252 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 19:35:51 +00:00
uz
ac2b837285 Some work on the generic type module.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5251 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 19:27:03 +00:00
uz
358ccf236e Write spans out in a separate object file section. This allows to merge
duplicate spans in an object file and more extensions to come.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5250 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 19:08:23 +00:00
uz
37ac033370 Added CollReplaceExpand.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5249 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 17:30:25 +00:00
uz
d0d550be66 Fix errors in tracking the number of items in the table. Added function
HT_GetCount to retrieve the number of items.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5248 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 16:56:40 +00:00
uz
ae98f4bcd8 Fix a problem with macro expansion count in line infos for macros.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5247 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 16:23:38 +00:00
uz
6cdac5eb4c Fixed a bug in SP_Add.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5246 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 16:08:52 +00:00
uz
7fe0958b91 The ...Entry functions from the hashtab module have been renamed.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5245 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 13:35:36 +00:00
uz
58ffb47250 The ..Entry functions from the hashtable module have been renamed.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5244 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 13:33:06 +00:00
uz
96ce71ad5f Removed the functions that work on HashNodes since they are mostly useless
now.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5243 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 13:31:30 +00:00
uz
77110021ab Implementation of StringPool has changed.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5242 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 13:21:11 +00:00
uz
4461988fd1 Implementation of SP_GetCount has been missing.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5241 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 13:20:48 +00:00
uz
bf889a1928 Implementation of StringPool has changed.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5240 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 13:16:14 +00:00
uz
e1a861f0a5 Use the hashtab to implement the string pool hash table.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5239 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 13:15:52 +00:00
uz
f3b49b57bd Add a gentype.c module that contains GT_FromStrBuf.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5238 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-20 22:13:58 +00:00
uz
85584fb404 Small change for better hash table distribution.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5237 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-20 21:53:22 +00:00
uz
ef412bc22c Added a new gentype module for generic (not language dependent) types.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5236 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-20 20:16:13 +00:00
uz
78551ba832 Read segment sizes as var, no longer as 32 bit values.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5235 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-19 20:58:14 +00:00
uz
6a01a3407a Read the segment size as var, not as 32 bit value.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5234 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-19 20:56:44 +00:00
uz
1e20489ee1 Renamed some stuff. Write out the segment size as var, not 32 bit.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5233 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-19 20:55:48 +00:00
uz
607aa871e6 Last fix was wrong. The problem wasn't in the struct code but in SymLeaveLevel
calling CloseSpans, which does not only close spans but might also add some,
in which case the scope became another size.
                                            


git-svn-id: svn://svn.cc65.org/cc65/trunk@5232 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-19 15:24:11 +00:00
uz
ce85b303c3 Fixed a bug: The size of a scope is now recorded for all scopes in
SymLeaveLevel. Doing so also in the code for .STRUCT/.UNION will try to enter
the .size symbol twice.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5231 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-19 15:06:51 +00:00
uz
7ee90fb21b Added cc65_line_byspan and cc65_scope_byspan.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5230 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-19 14:39:11 +00:00
uz
7fa197337b Add the number of attached lines and scopes to a span.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5229 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-19 14:31:03 +00:00
uz
bc0f3fd99b Removed some debug output.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5228 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-19 11:30:31 +00:00
uz
61f3e1dce3 Allow more space for symbol names.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5227 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-19 11:22:36 +00:00
uz
aff6d02c43 Remove CollConstAt. Let CollAt and CollAtUnchecked take const pointers to
collections. Use const pointers in many places. Some other cleanups.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5226 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-19 11:21:22 +00:00
uz
88774521a3 Use CollTransfer where possible.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5225 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-19 11:06:52 +00:00
uz
189a9bfb38 New function CollTransfer. Change CollAt and CollAtUnchecked to take a const
Collection pointer instead of just a Collection pointer. This makes more
sense, since the functions do not change the collection.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5224 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-19 11:01:01 +00:00
uz
307b8d88c3 Reenable optimizations.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5223 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-19 10:46:49 +00:00
uz
68db31c53b Changed data type used to store line numbers from unsigned long to unsigned.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5222 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-19 10:44:45 +00:00
uz
5f0e6dd7e9 Output all positions in a file for unresolved externals.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5221 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-19 10:40:11 +00:00
uz
c71d236da6 Enable optimizations.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5220 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-19 10:05:13 +00:00
uz
1527d26e91 Allow to display symbols and line infos for symbols.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5219 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-18 20:34:31 +00:00
uz
3a079ff332 Added cc65_line_bysymdef and cc65_line_bysymref.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5218 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-18 20:11:27 +00:00
uz
69ebab6064 Parse additional def and ref keywords for symbols.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5217 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-18 16:57:51 +00:00
uz
2a038ffef9 Output line info for symbol definition and references.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5216 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-18 16:55:53 +00:00
uz
1797235794 Read and manage additional line information for symbols.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5215 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-18 16:27:18 +00:00
uz
f8e5463278 Adapt to changed information in the object files.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5214 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-18 16:26:44 +00:00
uz
c52916f461 Remember where each symbol was defined and where it was referenced. Write this
information to the object file.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5213 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-18 16:25:58 +00:00
uz
2f9e7d2ca0 Add reference counting to line infos. This allows better tracking of the ones
that are actually used.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5212 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-18 14:36:38 +00:00
uz
bd233ac916 Decrease the minimum size of a collection.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5211 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-18 14:13:14 +00:00
uz
c9ddc44ebe Change HT_Walk so that it can optionally be used to delete nodes from the hash
table.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5210 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-18 13:05:21 +00:00
uz
862c0ba70e Don't use a separate Count field for the line info type.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5209 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-18 12:35:43 +00:00
uz
d3017665d2 Replace single linked list of sections in a segment by a collection.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5208 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-18 11:58:16 +00:00
uz
2abd77ffe5 Use correct syntax. The old did work but wasn't really right.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5207 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-18 11:57:57 +00:00
uz
11d46e93b2 Export NewSpan() - this will be needed later.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5206 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-18 11:57:17 +00:00
uz
4160505c59 Don't write out spans for line infos if no debug info is requested for the
object file.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5205 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-18 10:36:08 +00:00
uz
ec6acb8606 More changes to account for modules without debug info.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5204 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-18 10:26:13 +00:00
uz
0077e37182 If a symbol is an import, the corresponding export does only have a debug
symbol id if the module contains debug information.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5203 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-18 10:13:11 +00:00
uz
b76fc52c1b Added an OBJ_HAS_DBGINFO macro.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5202 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-18 10:08:56 +00:00
uz
e53f4fa163 Mark imports with a special type tag instead of relying on the export pointer
being valid, because the export may not be available if the module was
compiled without debug information.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5201 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-18 10:04:01 +00:00
uz
50adbf61f1 Mark imports using "type=imp".
git-svn-id: svn://svn.cc65.org/cc65/trunk@5200 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-18 09:56:53 +00:00
uz
ae0fcbf345 Track cheap local symbols. Reduce initial collection size to one. This causes
a small increase in allocations, but about 20% decrease in allocated memory.
Looks like many of the collections are rather small.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5199 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-17 21:34:26 +00:00
uz
6aae186f7f Added cc65_scope_byname.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5198 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-17 21:20:10 +00:00
uz
0d8e8a9533 Added cc65_symbol_byscope.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5197 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-17 19:12:59 +00:00
uz
0ec9ebbfaf Added cc65_childscopes_byid.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5196 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-17 19:00:34 +00:00
uz
5edd1f7017 Added several commands to display debug file items.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5195 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-17 16:27:34 +00:00
uz
115db59743 Added cc65_line_bysource
git-svn-id: svn://svn.cc65.org/cc65/trunk@5194 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-17 16:08:26 +00:00
uz
1d025a3230 Added cc65_line_byid.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5193 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-17 15:58:21 +00:00
uz
1c7e4b483e Shortened some of the function names.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5192 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-17 15:55:44 +00:00
uz
386100dade Renamed a struct member.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5191 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-17 15:50:53 +00:00
uz
9724ed5506 Added cc65_seginfo_byname.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5190 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-17 15:26:40 +00:00
uz
fa6b2e40fd Added cc65_get_scopelist. Added a few statistics field to the DbgInfo
structure.
          


git-svn-id: svn://svn.cc65.org/cc65/trunk@5189 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-17 15:18:22 +00:00
uz
771695577d Replaced the old dbgtest program by a debug info shell.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5188 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-16 22:37:01 +00:00
uz
7d7667f782 Handle imports correctly.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5187 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-16 14:25:18 +00:00
uz
3996725f44 Write imports out to the debug info file. Add the id of the corresponding
export.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5186 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-16 13:58:59 +00:00
uz
b7c4a4fe01 Write imports out as debug symbols.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5185 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-16 13:39:00 +00:00
uz
cc1326c6c2 Dump export and import ids.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5184 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-16 12:53:48 +00:00
uz
aa1a103154 Track export ids of debug symbols and write the to the object file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5183 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-16 12:52:56 +00:00
uz
63c53499be If a debug symbol is an import, write out the import id.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5182 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-16 12:33:19 +00:00
uz
1917591b94 Renamed variables for better readability.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5181 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-16 12:08:43 +00:00
uz
11be5d6261 Handle the new symbol flags correctly. Changed - among other things - the
data types of members in the management structures.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5180 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-16 11:50:27 +00:00
uz
7323035a89 Do also write the im-/export flags to the symbol flags in an object file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5179 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-16 11:37:19 +00:00
uz
2d23dffe06 Added flags for im- and export.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5178 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-16 11:34:46 +00:00
uz
3e653f6266 Many changes. Map spans instead of line infos into the address space. Quite
some API changes. The test program is almost useless and has to be replaced.
                                                                            


git-svn-id: svn://svn.cc65.org/cc65/trunk@5177 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-15 21:46:39 +00:00
uz
eadbb7dcb0 Remove CollFirst in favour of CollAt.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5176 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-15 17:57:26 +00:00
uz
8d8c676be2 Add cc65_idlist.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5175 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-15 17:42:43 +00:00
uz
51e918cdfe Track the main scope of modules.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5174 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-15 17:36:38 +00:00
uz
34d393a76f Fixed problems with the range check on 64 bit machines.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5173 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-15 17:25:49 +00:00
uz
aaa19a569d The line number is now of type unsigned.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5172 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-15 17:25:23 +00:00
uz
b097b49a4a Fixed even more problems with the range check.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5171 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-15 17:23:44 +00:00
uz
cd50385b72 Fixed a problem with the range check.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5170 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-15 17:19:05 +00:00
uz
d02c1cc417 Line number is now an unsigned
git-svn-id: svn://svn.cc65.org/cc65/trunk@5169 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-15 16:09:34 +00:00
uz
d758b39dfc Line number is now an unsigned.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5168 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-15 16:08:50 +00:00
uz
da307b9a13 Change the type of the line number from unsigned long to unsigned since the
tools won't run on a 16 bit platform anyway. And if so, line numbers limited
to 65535 are probably the least problem.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5167 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-15 16:08:15 +00:00
uz
6e32190cae A few measures to create slightly smaller object files.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5165 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-14 20:06:14 +00:00
uz
e7fe36399b Grow the line info collection as needed before actually adding items. This
reduces memory consumption.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5164 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-14 20:05:20 +00:00
uz
17e2276f38 Adapted to new line infos and spans as written to the object file by the
assembler.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5163 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-14 19:24:03 +00:00
uz
b8549f0af8 Complete redesign of line info generation. Uses spans instead of a fragment
list as before.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5162 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-14 19:23:16 +00:00
uz
e67c802193 Make the parameter for HT_GetKey const.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5161 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-14 19:21:44 +00:00
uz
27964254dc Adjust to recent changes in the hash modules.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5160 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-12 16:22:28 +00:00
uz
6b79f5bbb1 Do also remove the Owner pointer from the HashNode making it ~50% of its
original size.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5159 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-12 16:18:56 +00:00
uz
f571ec44ae Require that the hash node must be the first element of the structure to be
managed in a hash table. This gives smaller code and a ~25% size reduction of
the HashNode structure which might become an advantage if many elements are
hashed.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5158 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-12 16:13:10 +00:00
uz
762d4d9ea2 Grow the Span collection before adding spans for the segments. This means that
in most cases the colection will have the optimal size.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5157 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-12 16:10:34 +00:00
uz
b8d43cee42 Tracked rename of hashstr -> hashfunc.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5156 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-12 15:36:53 +00:00
uz
b8e68bed95 Renamed hashstr to hashfunc and added an integer hash function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5155 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-12 15:32:08 +00:00
uz
434c818d20 Fixed an error in the INFO line.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5154 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-11 21:58:12 +00:00
uz
54ffc25a53 Removed an unused function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5153 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-11 21:23:37 +00:00
uz
b4967d359f Output spans to the debug info file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5152 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-11 17:11:45 +00:00
uz
3e6f9a212b Accept the number of spans in the INFO line.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5151 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-11 17:04:29 +00:00
uz
9ecccaa69d More work on the implementation of spans.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5150 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-11 16:52:52 +00:00
uz
efc59ff27b Implement some span API functions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5149 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-10 22:17:41 +00:00
uz
d8feaf2e54 Started to add spans.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5148 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-10 21:17:45 +00:00
uz
ebfa369319 Postprocess module infos. Add new index for modules sorted by name.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5147 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-10 20:44:20 +00:00
uz
060b297a78 Renamed DoneCollection -> CollDone and InitCollection -> CollInit.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5146 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-10 14:20:45 +00:00
uz
9d2538f12b Postprocess file infos. New function cc65_sourceinfo_bymodule.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5145 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-10 14:08:18 +00:00
uz
d9a35e9652 Prepare the collection for storage of ids.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5144 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-10 13:32:31 +00:00
uz
07f795fa78 Postprocess scope infos. New function cc65_scope_bymodule.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5143 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-10 10:36:37 +00:00
uz
3e42ba1a87 Bump the version number. Fix line number counting. Resolve ids to pointers in
several places.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5142 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-10 10:13:31 +00:00
uz
604f74c5c2 Added processing of modules, libraries, etc. Many other changes for new debug
info format.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5141 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-09 19:11:38 +00:00
uz
36c99befcc Output ids for line infos to the debug info file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5140 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-09 18:48:02 +00:00
uz
a3ae02b5b7 Use symbolic names when writing the scope type to the debug info file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5139 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-08 21:07:45 +00:00
uz
067f6d2e27 Much more work reading the new information.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5138 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-08 21:07:13 +00:00
uz
e9be9e3d63 Use "lib" instead of "library".
git-svn-id: svn://svn.cc65.org/cc65/trunk@5137 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-08 17:18:52 +00:00
uz
07cd427110 Output information about the item counts in the debug info file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5136 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-08 17:15:18 +00:00
uz
57e39e0e04 Preparations for the new format.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5135 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-07 21:08:45 +00:00
uz
472c21d7ff Some improvements for spans.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5134 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-07 20:01:40 +00:00
uz
bf8f23d5f4 Handle scopes with a label correctly. Add the label to the debug info file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5133 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-07 18:48:08 +00:00
uz
8f969056e1 Handle scopes with a label correctly.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5132 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-07 18:47:38 +00:00
uz
49b66ebd2b New flag bit that tells if a scope has a label.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5131 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-07 18:47:21 +00:00
uz
af8fbf8d62 Fox scopes that have a label (= .PROC), write the label to the debug
information.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5130 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-07 18:46:56 +00:00
uz
c19491035b Bump the version number of the generated debug file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5129 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-07 17:59:33 +00:00
uz
17e9b81045 Debug info: Make file info ids continous. Output modules that use a file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5128 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-07 13:15:24 +00:00
uz
af3a5e6e15 Output library information to the debug file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5127 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-07 11:33:28 +00:00
uz
b418fdf985 Removed the Next pointer which is no longer necessary.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5126 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-06 12:32:10 +00:00
uz
6172979c1c Manage the segments in a collection.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5125 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-05 13:59:26 +00:00
uz
9f02a29dfa Use a collection to manage the segments.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5124 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-05 13:45:33 +00:00
uz
a17d11cba8 Central management of the debug info base ids.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5123 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-05 13:09:13 +00:00
uz
a87d8ec233 More aliases for attribute names.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5122 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-05 12:34:08 +00:00
uz
f912ea4010 Introduce some shorter aliases for attribute names in the debug info file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5121 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-05 12:33:21 +00:00
uz
317676d868 Output module info.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5120 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-05 12:09:11 +00:00
uz
3593eb2869 More work on scope suport.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5119 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-04 18:47:01 +00:00
uz
d1efe1af90 Adjust code to C99 regarding the main function: Not returning anything in a
main function with an int return type is identical to returning zero.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5118 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-04 17:18:06 +00:00
uz
2f75733e43 Rearrange debug info output. Add scopes to the debug info.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5117 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-04 15:58:54 +00:00
uz
871873b1ac Read Sections before Scopes, because the later will reference the former.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5116 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-04 13:20:45 +00:00
uz
04a0dafe25 Use the Span structure also for scopes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5115 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-04 13:14:26 +00:00
uz
e9d9ba92b0 The spans do now contain the size of a span, no longer the end offset.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5114 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-04 12:51:44 +00:00
uz
31d2fff060 Rename SegRange to span. Write out the size instead of the end offset so we
can save some bytes in the object file.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5113 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-04 12:49:59 +00:00
uz
f04d65a662 Generalized the CodeRange structure used for line infos and renamed it to Span.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5112 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-04 12:31:37 +00:00
uz
f0eaf6b1b4 Fixed an off-by-one error.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5111 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-03 19:37:53 +00:00
uz
3cf41ed2e7 Fix a problem reported by Christopher Pow: cc65_lineinfo_byname doesn't handle
multiple line infos for one line correctly. It did only return one randomly
chosen line info instead of all.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5110 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-03 18:39:08 +00:00
uz
ca0877adb6 Fixed an error in the special purpose allocator in expr.c.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5109 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-02 16:46:47 +00:00
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