The Psyche Project
|
The LanguageExtensions class. More...
#include <LanguageExtensions.h>
Public Types | |
enum | Ext : std::uint8_t { GNU_AlternateKeywords, GNU_AttributeSpecifiers, GNU_Alignment, GNU_CompoundLiterals, GNU_Conditionals, GNU_DesignatedInitializers, GNU_FunctionNames, GNU_Complex, GNU_StatementExpressions, GNU_Asm, GNU_InternalBuiltins, GNU_AttributeSpecifiersLLVM, PSY_Generics, CPP_nullptr, NativeBooleans, NULLAsBuiltin } |
The C language extensions enumeration. | |
The LanguageExtensions class.
LanguageExtensions::LanguageExtensions | ( | ) |
Create LanguageExtensions.
LanguageExtensions::LanguageExtensions | ( | MacroTranslations | translations | ) |
Create LanguageExtensions.
LanguageExtensions & LanguageExtensions::enable_CPP_nullptr | ( | bool | recognize | ) |
Whether to recognize the nullptr
pointer literal from C++.
LanguageExtensions & LanguageExtensions::enable_ExtGNU_Alignment | ( | bool | enable | ) |
Whether to enable GNU's alignment:
LanguageExtensions & LanguageExtensions::enable_ExtGNU_AlternateKeywords | ( | bool | enable | ) |
Whether to enable GNU keywords:
LanguageExtensions & LanguageExtensions::enable_ExtGNU_Asm | ( | bool | enable | ) |
Whether to enable GNU assembly in C.
https://gcc.gnu.org/onlinedocs/gcc/Using-Assembly-Language-with-C.html
LanguageExtensions & LanguageExtensions::enable_ExtGNU_AttributeSpecifiers | ( | bool | enable | ) |
Whether to enable GNU attributes:
LanguageExtensions & LanguageExtensions::enable_ExtGNU_AttributeSpecifiersLLVM | ( | bool | enable | ) |
Whether to enable LLVM/Clang extensions of GNU attribute:
https://clang.llvm.org/docs/AttributeReference.html#availability
LanguageExtensions & LanguageExtensions::enable_ExtGNU_Complex | ( | bool | enable | ) |
Whether to enable GNU complex numbers extension:
LanguageExtensions & LanguageExtensions::enable_ExtGNU_CompoundLiterals | ( | bool | enable | ) |
Whether to enable GNU compound literals.
LanguageExtensions & LanguageExtensions::enable_ExtGNU_Conditionals | ( | bool | enable | ) |
Whether to enable GNU conditionals.
LanguageExtensions & LanguageExtensions::enable_ExtGNU_DesignatedInitializers | ( | bool | enable | ) |
Whether to enable GNU designated initializers:
LanguageExtensions & LanguageExtensions::enable_ExtGNU_FunctionNames | ( | bool | enable | ) |
Whether to enable GNU function names as strings:
LanguageExtensions & LanguageExtensions::enable_ExtGNU_InternalBuiltins | ( | bool | enable | ) |
Whether to enable GNU internal builtins (with the __builtin
prefix).
https://gcc.gnu.org/onlinedocs/gcc/Variadic-Macros.html https://gcc.gnu.org/onlinedocs/gcc/Offsetof.html https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html
LanguageExtensions & LanguageExtensions::enable_ExtGNU_StatementExpressions | ( | bool | enable | ) |
Whether to enable GNU statement expressions.
LanguageExtensions & LanguageExtensions::enable_ExtPSY_Generics | ( | bool | yes | ) |
Whether to set experimental generics from Psyche.
LanguageExtensions & LanguageExtensions::enable_NativeBooleans | ( | bool | allow | ) |
Whether to allow boolean types natively (even in non-C99 standard), including keywords bool
, false
, and true
,
LanguageExtensions & LanguageExtensions::enable_NULLAsBuiltin | ( | bool | treat | ) |
Whether to threat NULL
as a builtin.
bool LanguageExtensions::isEnabled_CPP_nullptr | ( | ) | const |
Whether to recognize the nullptr
pointer literal from C++.
bool LanguageExtensions::isEnabled_ExtGNU_Alignment | ( | ) | const |
Whether to enable GNU's alignment:
bool LanguageExtensions::isEnabled_ExtGNU_AlternateKeywords | ( | ) | const |
Whether to enable GNU keywords:
bool LanguageExtensions::isEnabled_ExtGNU_Asm | ( | ) | const |
Whether to enable GNU assembly in C.
https://gcc.gnu.org/onlinedocs/gcc/Using-Assembly-Language-with-C.html
bool LanguageExtensions::isEnabled_ExtGNU_AttributeSpecifiers | ( | ) | const |
Whether to enable GNU attributes:
bool LanguageExtensions::isEnabled_ExtGNU_AttributeSpecifiersLLVM | ( | ) | const |
Whether to enable LLVM/Clang extensions of GNU attribute:
https://clang.llvm.org/docs/AttributeReference.html#availability
bool LanguageExtensions::isEnabled_ExtGNU_Complex | ( | ) | const |
Whether to enable GNU complex numbers extension:
bool LanguageExtensions::isEnabled_ExtGNU_CompoundLiterals | ( | ) | const |
Whether to enable GNU compound literals.
bool LanguageExtensions::isEnabled_ExtGNU_Conditionals | ( | ) | const |
Whether to enable GNU conditionals.
bool LanguageExtensions::isEnabled_ExtGNU_DesignatedInitializers | ( | ) | const |
Whether to enable GNU designated initializers:
bool LanguageExtensions::isEnabled_ExtGNU_FunctionNames | ( | ) | const |
Whether to enable GNU function names as strings:
bool LanguageExtensions::isEnabled_ExtGNU_InternalBuiltins | ( | ) | const |
Whether to enable GNU internal builtins (with the __builtin
prefix).
https://gcc.gnu.org/onlinedocs/gcc/Variadic-Macros.html https://gcc.gnu.org/onlinedocs/gcc/Offsetof.html https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html
bool LanguageExtensions::isEnabled_ExtGNU_StatementExpressions | ( | ) | const |
Whether to enable GNU statement expressions.
bool LanguageExtensions::isEnabled_ExtPSY_Generics | ( | ) | const |
Whether to set experimental generics from Psyche.
bool LanguageExtensions::isEnabled_NativeBooleans | ( | ) | const |
Whether to allow boolean types natively (even in non-C99 standard), including keywords bool
, false
, and true
,
bool LanguageExtensions::isEnabled_NULLAsBuiltin | ( | ) | const |
Whether to threat NULL
as a builtin.
const MacroTranslations & LanguageExtensions::translations | ( | ) | const |
The MacroTranslations of this
LanguageExtensions.