12.07.2015 Views

TASKING VX-toolset for ARM User Guide

TASKING VX-toolset for ARM User Guide

TASKING VX-toolset for ARM User Guide

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C Languagejump_switchbinary_switchsmart_switchtbb_switchtbh_switchno_tbh_switchForce jump table code. A jump table is a table filled with jump instructions <strong>for</strong> eachpossible switch value. The switch argument is used as an index to jump within thistable.Force binary lookup table code. A binary search table is a table filled with a valueto compare the switch argument with and a target address to jump to.Let the compiler decide the switch method used.Force use of the tbb instruction. Uses a table of 8-bit jump offsets.Force use of the tbh instruction. Uses a table of 8-bit jump offsets.Same as smart_switch, but do not use the tbh instruction.See Section 1.9, Switch Statement.tradeoff {level | default | restore}Specify tradeoff between speed (0) and size (4). See C compiler option --tradeoffwarning [number,...] [default | restore]With this pragma you can disable warning messages. If you do not specify a warning number, all warningswill be suppressed.weak symbolMark a symbol as "weak" (.WEAK assembler directive). The symbol must have external linkage, whichmeans a global or external object or function. A static symbol cannot be declared weak.A weak external reference is resolved by the linker when a global (or weak) definition is found in one ofthe object files. However, a weak reference will not cause the extraction of a module from a library toresolve the reference. When a weak external reference cannot be resolved, the null pointer is substituted.A weak definition can be overruled by a normal global definition. The linker will not complain about theduplicate definition, and ignore the weak definition.1.8. Predefined Preprocessor MacrosThe <strong>TASKING</strong> C compiler supports the predefined macros as defined in the table below. The macros areuseful to create conditional C code.Macro__<strong>ARM</strong>____BIG_ENDIAN__DescriptionExpands to 1 <strong>for</strong> the <strong>ARM</strong> <strong>toolset</strong>, otherwise unrecognized as macro.Expands to 1 if big-endian mode is selected (option --endianness=big),otherwise unrecognized as macro.17

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!