The Psyche Project
Classes | Public Types | Public Member Functions | List of all members
psy::C::LanguageExtensions Class Referencefinal

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.
 

Public Member Functions

const MacroTranslationstranslations () const
 
 LanguageExtensions ()
 
 LanguageExtensions (MacroTranslations translations)
 
LanguageExtensionsenable_ExtGNU_AlternateKeywords (bool enable)
 
bool isEnabled_ExtGNU_AlternateKeywords () const
 
LanguageExtensionsenable_ExtGNU_AttributeSpecifiers (bool enable)
 
bool isEnabled_ExtGNU_AttributeSpecifiers () const
 
LanguageExtensionsenable_ExtGNU_Alignment (bool enable)
 
bool isEnabled_ExtGNU_Alignment () const
 
LanguageExtensionsenable_ExtGNU_CompoundLiterals (bool enable)
 
bool isEnabled_ExtGNU_CompoundLiterals () const
 
LanguageExtensionsenable_ExtGNU_Conditionals (bool enable)
 
bool isEnabled_ExtGNU_Conditionals () const
 
LanguageExtensionsenable_ExtGNU_DesignatedInitializers (bool enable)
 
bool isEnabled_ExtGNU_DesignatedInitializers () const
 
LanguageExtensionsenable_ExtGNU_FunctionNames (bool enable)
 
bool isEnabled_ExtGNU_FunctionNames () const
 
LanguageExtensionsenable_ExtGNU_Complex (bool enable)
 
bool isEnabled_ExtGNU_Complex () const
 
LanguageExtensionsenable_ExtGNU_StatementExpressions (bool enable)
 
bool isEnabled_ExtGNU_StatementExpressions () const
 
LanguageExtensionsenable_ExtGNU_Asm (bool enable)
 
bool isEnabled_ExtGNU_Asm () const
 
LanguageExtensionsenable_ExtGNU_InternalBuiltins (bool enable)
 
bool isEnabled_ExtGNU_InternalBuiltins () const
 
LanguageExtensionsenable_ExtGNU_AttributeSpecifiersLLVM (bool enable)
 
bool isEnabled_ExtGNU_AttributeSpecifiersLLVM () const
 
LanguageExtensionsenable_CPP_nullptr (bool recognize)
 
bool isEnabled_CPP_nullptr () const
 
LanguageExtensionsenable_NativeBooleans (bool allow)
 
bool isEnabled_NativeBooleans () const
 
LanguageExtensionsenable_NULLAsBuiltin (bool treat)
 
bool isEnabled_NULLAsBuiltin () const
 
LanguageExtensionsenable_ExtPSY_Generics (bool yes)
 
bool isEnabled_ExtPSY_Generics () const
 

Detailed Description

The LanguageExtensions class.

Constructor & Destructor Documentation

◆ LanguageExtensions() [1/2]

LanguageExtensions::LanguageExtensions ( )

◆ LanguageExtensions() [2/2]

LanguageExtensions::LanguageExtensions ( MacroTranslations  translations)

Member Function Documentation

◆ enable_CPP_nullptr()

LanguageExtensions & LanguageExtensions::enable_CPP_nullptr ( bool  recognize)

Whether to recognize the nullptr pointer literal from C++.

◆ enable_ExtGNU_Alignment()

LanguageExtensions & LanguageExtensions::enable_ExtGNU_Alignment ( bool  enable)

Whether to enable GNU's alignment:

https://gcc.gnu.org/onlinedocs/gcc/Alignment.html

◆ enable_ExtGNU_AlternateKeywords()

LanguageExtensions & LanguageExtensions::enable_ExtGNU_AlternateKeywords ( bool  enable)

◆ enable_ExtGNU_Asm()

LanguageExtensions & LanguageExtensions::enable_ExtGNU_Asm ( bool  enable)

◆ enable_ExtGNU_AttributeSpecifiers()

LanguageExtensions & LanguageExtensions::enable_ExtGNU_AttributeSpecifiers ( bool  enable)

◆ enable_ExtGNU_AttributeSpecifiersLLVM()

LanguageExtensions & LanguageExtensions::enable_ExtGNU_AttributeSpecifiersLLVM ( bool  enable)

Whether to enable LLVM/Clang extensions of GNU attribute:

https://clang.llvm.org/docs/AttributeReference.html#availability

◆ enable_ExtGNU_Complex()

LanguageExtensions & LanguageExtensions::enable_ExtGNU_Complex ( bool  enable)

Whether to enable GNU complex numbers extension:

https://gcc.gnu.org/onlinedocs/gcc/Complex.html

◆ enable_ExtGNU_CompoundLiterals()

LanguageExtensions & LanguageExtensions::enable_ExtGNU_CompoundLiterals ( bool  enable)

Whether to enable GNU compound literals.

https://gcc.gnu.org/onlinedocs/gcc/Compound-Literals.html

◆ enable_ExtGNU_Conditionals()

LanguageExtensions & LanguageExtensions::enable_ExtGNU_Conditionals ( bool  enable)

Whether to enable GNU conditionals.

https://gcc.gnu.org/onlinedocs/gcc/Conditionals.html

