Skip to main content

IAR Embedded Workbench for RL78 5.20

IAR language overview

In this section:

The IAR C/C++ Compiler for RL78 supports:

  • C, the most widely used high-level programming language in the embedded systems industry. You can build freestanding applications that follow these standards:

    • Standard C—also known as C18. Hereafter, this standard is referred to as Standard C.

    • C89—also known as C94, C90, and ANSI C.

  • Standard C++—also known as C++17. A well-established object-oriented programming language with a full-featured library well suited for modular programming. The IAR implementation of Standard C++ does not support exceptions and runtime type information (RTTI), and offers a choice of two different standard libraries:

    • DLIB, which is a C++14 library, and which comes in two configurations: Normal and Full. The Normal configuration is smaller and offers slightly less functionality.

    • Libc++, which is a C++17 library. It has only one configuration, corresponding to the Full configuration of the DLIB library.

Each of the supported languages can be used in strict or relaxed mode, or relaxed with IAR extensions enabled. The strict mode adheres to the standard, whereas the relaxed mode allows some common deviations from the standard. Both the strict and the relaxed mode might contain support for features in future versions of the C/C++ standards.

For more information about C, see Using C.

For more information about C++, see Using C++.

For information about how the compiler handles the implementation-defined areas of the languages, see Implementation-defined behavior for Standard C and Implementation-defined behavior for Standard C++.

It is also possible to implement parts of the application, or the whole application, in assembler language. See the IAR Assembler documentation.