57 #include <llvm/ADT/SmallVector.h> 67 #define TYPEQUAL_NONE 0 68 #define TYPEQUAL_CONST (1 << 0) 69 #define TYPEQUAL_UNIFORM (1 << 1) 70 #define TYPEQUAL_VARYING (1 << 2) 71 #define TYPEQUAL_TASK (1 << 3) 72 #define TYPEQUAL_SIGNED (1 << 4) 73 #define TYPEQUAL_UNSIGNED (1 << 5) 74 #define TYPEQUAL_INLINE (1 << 6) 75 #define TYPEQUAL_EXPORT (1 << 7) 76 #define TYPEQUAL_UNMASKED (1 << 8) 77 #define TYPEQUAL_NOINLINE (1 << 9) 135 void Print(
int indent)
const;
183 void Print(
int indent)
const;
190 std::vector<VariableDeclaration> GetVariableDeclarations()
const;
194 void DeclareFunctions();
212 llvm::SmallVector<const Type *, 8> *elementTypes,
213 llvm::SmallVector<std::string, 8> *elementNames,
214 llvm::SmallVector<SourcePos, 8> *elementPositions);
void GetStructTypesNamesPositions(const std::vector< StructDeclaration *> &sd, llvm::SmallVector< const Type *, 8 > *elementTypes, llvm::SmallVector< std::string, 8 > *elementNames, llvm::SmallVector< SourcePos, 8 > *elementPositions)
std::vector< std::pair< std::string, SourcePos > > declSpecList
StorageClass storageClass
const Type * GetBaseType(SourcePos pos) const
std::vector< Declarator * > * declarators
StructDeclaration(const Type *t, std::vector< Declarator *> *d)
DeclSpecs(const Type *t=NULL, StorageClass sc=SC_NONE, int tq=TYPEQUAL_NONE)
std::vector< Declaration * > functionParams
Representation of a range of positions in a source file.
StorageClass storageClass
Representation of a full declaration of one or more variables, including the shared DeclSpecs as well...
Representation of the declaration of a single variable.
std::vector< Declarator * > declarators
const DeclaratorKind kind
Interface class that defines the type abstraction.
Expr is the abstract base class that defines the interface that all expression types must implement...
Main ispc.header file. Defines Target, Globals and Opt classes.
Representation of the declaration specifiers in a declaration.