uz
e8174de0f1
Fixed an error introduced in revision 4427: The list of 65816 instructions
...
contained two items less than the counter said (because in 4427 two were
deleted without adjusting the counter). Depending on the compilers
implementation of bsearch(), some of the 65826 instructions were not found
when searching the table.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5310 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-12-11 23:40:53 +00:00
uz
5449f21d9f
When generating the dependency file, escape spaces in file names.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5307 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-12-05 21:32:59 +00:00
uz
49c457f518
Disallow __asm__ on global level.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5303 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-11-07 21:25:20 +00:00
uz
ab83d5cd78
Fixed an internal error caused by muddling through after an error occurred and
...
trying to add a duplicate identifier into the symbol table.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5300 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-09-18 20:36:19 +00:00
uz
6a716ae43b
Fixed an error: The output file shouldn't be opened in binary mode (thefox).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5297 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-09-04 10:41:43 +00:00
uz
76e9fc8c65
Small fix for an error message.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5296 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-09-03 19:11:12 +00:00
uz
5050157eda
Make the type of a C symbol available.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5295 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-09-01 20:53:42 +00:00
uz
3ec4b296ba
Added functions to access the c symbols in the debug info file.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5294 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-09-01 20:51:07 +00:00
uz
8504f42497
Postprocess and cross-reference C symbol infos.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5293 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-09-01 10:21:25 +00:00
uz
e63dcb46f1
Fixed an error: Symbol references for csyms were output as local, not global
...
ids.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5292 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-09-01 10:00:31 +00:00
uz
d1abb7e808
New flag that tells if the HLL symbol has an asm symbol attached.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5291 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-31 21:00:20 +00:00
uz
8fc851b338
Write out global symbols to the debug file. Added some fixes for unusual
...
situations (extern symbols without attached import, because the import wasn't
referenced and therefore removed by the assembler).
git-svn-id: svn://svn.cc65.org/cc65/trunk@5290 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-31 20:48:40 +00:00
uz
f204ec956a
Parse csym lines in the debug info file. No api functions til now.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5289 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-30 13:19:28 +00:00
uz
1157cff1bd
Validate the type passed in .dbg statements at least loosely.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5288 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-30 13:18:50 +00:00
uz
b4afe56ef1
For now use the void type for all debug symbols to avoid errors in the
...
backends.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5287 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-30 13:09:34 +00:00
uz
2438497e9f
Shorten "extern" -> "ext".
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5286 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-30 13:04:08 +00:00
uz
aaa21c6417
More work on high level language debug symbols. They are now passed correctly
...
via the object files to the linker and written to the debug info file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5285 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-30 11:42:26 +00:00
uz
2f82cb4fb8
The geos resource compiler was still called by its old name (Greg King).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5284 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-30 09:38:53 +00:00
uz
060cfe66e0
Renamed hldbgsym -> hlldbgsym.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5283 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-29 20:37:28 +00:00
uz
c2bf1b9ba4
Some code cleanup.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5282 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-29 20:30:57 +00:00
uz
eee6068029
Write the high level debug info to the object file.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5281 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-29 20:02:06 +00:00
uz
314476de27
Added an offset field to the high level language symbol definition.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5280 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-29 18:55:29 +00:00
uz
305cf64d40
Worked on high level language symbol info.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5279 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-29 18:55:03 +00:00
uz
2e7afb6a8d
Added a module for high level language debug symbols.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5278 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-28 20:01:51 +00:00
uz
548a29e076
Added output of types.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5277 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-28 15:10:43 +00:00
uz
534c630a23
Fixed the layout for the span output.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5276 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-28 14:44:41 +00:00
uz
12035b910e
Added span output.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5275 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-26 20:03:11 +00:00
uz
6b8efa8e9b
Add a (currently empty) type string to the debug info for symbols and functions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5274 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-26 13:01:29 +00:00
uz
2fbebd25cf
Started to add debug infos for C functions and symbols.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5273 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-26 12:05:00 +00:00
uz
c2d859b9f3
Fix a C89 incompatibility (Stefan Haubenthal).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5272 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-26 10:05:28 +00:00
uz
7c96984473
Pointers passed outside the module should be const.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5271 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-26 10:05:08 +00:00
uz
557b077530
Added code to parse type strings and convert them into a set of cc65_typedata
...
structures. Added cc65_type_byid and cc65_free_typedata (a dummy).
git-svn-id: svn://svn.cc65.org/cc65/trunk@5270 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-25 18:59:25 +00:00
uz
3e84a2bd93
Fix type string for .ADDR and .FARADDR.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5269 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-23 18:05:31 +00:00
uz
262ed5db8b
Fixed a bug: Never remember a pointer to a string buffer, since it becomes
...
invalid when the string buffer gets resized.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5268 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-23 18:04:25 +00:00
uz
d225866449
Renamed GT_GetArraySize to GT_GetElementCount.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5267 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-23 18:01:23 +00:00
uz
25171465d3
Implement variable sized element count for arrays.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5266 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-23 16:15:41 +00:00
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
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
611563f899
Fixed typoes in cl65's --help message. By Greg King.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5024 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-09 16:33:38 +00:00
uz
23a5ea3ba5
Fixed typos in comments. No code changes.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5014 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 21:40:00 +00:00
uz
80a5686bd9
The code for compares with a constant result may not be removed, because it
...
may contain side effects.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5010 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 18:48:06 +00:00
uz
c142061ca5
Removed unnecessary \n's in calls to Error().
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5008 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 18:00:51 +00:00
uz
845ad64633
Fixed an error in the last change: Arguments for option -W were not passed
...
correctly to the compiler.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5007 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 17:58:45 +00:00
uz
417b14432c
Fix problem with changed syntax of option -W for the compiler: -W will now
...
only be passed to the compiler together with all warning names.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5006 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 17:56:44 +00:00
uz
928c76235f
Fix output of --help regarding -W. Added new option --list-warnings.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5005 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 17:42:49 +00:00
uz
671a4a653f
Reverted the change by Stefan Haubenthal - order of segments is important for
...
the heap to work correctly.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4995 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-25 18:45:57 +00:00
uz
ccd1f5fcd7
Fix tape header output. Add version info in the header. By Stefan Haubenthal.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4984 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-16 12:09:28 +00:00
uz
d78e52fd40
New uploader that can be hiding in top of memory waiting for a BLL-kind of
...
loadable application over the ComLynx serial port. By Karri Kaksonen.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4982 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-06 19:54:55 +00:00
uz
00a11e642c
Lynx boot stuff split up into several files. Changes by Karri Kaksonen.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4979 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-03-21 17:49:03 +00:00
uz
9528aae744
Improved and much smaller bootloader by Karri Kaksonen.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4978 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-03-17 22:36:09 +00:00
uz
93f8985e47
Fixed an error: The collection for the line infos hasn't been initialized.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4974 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-02-10 22:18:24 +00:00
uz
f5de5144d3
Initialize variables to avoid gcc warnings.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4970 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-02-07 23:04:10 +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
3b9032a7c4
Added disassembler support for the NMOS 6502 with illegal opcodes.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4966 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-02-06 16:04:46 +00:00
uz
2056097a91
Fixed a bug reported by thefox.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4965 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-02-06 14:36:31 +00:00
uz
7c1cd6c8d8
Added two new global options, NewlineAfterJMP and NewlineAfterRTS.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4963 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-02-05 16:03:06 +00:00
uz
bcfa2c31cf
Redid the whole line info stuff, because the old data structures weren't able
...
to manage the new information.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4961 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-02-03 17:08:20 +00:00
uz
405cb07e7a
Fixed a bug.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4959 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-30 14:51:50 +00:00
uz
a6e099e9ac
Bump version number of generated debug info files.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4958 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-29 22:19:37 +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
0e32325ca6
New include file for line info definitions shared between assembler, linker
...
and od65 utility.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4956 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-29 22:08:58 +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
d5109f6319
Fixed an error in the macro versions of the inline functions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4948 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-28 16:33:04 +00:00
uz
81c90667bf
Small fix for debug info output.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4947 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-28 16:20:39 +00:00
uz
8af53cf22a
Adapted to new library format.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4946 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-28 16:03:55 +00:00
uz
fa1b5f5f3c
Fixed a bug: Wrong variable size trucates data.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4945 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-28 16:03:41 +00:00
uz
5855137d8c
Change how data is stored in the library. To simplify things, the index
...
(=directory) entry is now shorter, and additional data necessary for checking
in the archiver is not stored in the directory but read from the object file
data in the library.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4944 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-28 15:42:32 +00:00
uz
8386b47074
No need to specify explicit paths in #include statements.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4943 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-28 12:21:48 +00:00
uz
8c0a0fa4a3
Use routine from common library instead of separate code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4942 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-28 12:14:22 +00:00
uz
5d7001dc93
Simplify things using collections. Some more generic overhaul.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4940 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-28 11:54:35 +00:00
uz
a214ccff92
Use a collection for the modules in a library.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4938 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-27 22:43:33 +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
73548dbfb3
Adapted to changes in the object file format.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4931 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-27 17:35:48 +00:00
uz
88b3489d89
Adapt to changed object file format.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4930 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-27 16:47:45 +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
d7d1ad7fd0
Must read line infos earlier when reading in an object files, because later
...
data references it.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4927 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-27 16:20:14 +00:00
uz
b903e818d1
More detailed error message.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4926 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-27 16:12:10 +00:00
uz
e654ad49eb
Allow different output formats using additional linker configs. Contributed by
...
Karri Kaksonen.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4925 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-26 22:14:42 +00:00
uz
733e832b5d
Use LineInfo instead of raw FilePos objects. Most information in the object
...
files does now have lists of LineInfos attached. Compiles but UNTESTED!
git-svn-id: svn://svn.cc65.org/cc65/trunk@4921 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-26 19:42:17 +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
6ddf79fc30
Fragments and assertions reference LineInfo items instead of having separate
...
embedded FilePos items.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4915 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-24 22:39:07 +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
0f9ced267e
Bumped the object file version number.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4913 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-24 22:37:12 +00:00
uz
a7bd3ad0db
Added a compar function for file positions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4912 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-24 16:15:35 +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
a2ec97ac13
More changes by Karri Kaksonen.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4899 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-04 19:39:07 +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
338844cb2e
Patch by Gary Wong: The smbx and rmbx instructions are two byte insns (not one
...
byte).
git-svn-id: svn://svn.cc65.org/cc65/trunk@4895 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-12-30 19:35:10 +00:00
uz
212941ddb4
Fix consecutive false errors when a label without a following statement is
...
encountered.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4894 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-12-30 19:30:54 +00:00
uz
d993b332a4
Lynx update including file routines that access a file system on a cartridge
...
by Karri Kaksonen.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4892 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-12-29 10:37:57 +00:00
uz
4a92522c82
In the generated assembly file, add import statements for all zero page
...
variables known by the runtime. They aren't currently accessed by the compiler
itself but may be useful for inline assembly.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4891 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-12-29 10:18:29 +00:00
uz
f11067e260
Latest versions of startup code and config by Karri Kaksonen. Citing: The new
...
header contains an encrypted loader, a small directory structure and a single
pixel black title screen. This is directly bootable on a real Lynx.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4890 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-12-22 15:37:20 +00:00
uz
3f5b2a8fbd
Allow to disable the "Result of comparison is constant" warning.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4883 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-28 21:16:46 +00:00
uz
94f1a17a47
Renamed grc -> grc65.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4881 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-25 17:29:59 +00:00
uz
bb1d6d94a3
Renamed grc to grc65 to avoid name conflicts with another software named grc.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4875 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-18 18:47:01 +00:00
uz
81cfbe06c6
Changed the startup module and the linker config for the Commodore VIC to use
...
the common loadaddr and exehdr modules.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4874 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-17 13:35:43 +00:00
uz
9a9cea5a61
Changed the startup module and the linker config for the Commodore PET to use
...
the common loadaddr and exehdr modules.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4873 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-17 13:27:43 +00:00
uz
7252f071a2
Changed the startup module and the linker config for the C128 to use the
...
common loadaddr and exehdr modules.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4872 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-17 13:00:34 +00:00
uz
da59130820
Changed the startup module and the linker config for the C16 to use the common
...
loadaddr and exehdr modules.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4871 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-17 12:46:55 +00:00
uz
8aff2a9159
Fixed a problem with the last change in crt0.s: The symbols for the RAM memory
...
area had been used but not defined in the linker config. Changed the startup
module and the linker config to use the common loadaddr and exehdr modules.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4870 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-16 17:33:25 +00:00
uz
461bf5e81e
Fixed wrong size of HEADER area. The invalid size had no bad effects, but it
...
was wrong anyway.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4869 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-16 17:30:42 +00:00
uz
0e0bb60d21
Removed some left over debug output
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4868 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-16 10:14:56 +00:00
uz
dfd4c0ab63
Limit RAM area to $CFFF instead of $FFFF.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4865 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-14 17:00:21 +00:00
uz
b6d872e5b7
Added the first implementation of a linker config suited for c64 assembly
...
programs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4864 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-14 13:11:09 +00:00
uz
413491d1b2
Modified the builtin c64 config to force inclusion of the new exehdr module.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4863 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-14 11:51:43 +00:00
uz
268e093469
Fix order of command line arguments: -o should precede -C or -t.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4859 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-13 22:52:13 +00:00
uz
09a62690f3
Fixed typo in warning message.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4858 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-13 22:48:39 +00:00
uz
36dc806193
Force inclusion of the load address.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4857 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-13 16:57:42 +00:00
uz
4786caf496
For modules, the ZP memory area must be written to the output file. This is
...
required by the logic in the linker.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4854 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-13 10:20:28 +00:00
uz
c797be4767
Add an additional file = "" to memory areas that contain only bss or zp type
...
segments and aren't written to the output file. Before that, the "not going to
output file" was implicit because of the bss type of the segments contained.
The new attribute makes this explicit.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4853 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-12 19:59:02 +00:00
uz
de14990fbb
Define the __XX_START__ symbol for a memory area earlier, so it may be used in
...
the expression for the size of the same area.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4852 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-12 18:01:31 +00:00
uz
5e8252fa36
Reworked and improved the SYMBOLS section. The old syntax (using symbol =
...
value) is now gone, attributes are used instead. The SYMBOLS section does now
support imports, so the linker config can be used to force symbols (and
therefore module) imports. Evaluation of start address and size for memory
areas has been delayed even further, so it is now possible to use the values
from one memory area in the definition of the next one.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4851 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-12 14:17:35 +00:00
uz
a0a0347ecc
Make the Name and Col fields unsigned instead of short.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4850 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-12 14:14:27 +00:00
uz
7c1094c086
Keep the config file position in a FilePos structure.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4847 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-10 19:52:40 +00:00
uz
c695829813
Added a static initializer for struct FilePos.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4846 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-10 19:16:29 +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
7bd19b737a
One more place where OutputNameUsed must be flagged.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4844 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-09 22:07:45 +00:00
uz
a2b7ef2b08
Merge CfgProcess and CfgAssignSegments because both do some sort of
...
postprocessing. Print a warning if %O was used in the config file and the
output file name is changed later using -o.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4842 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-09 21:01:27 +00:00
uz
c9b9069208
Better handling of imports in the ExprNode structure.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4841 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-09 20:34:08 +00:00
uz
da792b3fd0
Separate processing the linker config file into two phases: The config file is
...
read when the -t or -C switch is encountered and parts of it are processed.
The remaining parts are processed when all object files and libraries have
been read. To make this work, the expression evaluation in cfgexpr has been
rewritten to generate true expression trees. This means that expressions in
the linker config may use exports from the object files.
Separation of config file processing is the base for several enhancements, for
example forced imports by linker config.
This code needs more work and is only very, very, very roughly tested.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4840 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-08 21:52:24 +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
f1ce44edfe
Fixed register info for several runtime functions. Info for the Y register was
...
wrong, so the optimizer assumed it wouldn't change across a call.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4836 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-02 18:05:19 +00:00
uz
d08ff2b6df
Fix parsing of push/pop so that #pragma warn works without.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4824 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-10-02 19:43:18 +00:00
uz
e048d2aeba
Make the warning "statement has no effect" switchable.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4823 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-10-02 19:32:11 +00:00
ol.sc
aaf90c1252
Exclude (small) stack from RAM memory area (like on most other targets) to make explicit that the linker may not use all RAM. If the cc65 parameter stack isn't used at all the __STACKSIZE__ symbol may be overridden on the linker command line with -D __STACKSIZE__=0.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4820 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-10-02 10:20:00 +00:00
uz
172d33e584
Fixed problem with last change: Static declaration do also set the SC_EXTERN
...
flag (have to check why).
git-svn-id: svn://svn.cc65.org/cc65/trunk@4818 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-24 07:28:08 +00:00
uz
5aff0764a1
Allow initialization of variables declared with "extern".
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4816 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-23 18:18:53 +00:00
uz
674289e471
use ReadVar to read the type. This doesn't make a difference for now but will
...
come handy later. Add output for all of the symbol flags from symdefs.h.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4814 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-17 21:04:28 +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
uz
41c119deca
Bumped the year in the copyright notice. It hasn't changed for five years:-)
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4807 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-11 19:43:48 +00:00
uz
1a4a02821e
New function cc65_symbol_inrange. Fixed an error in cc65_symbol_byname.
...
Restructured the dbgtest.c source.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4806 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-11 19:31:30 +00:00
uz
d627b1ac83
First support for symbols - mostly untested.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4805 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-09 22:05:44 +00:00
uz
03d3868d45
Start adding (limited) support for symbols.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4804 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-09 21:29:15 +00:00
uz
7e72e7d46b
Change output for symbols in the debug info file to match that of the other
...
lines. The name is now preceeded by "name=".
git-svn-id: svn://svn.cc65.org/cc65/trunk@4803 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-09 21:28:47 +00:00
uz
8f03c4e9cf
Move the collection containing all line infos into the DbgInfo struct and keep
...
it there. It will be used to search for line info by address in some future
version, which is faster than searching through all the source files in a
linear fashion.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4802 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-09 20:54:12 +00:00
uz
5625977188
Add 'extern "C"' so the module may be used from C++ sources.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4801 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-09 15:55:49 +00:00
uz
3f7fc55c7e
Added some more checks and initialization.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4800 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-09 15:52:23 +00:00
uz
b936617eb4
Fixed a C99ism.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4799 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-09 05:47:22 +00:00
uz
99fd891126
Major changes: Names of structures, fields and subroutine names have changed.
...
Support for additional segment info and file offsets for an address. The
version number is now mandatory and checked to avoid problems with old
formats.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4798 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-08 20:38:15 +00:00
uz
14e567aed2
Another format change: Record the output file and offset for each segment
...
written to the output. Make this information available in the debug info file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4797 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-08 20:32:13 +00:00
uz
6272c93556
Allow access to segment information.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4796 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-08 15:43:13 +00:00
uz
34c938e7ac
More collection usage. This has also removed the need for the MemListNode
...
structure.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4795 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-08 15:35:56 +00:00
uz
fedb265a22
More collection usage.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4794 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-08 15:23:22 +00:00
uz
ad140bede4
Replace more linked lists by collections.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4793 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-08 15:13:53 +00:00
uz
026724482f
Use collections instead of linked lists to simplify things.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4792 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-08 15:03:58 +00:00
uz
3eed1bffbc
Some more test and example code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4790 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-07 13:40:16 +00:00
uz
d645a797cb
Improved info API.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4789 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-07 13:25:09 +00:00
uz
8c39874daa
Some changes in debug info generation.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4788 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-07 12:46:12 +00:00
uz
1dbb84bcee
Add some code that tries to skip unknown keywords that may have been added by
...
later version of the debug info.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4787 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-06 09:17:43 +00:00
uz
3d2cb567dc
The stuff will not link with Watcom because of vsnprintf, but a makefile is
...
still useful for testing.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4786 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-05 21:16:07 +00:00
uz
1877af89cc
Several fixes detected when using another C compiler.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4785 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-05 21:15:00 +00:00
uz
4b1c5e4157
First working version with complete API for line information.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4784 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-05 21:00:36 +00:00
uz
12e7cc010d
Output version information into the debug file.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4783 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-05 20:41:27 +00:00
uz
0807da74bd
Corrected indentation - no code change.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4782 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-05 19:34:25 +00:00
uz
b8e7feb788
Fix relocation of line infos.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4781 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-05 19:34:03 +00:00
uz
abda26a309
Don't output multiple code ranges per line, since this is harder to parse.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4780 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-03 19:00:14 +00:00
uz
54e22eb53c
First version of a module that reads debug files generated by ld65.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4779 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-03 18:46:50 +00:00
uz
e046ecbcf2
Be sure to generate line info for all segments.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4778 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-01 13:52:06 +00:00
uz
83e5252785
Changed a comment
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4777 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-01 13:48:32 +00:00
uz
031ae666e3
Fixed an error in the macro version of HasObjData().
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4776 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-07-31 12:37:14 +00:00
uz
b2321ebdf7
Fixed an error: Some of the collections weren't initialized.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4775 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-07-31 09:44:25 +00:00
uz
23b867b7a4
Handle file position information for fragments differently: Instead of
...
handling them separately (which has historic reasons), generate real line info
information. This means that line info for the assembler source will be part
of the debug info file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4774 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-07-30 22:44:09 +00:00
uz
f308a3c4d1
Use collections in the object file structure instead of managing the items
...
manually.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4773 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-07-30 20:58:51 +00:00
uz
5bffbc98ff
Added a new function CollGrow.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4772 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-07-30 20:58:09 +00:00
uz
7d506c84c9
Make .DEF, .REF and friends also work with cheap local symbols.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4767 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-07-26 17:28:34 +00:00
uz
477b77f528
Another minor improvement in compares.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4745 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-07-11 21:53:48 +00:00
uz
2bb2d97ab0
Fixed and improved the code for compares. Before, compares of chars to a
...
constant where sometimes passed down to the code generator in a way that
caused wrong code to be generated.
This change may go into 2.13 after some testing.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4743 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-07-11 16:11:45 +00:00
uz
a89231ece7
Fixed an error: A function wasn't converted to a void pointer automatically by
...
the compiler.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4741 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-07-10 20:48:05 +00:00
uz
abbfaef2aa
A negative token count for .LEFT was incorrectly adjusted to 1, not to 0.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4738 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-07-10 12:32:05 +00:00
uz
125ab37c09
Added relative include path handling: The path of an input file is now pushed
...
onto the search path list, so include files will be searched relative to this
path first.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4676 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-30 13:31:09 +00:00
uz
b942fd0b56
Check for a size of zero in SB_CopyBuf to make the code somewhat faster.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4675 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-29 21:23:34 +00:00
uz
314893619a
Don't ignore empty paths when adding the path of a file to the search path
...
list.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4674 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-29 21:20:48 +00:00
uz
02f5b5499e
Changed search path logic: Include files are now search first in the directory
...
containing the file that had the #include statement. The path of the main file
will also added to the front of the search path list, so includes will not be
search in the current directory first, but in the directory that contains the
main file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4673 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-28 12:00:12 +00:00
uz
9a6f97cfe1
PushSearchPath will add the path only if it's not already there.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4672 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-28 11:56:01 +00:00
uz
ebd679dd57
New functions PushSearchPath and PopSearchPath.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4671 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-28 11:22:44 +00:00
uz
64b597017a
Fix the check for constant static local data, which was wrong when the data
...
was an array. It should go into RODATA, not DATA.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4669 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-27 19:47:13 +00:00
uz
05f7296369
Restructured search path handling.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4662 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-09 10:54:15 +00:00
uz
d95bb2e600
New option --bin-include-dir which is passed to the assembler.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4661 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-04 20:19:54 +00:00
uz
d54ca88743
Added a new option --dep-target to the compiler. This option allows to set the
...
target in the generated dependency file. The cl65 utility will use this option
to override the depdendency target, if actual object files are to be generated
from C input. So the generated dependency will not have the intermediate .s
file as target, but the final .o file, which allows to use the dependency
files without further processing.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4660 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-02 09:56:40 +00:00
uz
e61bf7094c
Restructured the code for better reada- and maintainability.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4659 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-02 09:32:42 +00:00
uz
0695f39611
Added --create-dep and --create-full-dep to the cl65 utility.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4655 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-01 14:47:09 +00:00
uz
39108e20b5
Rewrote the search path routines to use collections internally.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4654 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-01 14:44:14 +00:00
uz
3fd52eb57f
Added dependency file generation to the assembler. This includes two new
...
options, --create-dep and --create-full-dep. The latter will include files
that are passed via debug info to the assembler.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4653 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-01 11:59:55 +00:00
uz
96cf7f6271
Changed generation of makefile dependencies:
...
* There are now two options, --create-dep and --create-full-dep. One
will add system includes, the other not.
* Both options require a file name. This is an incompatible change(!)
but has the advantage that the user is in control of extension and
path of the generated file.
* Output will always include a phony target for the input files. This
may not work with all make programs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4652 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-01 09:42:12 +00:00
uz
54740da820
More preparations for an extension of the calling conventions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4650 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-04-29 20:30:49 +00:00
uz
77bfcc1ff0
Change the OptStackOps function so that it adjusts the instruction pointer
...
after changing code. Without this correction, the insn pointer may be wrong
after one of the subfunctions has changed code, which may cause a valid
sequence not to be detected. This change (when proven good) may also go into
2.13.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4649 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-04-25 21:51:59 +00:00
uz
2e6d218801
Remember the type of the input file. This may be used later to create more
...
variants of dependency files.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4645 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-04-22 19:40:50 +00:00
uz
bfd8f4e108
Implemented new .PUSHCPU and .POPCPU commands.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4644 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-04-18 18:47:16 +00:00
uz
922cbf08eb
Added several functions to the intstack module.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4643 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-04-18 18:40:59 +00:00
uz
48c647b6bd
Added while loop inversion.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4642 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-04-17 15:19:35 +00:00
uz
6b3e515573
Reverted part of change 4108 that prevented an optimization step to find
...
proper replacements. Some other rearrangements for slightly better code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4640 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-04-10 11:23:39 +00:00
uz
4299e2db05
Added the cdecl keyword
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4639 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-04-09 19:47:33 +00:00
uz
ca9170cd20
More strcmp inlining.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4638 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-03-23 21:47:12 +00:00
uz
8e26fef105
Fixed the size of the RAM segment for the CBM610. The routine that does
...
cross-bank calls is located at $FECB and the stack grows downwards from
there.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4637 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-03-23 19:40:48 +00:00
uz
e192edd021
Inline some occurances of strcmp.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4635 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-03-22 22:28:45 +00:00
uz
3d06780f6d
For the CBM 510, the stack is not part of RAM. And, because of the cross-bacnk
...
routine, it is smaller than the number used before.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4634 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-03-21 21:39:44 +00:00
ol.sc
4b689107a4
- No more HEAP segment
...
- RAM reduced by __STACKSIZE__
- Unified formatting
git-svn-id: svn://svn.cc65.org/cc65/trunk@4633 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-03-21 17:10:17 +00:00
uz
0e60a60c3e
Fixed an optimizer problem.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4632 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-03-21 14:08:46 +00:00
uz
1a4e2edede
Reenable compile time evaluation of strlen for string literals.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4631 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-03-20 18:51:59 +00:00
uz
15f95d7623
Changed the size of available RAM so that the last used address is $7FFF.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4630 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-03-20 18:08:27 +00:00
uz
7450c25404
Allow escape sequences prefixed by '%' in strings. '%%' denotes a single
...
percent sign, %O is the name of the output file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4628 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-03-20 17:48:15 +00:00
uz
b759e753e4
Changed the type of CfgSVal to a string buffer and removed the upper limit for
...
the length.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4627 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-03-20 17:23:51 +00:00
uz
af27ae6d79
Fixed two issues with macros:
...
* A newline between the macro name and the argument list of a function like
macro was not accepted.
* An unterminated macro argument list was not always detected.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4621 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-03-14 17:46:02 +00:00
uz
61b69316c5
Added builtin .min() and .max() pseudo functions to the assembler.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4583 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-11 18:54:08 +00:00
uz
5477e62e3a
Fixed open mode for second try in DoIncBin (Greg King).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4563 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-01-31 20:49:40 +00:00
uz
79820fe4ec
Added a separate include search path for binary includes. These aren't
...
searched any longer in the standard include path.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4558 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-01-25 20:33:01 +00:00
uz
5175f95341
Fixed a problem in the optimizer function that rewrites ops that use the
...
stack. Useless instructions (duplicate loads or transfers) within the sequence
are left intact and may cause problems because the interfere with the
replacement code. A run of OptRemoveUnusedLoads and friends should fix the
problem, bit this step may be disabled, so the routine has to check for this
condition and avoid it (by not doing the replacement).
git-svn-id: svn://svn.cc65.org/cc65/trunk@4551 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-01-20 19:47:44 +00:00
ol.sc
3d5d3ef76a
Define HEADER memory area for the EXEHDR segment for consistency reasons with the other targets with an EXEHDR segment (apple2[enh], atari, lynx, cbm[5|6]10).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4550 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-01-17 21:47:03 +00:00
uz
41f7757204
Ignore unknown preprocessor directives in an #if group that is excluded.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4534 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-30 11:20:09 +00:00
uz
60bc009991
* Moved the BASIC stub that calls the compiled program into it's own segment
...
named EXEHDR.
* Renamed BASICHDR to EXEHDR for the PET-II machines.
* Moved the call to CHRCH in front of the code that saves the zero page, since
open files are sometimes remembered in the zero page, so we need to close
them before we grab a copy.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4507 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-09 12:42:24 +00:00
uz
1fae13274e
An assignment for the ZPSAVE segment was missing in the linker config for the
...
32K memory config of the VIC20. Hint from Robert Hurst.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4505 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-08 20:41:43 +00:00
uz
7d94dc50a1
New option and #pragma --local-strings that causes string literals to be
...
output immediately.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4504 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-08 20:35:24 +00:00
uz
a467095216
Relax header checking somewhat, so second source fonts are accepted.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4502 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-06 12:24:59 +00:00
uz
3976746735
Rewrote literal handling. Literals are now saved together with other function
...
data, and at the end of compilation merged if possible. Literals for unused
functions are removed together with the function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4501 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-05 22:39:45 +00:00
uz
9b7c16ec4c
Fixed problem with last change. Wide string constants were not handled
...
correctly.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4500 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-05 15:14:11 +00:00
uz
50ff6d0768
Create one literal pool per function, so that literal pool data is removed
...
together with a function, if it is not used. Literal storage can now be
controlled by #pragma writable-strings on a per function basis.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4499 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-04 14:12:25 +00:00
uz
1f90ec93a0
Move global segment creation to a better place in source.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4498 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-04 13:04:40 +00:00
uz
ff4eeebec2
Makefile patch contributed by Greg King:
...
I added the "MAKEOPTS=" to the top-level "gcc.mak" that he wants, and I
changed the tool source tree's top-level make-file so that it supports
parallel building. (I added a rule that builds the common library before
building anything else.)
git-svn-id: svn://svn.cc65.org/cc65/trunk@4497 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-02 15:21:22 +00:00
uz
ce931b85be
In case of parse errors for structs, don't just set the type of the result to
...
"int", return a valid lvalue instead.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4483 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-24 23:02:58 +00:00
uz
3fb0c660dc
Fix a problem with error handling: The E_HAVE_MARKS flag must not be removed
...
from an expression in case of an error.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4482 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-24 22:56:56 +00:00
uz
327c989d8b
Support for the HuC6280 (CPU of the PC Engine) contributed by Tobias Gunkel.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4481 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-24 20:04:27 +00:00
uz
884aff9191
Prepare for reading keypresses from the X server.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4461 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-12 11:19:44 +00:00
uz
6078953baa
Do not use a separate byte for an END opcode, instead place the bit into the
...
previous opcode. This saves one byte per character with the exception of
characters without a vector representation, where we loose one byte, because
we need to add a dummy vector just to apply our END bit.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4433 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-02 22:31:32 +00:00
uz
0787e45aee
Added macros for jumps after unsigned compares to the "generic" macro package.
...
Removed BGE/BLT as native instructions for the 65816.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4427 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-02 16:26:46 +00:00
uz
23c96f81c0
Some small format changes. Output name is input name + '.tch'.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4413 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-01 21:33:28 +00:00
uz
784c709f97
Wrote the actual conversion. Still untested.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4411 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-31 15:42:59 +00:00
uz
b8b3dcce74
Fixed a problem introduced with the last change.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4410 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-31 14:01:22 +00:00
uz
00a1121d8c
Fixed a problem with OptJumpTarget3. In a loop over all elements of a
...
collection that may remove something from the collection, we may not use an
upcounting loop.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4409 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-31 10:36:59 +00:00
uz
b86682d29d
File reading, verification and comments.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4408 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-30 22:34:08 +00:00
uz
e60544452e
Added the chrcvt vector font converter to the top level makefile.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4406 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-30 21:35:25 +00:00
uz
3a9d29d5e2
Created the skeleton of the vector font converter.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4405 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-30 21:34:40 +00:00
uz
07e629a342
Allow fully scoped labels and constants instead of normal ones. This breaks
...
the barrier between scopes: It is now possible to introduce symbols into a
foreign scope, provided that it's name is known.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4397 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-29 20:30:41 +00:00
uz
c437afd62b
Added another optimization step.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4391 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-26 10:17:53 +00:00
uz
7687489a08
Fixed a bug in the last change. For variables that have no initializer, no
...
storage was allocated if -Cl (static locals) was in effect.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4390 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-26 10:17:17 +00:00
uz
f4b4a812ed
Removed an unused table.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4389 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-24 19:37:57 +00:00
uz
bd45df7cad
Rearranged/duplicated optimization steps to generate better code in a few
...
cases.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4387 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-23 10:03:46 +00:00
uz
814be2524b
Restructured parts of locals.c. This will also fix a problem where arrays with
...
unspecified size but an initializer would cause an error when -Cl (static
locals) was in effect.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4385 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-23 09:22:17 +00:00
uz
96b46beee0
Fixed a problem with bit-fields: Values spanning more than a byte must always
...
be loaded as an int. This was not the case if the expression rhs was a char.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4382 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-20 08:21:12 +00:00
uz
4372d111a2
The CodeEntry buffer array was one entry to small.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4381 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-19 19:37:28 +00:00
uz
3b079c0947
Added another optimization step.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4380 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-19 19:12:50 +00:00
uz
f4acd3eb4f
Added a makefile for cc65 for testing purposes.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4379 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-19 18:02:40 +00:00
uz
388ccf4c4b
Added missing definitions, fixed copy&paste errors. Formatting.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4378 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-19 18:00:25 +00:00
uz
1ccb6f916d
Remove __CC65__ since it doesn't support all attributes gcc does.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4377 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-19 17:55:49 +00:00
uz
399c37273d
Mark an unsed parameter as unused. __attribute__ also supported by cc65.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4376 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-19 17:25:43 +00:00
uz
548336a7bd
Renamed attribute handling functions. Added SymHasAttr().
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4375 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-19 10:19:26 +00:00
uz
a5a9700d19
Changed handling of attributes to a more generic form (it's allowed in each
...
declaration now) and added a new attribute "unused" to flag unused parameters,
variables or functions that shouldn't be warned about.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4373 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-18 21:42:59 +00:00
uz
5a00b38aab
Fixed the existing but unused attribute parsing code. Added
...
__attribute__((noexit)) that may be used to mark functions that won't return.
Added this attribute to the exit() function in stdlib.h.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4372 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-18 18:31:02 +00:00
uz
0ce362a69b
Some cleanup in the code generator. Added a g_drop function. g_drop and
...
g_space can now handle sizes > 255 bytes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4370 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-15 21:08:03 +00:00
uz
1f92d6bfa2
Warn when structs are passed by value to a function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4369 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-15 19:18:34 +00:00
uz
1f489fd9e1
Extend handling for "long branch to RTS" to "long branch to jump leaving
...
function".
git-svn-id: svn://svn.cc65.org/cc65/trunk@4368 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-15 11:11:20 +00:00
uz
635fae97fb
If a conditional branch as an unconditional jump as target, that doesn't jump
...
to a function-internal label, don't replace the jump target with the final
one, because this has no advantages and makes the code larger.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4367 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-15 10:21:50 +00:00
uz
d9753c2eb7
Allow switching warnings about unused pragmas on or off.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4366 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-14 13:04:38 +00:00
uz
62fdd55fee
Fixed a problem with SB_GetSym.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4365 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-14 13:03:47 +00:00
uz
ed2767e65f
Changed names of the pragmas to be identical to the corresponding command line
...
options. This should make use easier. The old names of the pragmas are still
available but will cause warnings.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4364 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-14 12:55:15 +00:00
uz
869a1369c4
Fixed an error in the SB_SkipMultiple macro.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4363 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-14 10:04:20 +00:00
uz
a1fb355a9a
Rewrote most of the #pragma parsing code. I'm still not satisfied, but at
...
least, it's a bit better than before. #pragma warn (...) is now used to switch
single warnings instead of a global on/off switch.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4362 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-13 21:24:32 +00:00
uz
583b9f8fcc
Removed an unused function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4361 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-11 15:10:55 +00:00
uz
e623c87d63
New function SB_SkipMultiple().
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4358 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-10 20:51:52 +00:00
uz
f2d1ea10d9
Added a simulated console (memory mapped screen device, inpout device will
...
follow).
git-svn-id: svn://svn.cc65.org/cc65/trunk@4351 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-08 18:33:50 +00:00
uz
1122ddb05a
Fixed a bug: Attribute numbers were not correctly read.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4350 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-08 17:54:23 +00:00
uz
07c25db768
Added the __STDC_HOSTED__ macro.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4349 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-08 15:00:25 +00:00
uz
b55419af59
Rewrote handling of the -W command line option. It is now used to enable or
...
disable warnings by name.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4348 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-08 13:29:35 +00:00
uz
58e8826da2
Fixed some sloopy StrBuf coding.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4347 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-08 12:11:51 +00:00
uz
b19a29f80b
Use the new InvArg function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4346 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-08 11:35:34 +00:00
uz
45b469c786
Use the new InvArg() function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4345 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-08 11:34:36 +00:00
uz
b7c8c651f6
New function InvArg().
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4344 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-08 11:31:55 +00:00
uz
9971b645a5
Fixed some sloopy StrBuf coding.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4343 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-08 10:51:45 +00:00
uz
4b4a9b444b
Make AUTO_STRBUF_INITIALIZER identical to STATIC_STRBUF_INITIALIZER.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4342 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-08 10:50:15 +00:00
uz
17d592352c
Fixed an error with r4329: In case of a struct pointer the qualifiers of the
...
pointers had been used, not the qualifiers of the struct.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4340 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-08 09:54:46 +00:00
uz
b208b7e3b1
Merge calls to decsp. The implemented routine is not perfect and will miss
...
some pieces of code, but it's better than nothing.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4339 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-07 15:28:35 +00:00
uz
2ae20c3b61
Get rid of ldaconst/ldxconst/ldyconst in many places.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4338 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-07 15:27:26 +00:00
uz
3be976189b
Bumped the version number
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4336 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-06 12:24:15 +00:00
uz
9c5224165f
Fixed a bug: A similar problem as that with structs does also exist for
...
arrays. An array element has all qualifiers from itself and from the array
declaration.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4334 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-05 18:46:39 +00:00
uz
8dd3cc35dc
When using GetQualifier, pass correct params :-)
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4333 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-05 18:38:01 +00:00
uz
ea582a9d74
Use GetQualifier() instead of accessing the field directly.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4332 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-05 18:37:07 +00:00
uz
7992bfb74a
Changed solution for r4329 so that it uses less memory.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4331 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-05 18:22:28 +00:00