DWARF2 debugging information is now written for the IA32 and ARM backends.
int __builtin_clzl(unsigned long val)
andint __builtin_clzll(unsigned long long val)
Same as __builtin_clz
but for long
and long long
types.
Counts leading zeroes in val
.
unsigned int __builtin_uisel(bool e, unsigned int vala, unsigned int valb)
__builtin_isel
but for unsigned integer types.
Returns vala
if the given boolean expression e
is true,
valb
otherwise.void __builtin_mr(int dst, int src)
src
to the 32-bit general-purpose register dst
.
Note that CompCert does not take the semantics of the register move
into account, i.e. the resulting code may have undefined behavior.void __builtin_set_spr64(int spr, unsigned long long val)
val
into the 64-bit special-purpose register spr
.unsigned long long __builtin_get_spr64(int spr)
spr
.Note that the 64-bit builtins require 64-bit capable hardware (PowerPC E5500) and also need to be supported by the OS, e.g. with proper state preservation and restoration for interrupts.
-gdepth
-conf
-target
_Noreturn
and produces
a warning for any _Noreturn
function that contains a return.stdalign
header defining
alignas
and alignof
macros.GCC and Diab frontends:
-include <file>
#include "<file>"
as the first line in the primary source file-s
-static
-static
flag to the linker-u <symb>
<symb>
is undefined to force linking
of library modules to define it-Xassembler <opt>
<opt>
as an option to the assembler-Xlinker <opt>
<opt>
as an option to the linkerGCC frontend only:
-C
-CC
-idirafter <dir>
-imacros <file>
-iquote <dir>
-isystem <dir>
-M
-MM
-MF <file>
-M
or -MM
-MG
-M
-MP
-MT <target>
-MQ <target>
-P
-nostartfiles
-nodefaultlibs
-nostdinc
-nostdlib
<pointer> +/- <integer>
where the pointer value
is actually an integer that has been converted to pointer type.