Arene Base
Fundamental Utilities For Safety Critical C++
Loading...
Searching...
No Matches
diagnostics.hpp File Reference

Go to the source code of this file.

Detailed Description

Provides macros used to disable and enable compiler specific diagnostics using the _Pragma operator.

Macro Definition Documentation

◆ ARENE_IGNORE_ALL

#define ARENE_IGNORE_ALL ( s,
comment )
Value:
#define ARENE_REQUIRE_SEMICOLON
Definition require_semicolon.hpp:15

Pushes an ignore for a diagnostic into the compiler for any compiler.

Parameters
sThe diagnostic to ignore
commentThe justification for the diagnostic suppression. Is discarded in the compiled output.
Precondition
ARENE_IGNORE_START() has been called.
The given diagnostic is a valid diagnostic for all compilers, else it may be a compiler error when evaluated by an unsupported compiler.
Postcondition
The given diagnostic is suppressed.

◆ ARENE_IGNORE_ARMCLANG

#define ARENE_IGNORE_ARMCLANG ( s,
comment )
Value:

Pushes an ignore for a diagnostic into the compiler for armclang only.

Parameters
sThe diagnostic to ignore
commentThe justification for the diagnostic suppression. Is discarded in the compiled output.
Precondition
ARENE_IGNORE_START() has been called.
The given diagnostic is a valid diagnostic for armclang , else it will be a compiler error when evaluated by armclang.
Postcondition
The given diagnostic is suppressed when the active compiler is armclang.

◆ ARENE_IGNORE_CLANG

#define ARENE_IGNORE_CLANG ( s,
comment )
Value:

Pushes an ignore for a diagnostic into the compiler for clang only.

Parameters
sThe diagnostic to ignore
commentThe justification for the diagnostic suppression. Is discarded in the compiled output.
Precondition
ARENE_IGNORE_START() has been called.
The given diagnostic is a valid diagnostic for clang , else it will be a compiler error when evaluated by clang.
Postcondition
The given diagnostic is suppressed when the active compiler is clang.

◆ ARENE_IGNORE_END

#define ARENE_IGNORE_END ( )
Value:
ARENE_IGNORE_IMPL(pop)

Ends a region of a suppressed diagnostic.

Precondition
There was a call to ARENE_IGNORE_START() and one of ARENE_IGNORE_CLANG , ARENE_IGNORE_GCC , or ARENE_IGNORE_ALL

◆ ARENE_IGNORE_GCC

#define ARENE_IGNORE_GCC ( s,
comment )
Value:

Pushes an ignore for a diagnostic into the compiler for gcc only (which includes qcc).

Parameters
sThe diagnostic to ignore
commentThe justification for the diagnostic suppression. Is discarded in the compiled output.
Precondition
ARENE_IGNORE_START() has been called.
The given diagnostic is a valid diagnostic for gcc, else it will be a compiler error when evaluated by gcc.
Postcondition
The given diagnostic is suppressed when the active compiler is gcc.

◆ ARENE_IGNORE_START

#define ARENE_IGNORE_START ( )
Value:
ARENE_IGNORE_IMPL(push)

Begins a region of a suppressed diagnostic.

Note
There must be a call to ARENE_IGNORE_END() for each call to ARENE_IGNORE_START() .