◆ enable_ExtGNU_DesignatedInitializers()

LanguageExtensions & LanguageExtensions::enable_ExtGNU_DesignatedInitializers ( bool  enable)

Whether to enable GNU designated initializers:

https://gcc.gnu.org/onlinedocs/gcc/Designated-Inits.html

◆ enable_ExtGNU_FunctionNames()

LanguageExtensions & LanguageExtensions::enable_ExtGNU_FunctionNames ( bool  enable)

Whether to enable GNU function names as strings:

https://gcc.gnu.org/onlinedocs/gcc/Function-Names.html

◆ enable_ExtGNU_InternalBuiltins()

LanguageExtensions & LanguageExtensions::enable_ExtGNU_InternalBuiltins ( bool  enable)

◆ enable_ExtGNU_StatementExpressions()

LanguageExtensions & LanguageExtensions::enable_ExtGNU_StatementExpressions ( bool  enable)

Whether to enable GNU statement expressions.

https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html

◆ enable_ExtPSY_Generics()

LanguageExtensions & LanguageExtensions::enable_ExtPSY_Generics ( bool  yes)

Whether to set experimental generics from Psyche.

◆ enable_NativeBooleans()

LanguageExtensions & LanguageExtensions::enable_NativeBooleans ( bool  allow)

Whether to allow boolean types natively (even in non-C99 standard), including keywords bool, false, and true,

◆ enable_NULLAsBuiltin()

LanguageExtensions & LanguageExtensions::enable_NULLAsBuiltin ( bool  treat)

Whether to threat NULL as a builtin.

◆ isEnabled_CPP_nullptr()

bool LanguageExtensions::isEnabled_CPP_nullptr ( ) const

Whether to recognize the nullptr pointer literal from C++.

◆ isEnabled_ExtGNU_Alignment()

bool LanguageExtensions::isEnabled_ExtGNU_Alignment ( ) const

Whether to enable GNU's alignment:

https://gcc.gnu.org/onlinedocs/gcc/Alignment.html

◆ isEnabled_ExtGNU_AlternateKeywords()

bool LanguageExtensions::isEnabled_ExtGNU_AlternateKeywords ( ) const

◆ isEnabled_ExtGNU_Asm()

bool LanguageExtensions::isEnabled_ExtGNU_Asm ( ) const

◆ isEnabled_ExtGNU_AttributeSpecifiers()

bool LanguageExtensions::isEnabled_ExtGNU_AttributeSpecifiers ( ) const

◆ isEnabled_ExtGNU_AttributeSpecifiersLLVM()

bool LanguageExtensions::isEnabled_ExtGNU_AttributeSpecifiersLLVM ( ) const

Whether to enable LLVM/Clang extensions of GNU attribute:

https://clang.llvm.org/docs/AttributeReference.html#availability

◆ isEnabled_ExtGNU_Complex()

bool LanguageExtensions::isEnabled_ExtGNU_Complex ( ) const

Whether to enable GNU complex numbers extension:

https://gcc.gnu.org/onlinedocs/gcc/Complex.html

◆ isEnabled_ExtGNU_CompoundLiterals()

bool LanguageExtensions::isEnabled_ExtGNU_CompoundLiterals ( ) const

Whether to enable GNU compound literals.

https://gcc.gnu.org/onlinedocs/gcc/Compound-Literals.html

◆ isEnabled_ExtGNU_Conditionals()

bool LanguageExtensions::isEnabled_ExtGNU_Conditionals ( ) const

Whether to enable GNU conditionals.

https://gcc.gnu.org/onlinedocs/gcc/Conditionals.html

◆ isEnabled_ExtGNU_DesignatedInitializers()

bool LanguageExtensions::isEnabled_ExtGNU_DesignatedInitializers ( ) const

Whether to enable GNU designated initializers:

https://gcc.gnu.org/onlinedocs/gcc/Designated-Inits.html

◆ isEnabled_ExtGNU_FunctionNames()

bool LanguageExtensions::isEnabled_ExtGNU_FunctionNames ( ) const

Whether to enable GNU function names as strings:

https://gcc.gnu.org/onlinedocs/gcc/Function-Names.html

◆ isEnabled_ExtGNU_InternalBuiltins()

bool LanguageExtensions::isEnabled_ExtGNU_InternalBuiltins ( ) const

◆ isEnabled_ExtGNU_StatementExpressions()

bool LanguageExtensions::isEnabled_ExtGNU_StatementExpressions ( ) const

Whether to enable GNU statement expressions.

https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html

◆ isEnabled_ExtPSY_Generics()

bool LanguageExtensions::isEnabled_ExtPSY_Generics ( ) const

Whether to set experimental generics from Psyche.

◆ isEnabled_NativeBooleans()

bool LanguageExtensions::isEnabled_NativeBooleans ( ) const

Whether to allow boolean types natively (even in non-C99 standard), including keywords bool, false, and true,

◆ isEnabled_NULLAsBuiltin()

bool LanguageExtensions::isEnabled_NULLAsBuiltin ( ) const

Whether to threat NULL as a builtin.

◆ translations()

const MacroTranslations & LanguageExtensions::translations ( ) const

The documentation for this class was generated from the following files: