o also link against libc (the current llvm code generator assumes it for
memcpy, and libgcc_s depends on it anyway)
git-svn-id: branches/debug_eh@40433 -
* adapted string used for macOS/iOS version in triple in llvm IR files to
what clang expects (always a single digit patch version)
git-svn-id: branches/debug_eh@40431 -
texceptionstatehandler class + llvm overrides
+ added FPC_DummyPotentialRaise routine that gets called at the begin and end
of try-blocks to be able to catch hardware exceptions to a limited extent
with LLVM
git-svn-id: branches/debug_eh@40418 -
the parent exception frame (-> pop current exception label, invoke/call
reraise, push current exception label again)
git-svn-id: branches/debug_eh@40417 -
member. This one will be used by the LLVM descendent to keep a copy of
the finally code, as it must use a separate version for the code that
gets executed when an exception is caught and when no exception happens
git-svn-id: branches/debug_eh@40416 -
o use this flag to set the personality routine of a function if it uses
exception handlinga
o also define FPC_USE_PSABIEH if this target flag is set
o set this target flag for darwin/x86-64 if the compiler is compiled with
-dllvm
git-svn-id: branches/debug_eh@40415 -
store tai in them
+ support for direct symbol parameters to llvm routines (without first
loading them into register)
o needed to pass such symbols to llvm intrinsics
git-svn-id: branches/debug_eh@40414 -
parameter types in case it hasn't been called (because in that case
the defs of those parameters won't have been used and hence they
won't have been recorded for writing either)
git-svn-id: branches/debug_eh@40413 -
spilling, but we may need the type to insert bitcasts)
* load the la_catch symbol operand with loadref instead of loadsymbol,
as the latter sets refaddr_full and with llvm we use that to indicated
symbol names of named registers rather than data symbols (which in turn
prevents it from being processed for inserting bitcasts if necessary)
git-svn-id: branches/debug_eh@40412 -
hlcgllvm in the uses clause of every unit that calls create_hlcodegen
o prevents dependency cycles that can cause llvm codegen units to init
before the cpu variants, which is bad since the llvm versions have to
override the cpu variants in their init code (+ added checks in the
init code that they are in fact initialised later)
git-svn-id: branches/debug_eh@40410 -
exceptions for LLVM (except on Windows targets, since they (will) use
their own kind of exception handling)
o ensure we generate an external function symbol definition for such
personality functions on LLVM
git-svn-id: branches/debug_eh@40402 -
referred by invoke instructions in exception catching blocks
o for now we won't actually use ABI-compliant exception handling, but we
need invoke/landingpad combinations for LLVM's control flow analyses to
correctly handle code involving exception handling
git-svn-id: branches/debug_eh@40401 -
o use this to handle non-power-of-two-sized parameters for llvm
o no general support in the parser/code generator, so don't expose
git-svn-id: trunk@40398 -