- second calculation of EDI is obsolete, its value is never used.
- calculation of ECX can be partially shared with first calculation of EDI.
- multiplying ECX by 1 is also redundant (was happening due to a wrong condition).
git-svn-id: trunk@17260 -
return type of the interface and implementation declaration of a function
match (so that in case the "real defs" match as described in the comment
of r17201, they are accepted as being the same)
git-svn-id: trunk@17207 -
as te_exact rather than as te_equal (otherwise you get compilation errors
if only a formal external definition is in scope in the interface, but
the full definition is in scope in the implementation)
git-svn-id: trunk@17201 -
* Moved nestedprocs from tcgprocinfo to tprocinfo, in order to be able to access the entire nested procedure hierarchy without depending on psub.pas or code generator.
* Creating an instance of tprocinfo automatically inserts it into list of parent's nested procedures.
* nestedprocs list is created on demand. Public read-only access is provided by has_nestedprocs and get_first_nestedproc functions.
+ Method destroy_tree is provided for destroying the entire hierarchy of procinfo's. It can be called on any procinfo object in the tree.
+ Also added methods save_jump_labels and restore_jump_labels for asmlabel maintenance, which is currently being repeatedly done all over the codegenerator.
git-svn-id: trunk@17197 -
+ parsing of section directive for variables
+ section test
+ write section names in the assembler/binary writers correctly
* allow section only after ; and for embedded targets
git-svn-id: branches/usersections@17154 -
a temporary parameter location, since calls cannot overwrite parameters
already on the stack in that case (it will just grow)
git-svn-id: trunk@17144 -
* Now g_initialize, g_finalize, g_incrrefcount and g_decrrefcount should never more be used for open arrays, trigger internal error if it happens.
git-svn-id: trunk@17137 -
forward-declared class, only search the current symtable rather than the
entire symtable stack (to prevent finding types in e.g. nested types)
git-svn-id: trunk@17128 -
declared inside the the current structdef hierarchy: properly deal with
multiple types of the same name nested into each other, by keeping track
of at which point in the hierarchy we found the first type (and afterwards
continuing from there, instead of from any point in the hierarchy where
a type with this name can be found)
git-svn-id: trunk@17126 -
* Separated two almost identical parts of code into procedure rangecheck_string;
- Removed range checking of regular_array[constant], which should, according to the comments, happen in typecheckpass. tvecnode.pass_typecheck indeed does the necessary tests, so removing this duplicate check also eliminates duplicate warning when range checking is off.
git-svn-id: trunk@17124 -