clang API Documentation

Classes | Namespaces | Defines | Enumerations | Functions
LangStandard.h File Reference
#include "clang/Basic/LLVM.h"
#include "llvm/ADT/StringRef.h"
#include "clang/Frontend/LangStandards.def"
Include dependency graph for LangStandard.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  clang::LangStandard

Namespaces

namespace  clang
namespace  clang::frontend

Defines

#define LANGSTANDARD(id, name, desc, features)   lang_##id,

Enumerations

enum  clang::frontend::LangFeatures {
  clang::frontend::BCPLComment = (1 << 0), clang::frontend::C89 = (1 << 1), clang::frontend::C99 = (1 << 2), clang::frontend::C11 = (1 << 3),
  clang::frontend::CPlusPlus = (1 << 4), clang::frontend::CPlusPlus0x = (1 << 5), clang::frontend::Digraphs = (1 << 6), clang::frontend::GNUMode = (1 << 7),
  clang::frontend::HexFloat = (1 << 8), clang::frontend::ImplicitInt = (1 << 9)
}

Functions

 LANGSTANDARD (c89,"c89","ISO C 1990", C89|ImplicitInt) LANGSTANDARD(c90
ISO C89 ImplicitInt LANGSTANDARD (iso9899_1990,"iso9899:1990","ISO C 1990", C89|ImplicitInt) LANGSTANDARD(c94
ISO C89 ImplicitInt ISO C with
C89 Digraphs ImplicitInt 
LANGSTANDARD (gnu89,"gnu89","ISO C 1990 with GNU extensions", BCPLComment|C89|Digraphs|GNUMode|ImplicitInt) LANGSTANDARD(gnu90
ISO C89 ImplicitInt ISO C with
C89 Digraphs ImplicitInt ISO C
with GNU BCPLComment C89
Digraphs GNUMode ImplicitInt 
LANGSTANDARD (c99,"c99","ISO C 1999", BCPLComment|C99|Digraphs|HexFloat) LANGSTANDARD(c9x
ISO C89 ImplicitInt ISO C with
C89 Digraphs ImplicitInt ISO C
with GNU BCPLComment C89
Digraphs GNUMode ImplicitInt
ISO BCPLComment C99 Digraphs
HexFloat 
LANGSTANDARD (iso9899_1999,"iso9899:1999","ISO C 1999", BCPLComment|C99|Digraphs|HexFloat) LANGSTANDARD(iso9899_199x
ISO C89 ImplicitInt ISO C with
C89 Digraphs ImplicitInt ISO C
with GNU BCPLComment C89
Digraphs GNUMode ImplicitInt
ISO BCPLComment C99 Digraphs
HexFloat ISO BCPLComment C99
Digraphs HexFloat 
LANGSTANDARD (gnu99,"gnu99","ISO C 1999 with GNU extensions", BCPLComment|C99|Digraphs|GNUMode|HexFloat) LANGSTANDARD(gnu9x
ISO C89 ImplicitInt ISO C with
C89 Digraphs ImplicitInt ISO C
with GNU BCPLComment C89
Digraphs GNUMode ImplicitInt
ISO BCPLComment C99 Digraphs
HexFloat ISO BCPLComment C99
Digraphs HexFloat ISO C with
GNU BCPLComment C99 Digraphs
GNUMode HexFloat 
LANGSTANDARD (c11,"c11","ISO C 2011", BCPLComment|C99|C11|Digraphs|HexFloat) LANGSTANDARD(c1x
ISO C89 ImplicitInt ISO C with
C89 Digraphs ImplicitInt ISO C
with GNU BCPLComment C89
Digraphs GNUMode ImplicitInt
ISO BCPLComment C99 Digraphs
HexFloat ISO BCPLComment C99
Digraphs HexFloat ISO C with
GNU BCPLComment C99 Digraphs
GNUMode HexFloat ISO
BCPLComment C99 C11 Digraphs
HexFloat 
LANGSTANDARD (iso9899_2011,"iso9899:2011","ISO C 2011", BCPLComment|C99|C11|Digraphs|HexFloat) LANGSTANDARD(iso9899_201x
ISO C89 ImplicitInt ISO C with
C89 Digraphs ImplicitInt ISO C
with GNU BCPLComment C89
Digraphs GNUMode ImplicitInt
ISO BCPLComment C99 Digraphs
HexFloat ISO BCPLComment C99
Digraphs HexFloat ISO C with
GNU BCPLComment C99 Digraphs
GNUMode HexFloat ISO
BCPLComment C99 C11 Digraphs
HexFloat ISO BCPLComment C99
C11 Digraphs HexFloat 
LANGSTANDARD (gnu11,"gnu11","ISO C 2011 with GNU extensions", BCPLComment|C99|C11|Digraphs|GNUMode|HexFloat) LANGSTANDARD(gnu1x
ISO C89 ImplicitInt ISO C with
C89 Digraphs ImplicitInt ISO C
with GNU BCPLComment C89
Digraphs GNUMode ImplicitInt
ISO BCPLComment C99 Digraphs
HexFloat ISO BCPLComment C99
Digraphs HexFloat ISO C with
GNU BCPLComment C99 Digraphs
GNUMode HexFloat ISO
BCPLComment C99 C11 Digraphs
HexFloat ISO BCPLComment C99
C11 Digraphs HexFloat ISO C
with GNU BCPLComment C99 C11
Digraphs GNUMode HexFloat 
LANGSTANDARD (cxx98,"c++98","ISO C++ 1998 with amendments", BCPLComment|CPlusPlus|Digraphs) LANGSTANDARD(cxx03
ISO C89 ImplicitInt ISO C with
C89 Digraphs ImplicitInt ISO C
with GNU BCPLComment C89
Digraphs GNUMode ImplicitInt
ISO BCPLComment C99 Digraphs
HexFloat ISO BCPLComment C99
Digraphs HexFloat ISO C with
GNU BCPLComment C99 Digraphs
GNUMode HexFloat ISO
BCPLComment C99 C11 Digraphs
HexFloat ISO BCPLComment C99
C11 Digraphs HexFloat ISO C
with GNU BCPLComment C99 C11
Digraphs GNUMode HexFloat ISO
C with BCPLComment CPlusPlus
Digraphs 
LANGSTANDARD (gnucxx98,"gnu++98","ISO C++ 1998 with amendments and GNU extensions", BCPLComment|CPlusPlus|Digraphs|GNUMode) LANGSTANDARD(cxx0x
ISO C89 ImplicitInt ISO C with
C89 Digraphs ImplicitInt ISO C
with GNU BCPLComment C89
Digraphs GNUMode ImplicitInt
ISO BCPLComment C99 Digraphs
HexFloat ISO BCPLComment C99
Digraphs HexFloat ISO C with
GNU BCPLComment C99 Digraphs
GNUMode HexFloat ISO
BCPLComment C99 C11 Digraphs
HexFloat ISO BCPLComment C99
C11 Digraphs HexFloat ISO C
with GNU BCPLComment C99 C11
Digraphs GNUMode HexFloat ISO
C with BCPLComment CPlusPlus
Digraphs ISO C with
BCPLComment CPlusPlus
CPlusPlus0x Digraphs 
LANGSTANDARD (cxx11,"c++11","ISO C++ 2011 with amendments", BCPLComment|CPlusPlus|CPlusPlus0x|Digraphs) LANGSTANDARD(gnucxx0x
ISO C89 ImplicitInt ISO C with
C89 Digraphs ImplicitInt ISO C
with GNU BCPLComment C89
Digraphs GNUMode ImplicitInt
ISO BCPLComment C99 Digraphs
HexFloat ISO BCPLComment C99
Digraphs HexFloat ISO C with
GNU BCPLComment C99 Digraphs
GNUMode HexFloat ISO
BCPLComment C99 C11 Digraphs
HexFloat ISO BCPLComment C99
C11 Digraphs HexFloat ISO C
with GNU BCPLComment C99 C11
Digraphs GNUMode HexFloat ISO
C with BCPLComment CPlusPlus
Digraphs ISO C with
BCPLComment CPlusPlus
CPlusPlus0x Digraphs ISO C
with amendments and GNU
BCPLComment CPlusPlus
CPlusPlus0x Digraphs GNUMode 
LANGSTANDARD (gnucxx11,"gnu++11","ISO C++ 2011 with amendments and GNU extensions", BCPLComment|CPlusPlus|CPlusPlus0x|Digraphs|GNUMode) LANGSTANDARD(opencl
ISO C89 ImplicitInt ISO C with
C89 Digraphs ImplicitInt ISO C
with GNU BCPLComment C89
Digraphs GNUMode ImplicitInt
ISO BCPLComment C99 Digraphs
HexFloat ISO BCPLComment C99
Digraphs HexFloat ISO C with
GNU BCPLComment C99 Digraphs
GNUMode HexFloat ISO
BCPLComment C99 C11 Digraphs
HexFloat ISO BCPLComment C99
C11 Digraphs HexFloat ISO C
with GNU BCPLComment C99 C11
Digraphs GNUMode HexFloat ISO
C with BCPLComment CPlusPlus
Digraphs ISO C with
BCPLComment CPlusPlus
CPlusPlus0x Digraphs ISO C
with amendments and GNU
BCPLComment CPlusPlus
CPlusPlus0x Digraphs GNUMode
BCPLComment C99 Digraphs
HexFloat 
LANGSTANDARD (cuda,"cuda","NVIDIA CUDA(tm)", BCPLComment|CPlusPlus|Digraphs) lang_unspecified

Define Documentation

#define LANGSTANDARD (   id,
  name,
  desc,
  features 
)    lang_##id,

Definition at line 39 of file LangStandard.h.

Referenced by clang::LangStandard::getLangStandardForName(), and ParseLangArgs().


Function Documentation

clang::LangStandard::Kind::LANGSTANDARD ( c89  ,
"c89"  ,
"ISO C 1990"  ,
C89|  ImplicitInt 
)

LANGSTANDARD(IDENT, NAME, DESC, FEATURES)

Parameters:
IDENT- The name of the standard as a C++ identifier.
NAME- The name of the standard.
DESC- A short description of the standard.
FEATURES- The standard features as flags, these are enums from the clang::frontend namespace, which is assumed to be be available.
ISO C89 ImplicitInt clang::LangStandard::Kind::LANGSTANDARD ( iso9899_1990  ,
"iso9899:1990"  ,
"ISO C 1990"  ,
C89|  ImplicitInt 
)
ISO C89 ImplicitInt ISO C with C89 Digraphs ImplicitInt clang::LangStandard::Kind::LANGSTANDARD ( gnu89  ,
"gnu89"  ,
"ISO C 1990 with GNU extensions"  ,
BCPLComment|C89|Digraphs|GNUMode|  ImplicitInt 
)
ISO C89 ImplicitInt ISO C with C89 Digraphs ImplicitInt ISO C with GNU BCPLComment C89 Digraphs GNUMode ImplicitInt clang::LangStandard::Kind::LANGSTANDARD ( c99  ,
"c99"  ,
"ISO C 1999"  ,
BCPLComment|C99|Digraphs|  HexFloat 
)
ISO C89 ImplicitInt ISO C with C89 Digraphs ImplicitInt ISO C with GNU BCPLComment C89 Digraphs GNUMode ImplicitInt ISO BCPLComment C99 Digraphs HexFloat clang::LangStandard::Kind::LANGSTANDARD ( iso9899_1999  ,
"iso9899:1999"  ,
"ISO C 1999"  ,
BCPLComment|C99|Digraphs|  HexFloat 
)
ISO C89 ImplicitInt ISO C with C89 Digraphs ImplicitInt ISO C with GNU BCPLComment C89 Digraphs GNUMode ImplicitInt ISO BCPLComment C99 Digraphs HexFloat ISO BCPLComment C99 Digraphs HexFloat clang::LangStandard::Kind::LANGSTANDARD ( gnu99  ,
"gnu99"  ,
"ISO C 1999 with GNU extensions"  ,
BCPLComment|C99|Digraphs|GNUMode|  HexFloat 
)
ISO C89 ImplicitInt ISO C with C89 Digraphs ImplicitInt ISO C with GNU BCPLComment C89 Digraphs GNUMode ImplicitInt ISO BCPLComment C99 Digraphs HexFloat ISO BCPLComment C99 Digraphs HexFloat ISO C with GNU BCPLComment C99 Digraphs GNUMode HexFloat clang::LangStandard::Kind::LANGSTANDARD ( c11  ,
"c11"  ,
"ISO C 2011"  ,
BCPLComment|C99|C11|Digraphs|  HexFloat 
)
ISO C89 ImplicitInt ISO C with C89 Digraphs ImplicitInt ISO C with GNU BCPLComment C89 Digraphs GNUMode ImplicitInt ISO BCPLComment C99 Digraphs HexFloat ISO BCPLComment C99 Digraphs HexFloat ISO C with GNU BCPLComment C99 Digraphs GNUMode HexFloat ISO BCPLComment C99 C11 Digraphs HexFloat clang::LangStandard::Kind::LANGSTANDARD ( iso9899_2011  ,
"iso9899:2011"  ,
"ISO C 2011"  ,
BCPLComment|C99|C11|Digraphs|  HexFloat 
)
ISO C89 ImplicitInt ISO C with C89 Digraphs ImplicitInt ISO C with GNU BCPLComment C89 Digraphs GNUMode ImplicitInt ISO BCPLComment C99 Digraphs HexFloat ISO BCPLComment C99 Digraphs HexFloat ISO C with GNU BCPLComment C99 Digraphs GNUMode HexFloat ISO BCPLComment C99 C11 Digraphs HexFloat ISO BCPLComment C99 C11 Digraphs HexFloat clang::LangStandard::Kind::LANGSTANDARD ( gnu11  ,
"gnu11"  ,
"ISO C 2011 with GNU extensions"  ,
BCPLComment|C99|C11|Digraphs|GNUMode|  HexFloat 
)
ISO C89 ImplicitInt ISO C with C89 Digraphs ImplicitInt ISO C with GNU BCPLComment C89 Digraphs GNUMode ImplicitInt ISO BCPLComment C99 Digraphs HexFloat ISO BCPLComment C99 Digraphs HexFloat ISO C with GNU BCPLComment C99 Digraphs GNUMode HexFloat ISO BCPLComment C99 C11 Digraphs HexFloat ISO BCPLComment C99 C11 Digraphs HexFloat ISO C with GNU BCPLComment C99 C11 Digraphs GNUMode HexFloat clang::LangStandard::Kind::LANGSTANDARD ( cxx98  ,
"c++98"  ,
"ISO C++ 1998 with amendments"  ,
BCPLComment|CPlusPlus|  Digraphs 
)
ISO C89 ImplicitInt ISO C with C89 Digraphs ImplicitInt ISO C with GNU BCPLComment C89 Digraphs GNUMode ImplicitInt ISO BCPLComment C99 Digraphs HexFloat ISO BCPLComment C99 Digraphs HexFloat ISO C with GNU BCPLComment C99 Digraphs GNUMode HexFloat ISO BCPLComment C99 C11 Digraphs HexFloat ISO BCPLComment C99 C11 Digraphs HexFloat ISO C with GNU BCPLComment C99 C11 Digraphs GNUMode HexFloat ISO C with BCPLComment CPlusPlus Digraphs clang::LangStandard::Kind::LANGSTANDARD ( gnucxx98  ,
"gnu++98"  ,
"ISO C++ 1998 with amendments and GNU extensions"  ,
BCPLComment|CPlusPlus|Digraphs|  GNUMode 
)
ISO C89 ImplicitInt ISO C with C89 Digraphs ImplicitInt ISO C with GNU BCPLComment C89 Digraphs GNUMode ImplicitInt ISO BCPLComment C99 Digraphs HexFloat ISO BCPLComment C99 Digraphs HexFloat ISO C with GNU BCPLComment C99 Digraphs GNUMode HexFloat ISO BCPLComment C99 C11 Digraphs HexFloat ISO BCPLComment C99 C11 Digraphs HexFloat ISO C with GNU BCPLComment C99 C11 Digraphs GNUMode HexFloat ISO C with BCPLComment CPlusPlus Digraphs ISO C with BCPLComment CPlusPlus CPlusPlus0x Digraphs clang::LangStandard::Kind::LANGSTANDARD ( cxx11  ,
"c++11"  ,
"ISO C++ 2011 with amendments"  ,
BCPLComment|CPlusPlus|CPlusPlus0x|  Digraphs 
)
ISO C89 ImplicitInt ISO C with C89 Digraphs ImplicitInt ISO C with GNU BCPLComment C89 Digraphs GNUMode ImplicitInt ISO BCPLComment C99 Digraphs HexFloat ISO BCPLComment C99 Digraphs HexFloat ISO C with GNU BCPLComment C99 Digraphs GNUMode HexFloat ISO BCPLComment C99 C11 Digraphs HexFloat ISO BCPLComment C99 C11 Digraphs HexFloat ISO C with GNU BCPLComment C99 C11 Digraphs GNUMode HexFloat ISO C with BCPLComment CPlusPlus Digraphs ISO C with BCPLComment CPlusPlus CPlusPlus0x Digraphs ISO C with amendments and GNU BCPLComment CPlusPlus CPlusPlus0x Digraphs GNUMode clang::LangStandard::Kind::LANGSTANDARD ( gnucxx11  ,
"gnu++11"  ,
"ISO C++ 2011 with amendments and GNU extensions"  ,
BCPLComment|CPlusPlus|CPlusPlus0x|Digraphs|  GNUMode 
)
ISO C89 ImplicitInt ISO C with C89 Digraphs ImplicitInt ISO C with GNU BCPLComment C89 Digraphs GNUMode ImplicitInt ISO BCPLComment C99 Digraphs HexFloat ISO BCPLComment C99 Digraphs HexFloat ISO C with GNU BCPLComment C99 Digraphs GNUMode HexFloat ISO BCPLComment C99 C11 Digraphs HexFloat ISO BCPLComment C99 C11 Digraphs HexFloat ISO C with GNU BCPLComment C99 C11 Digraphs GNUMode HexFloat ISO C with BCPLComment CPlusPlus Digraphs ISO C with BCPLComment CPlusPlus CPlusPlus0x Digraphs ISO C with amendments and GNU BCPLComment CPlusPlus CPlusPlus0x Digraphs GNUMode BCPLComment C99 Digraphs HexFloat clang::LangStandard::Kind::LANGSTANDARD ( cuda  ,
"cuda"  ,
"NVIDIA CUDA(tm)"  ,
BCPLComment|CPlusPlus|  Digraphs 
)