tabstractprocdef.typename_paras(), after accidentally committing the
removal of the double quotes in r34358
o the reason for not using double quotes is that the output of this routine
is used for some LLVM identifier names, and you can't have double quotes in
LLVM identifiers (any other character, including space, is no problem)
git-svn-id: trunk@34392 -
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 -
refer to these type names when writing the s2o and o2s arrays in the LLVM
assembler writer (otherwise we have to write out the entire definition
of those fields and their subtypes for every access, resulting in a 139MB
cpubase.ll instead of a more reasonable 1.5MB one now)
git-svn-id: trunk@34386 -
* Correct computation of CRC for if add_tail is true:
tail is before extra_info, not after.
Use tail_size variable to cacluate CRC use the whole tail memory area.
+ New function released_modified. Checks if released memory
was modified after it release (used if keep_released is true).
* TraceGetMem,TraceFreeMem TraceReallocMem: adapt to new tail_size variable.
* TraceInit: Store previous memory manager in local variable,
to be able to restore it in TracExit call.
* LoadEnvironment: Add parsing of tail_size=XXX, where XXX is a decimal value,
rounded up to next multiple of sizeof(ptruint).
git-svn-id: trunk@34385 -
string constants instead of giving an internal error if we can't find it in
the current context (in most cases it will exist, but not when inlining a
routine from another unit that accesses a locally declared string constant)
git-svn-id: trunk@34373 -
This was brkoken because the -dHEAPTRC option
adds ppheap unit at top of the uses clause in pp.pas source,
which leads to a change in the loading order of the units.
This order change revealed that initialization of fpkg unit
was supposed to happen after globals unit.
Fixed here by testing if initdoneprocs local variable is assigned,
both in register_initdone_proc and in allocinitdoneprocs,
to avoid double initialization.
git-svn-id: trunk@34361 -
and getters for the ttemp*node classes instead
o this will allow descendants to prevent certain flags from being added
or removed. E.g. for LLVM, certain temps must never be put in registers
because it cannot typecast a value in a register from a non-record/array
type to an array type without forcing it to memory (so if that is done
on an lvalue, the result will be written to the memory temp instead of
to the register)
git-svn-id: trunk@34358 -
pasresolver.pp: new unit, implements TPasResolver, already supports simple
types, vars, const, arguments, some expressions, calls and used units.
tcresolver: testing TPasResolver,
pastree: fixed some Free with Release calls, added comments, added ForEachCall methods.
pscanner: added option po_resolvestandardtypes. Making built-in types configurable.
pparser: added FinishScope, fixed some Free calls with Release, check proc default values, fixed some typos
Updated tests.
fppas2js: property UseLowerCase to choose between lowercase and declaration case (default true),
using TResolver data, added msg strings, improved error handling, added converter contexts,
function results, local vars, unit vars
git-svn-id: trunk@34357 -
file. A 'Repository' being a list of packages. (These repositories should
replace the available, local and global list of packages)
* The OptionParser can now be used for all options, not only the global
options.
git-svn-id: trunk@34354 -
+ API to write to the Android system log.
+ API to redirect standard output and error to the Android system log. The redirection is performed automatically for shared libraries loaded by Java applications.
git-svn-id: trunk@34352 -