finalize_asmlist() into its own method. finalize_asmlist() must not
generate new data, as it is /the/ method that gets overridden by
descendent classes to generate the symbol data in the format needed
by the platform
o fixes generation of indirect symbol data for LLVM
git-svn-id: trunk@36265 -
rather than assuming they appear in a fixed order in the symtable (so that
adding e.g. record methods doesn't mess things up)
git-svn-id: trunk@35190 -
modified by applying user alignment settings (so it can be only done for
user-defined data, not not for internally generated data)
o set this option for user-defined data
git-svn-id: trunk@34633 -
in the high level typed constant builder, as it does not work if the
passed list to start_internal_data_builder() is used for multiple
nested builders (you can't know what the last section was) -> always
emit a section header for a nested typed const builder
git-svn-id: trunk@34391 -
rather than for any anonymous aggregate, since for arrays we do know
the alignment even if we don't know the element count (because it only
depends on the elementdef, which is/will be set immediately)
git-svn-id: trunk@34390 -
- register a symbol in the unit's public or extern asm symbol list
- add an indirect symbol when defining the symbol
- use an indirect symbol instead of the direct one
This will be needed to correctly handle resourcestrings for packages
git-svn-id: trunk@34182 -
tasmdata.DefineAsmSymbol() and all routines that call it
o will be used to automatically generate AB_INDIRECT sybols when
necessary
git-svn-id: trunk@34164 -
aggregate to a (new) recorddef
o the size of the original type and that of the record must match
o will be used by the LLVM generator in case of a variant record, or
an array of variant records with constant data that does not match
our canonical LLVM definition
git-svn-id: trunk@32718 -
def representing that string type, instead of using p(wide)char
o these string types are represented the same in llvm as p(wide)char,
but this way we can check whether the emitted data type matches the
expected one in the future
git-svn-id: trunk@32715 -
will need this for LLVM to determine whether the emitted data completely
matches the definition (if not, we have to create a def for the actual
data)
- removed no longer used fieldoffsets property
git-svn-id: trunk@32712 -
section to the high level typed const builder, and use this functionality
for the resource strings (generating items: todo)
* fixed dead stripping unused resource strings (all string data was put in the
same section since r30342)
git-svn-id: trunk@32394 -
indicate symbols that should never be removed by the linker
o TODO for llvm, needs support for the @llvm.used array (only used for
the compiler ident, so it's not that important
git-svn-id: trunk@31677 -