Contents|Index|Previous|Next

Compiler

The following documentation discusses options for the compiler for the NEC VR4300 family of processors.

- VR4300-specific command-line compiler options
- Dialect of “C” description

- Preprocessor symbols
- Data types and alignment
- MIPS EABI non-compliance

VR4300-specific command-line compiler options

For a list of available generic compiler options, refer to GNU CC Command Options in Using GNU CC in GNUPro Compiler Tools. In addition, the following VR4300-specific command-line options are supported:

-EL
Compile code for the processor in little endian mode.

-EB
Compile code for the processor in big-endian mode.

Dialect of “C” description

Preprocessor symbols

Symbol | Compiler Options which define the Symbol
mips | only if ‘-ansi’ not used
_mips | only if ‘-ansi’ not used
_ _mips | always defined
MIPSEB | only if ‘-ansi’ and ‘-EL’ are not used
_MIPSEB | only if ‘-EL’ is not used
_ _MIPSEB | only if ‘-EL’ is not used
_ _MIPSEB_ _ | only if ‘-EL’ is not used
R4300 | only if ‘-ansi’ not used
_R4300 | always defined
MIPSEL | only if ‘-ansi’ is not used and ‘-EL’ is used
_MIPSEL | only if ‘-EL’ is used
_ _MIPSEL | only if ‘-EL’ is used
_ _MIPSEL_ _ | only if ‘-EL’ is used

Note:
If neither ‘-EL’ or ‘-EB’ are defined big-endian is the default.

Data types and alignment

These are the data type sizes and alignments:
char 1 byte
short 2 bytes
int 4 bytes
long 4 bytes
long long 8 bytes
float 4 bytes
double 8 bytes
long double 8 bytes
pointer 4 bytes

The stack is aligned on eight-byte boundaries.

MIPS EABI non-compliance

The GNUPro Toolkit for the VR4300 does not comply with the proposed MIPS Embedded Application Binary Interface (EABI) because that EABI has not yet been finalized.