Intel® Implicit SPMD Program Compiler (Intel® ISPC)
1.13.0
|
Implementations of classes related to turning declarations into symbol names and types. More...
#include "decl.h"
#include "expr.h"
#include "module.h"
#include "stmt.h"
#include "sym.h"
#include "type.h"
#include "util.h"
#include <set>
#include <stdio.h>
#include <string.h>
Go to the source code of this file.
Functions | |
static void | lPrintTypeQualifiers (int typeQualifiers) |
static const Type * | lApplyTypeQualifiers (int typeQualifiers, const Type *type, SourcePos pos) |
static const char * | lGetStorageClassName (StorageClass storageClass) |
void | GetStructTypesNamesPositions (const std::vector< StructDeclaration *> &sd, llvm::SmallVector< const Type *, 8 > *elementTypes, llvm::SmallVector< std::string, 8 > *elementNames, llvm::SmallVector< SourcePos, 8 > *elementPositions) |
Implementations of classes related to turning declarations into symbol names and types.
Definition in file decl.cpp.
void GetStructTypesNamesPositions | ( | const std::vector< StructDeclaration *> & | sd, |
llvm::SmallVector< const Type *, 8 > * | elementTypes, | ||
llvm::SmallVector< std::string, 8 > * | elementNames, | ||
llvm::SmallVector< SourcePos, 8 > * | elementPositions | ||
) |
Given a set of StructDeclaration instances, this returns the types of the elements of the corresponding struct and their names.
Definition at line 669 of file decl.cpp.
References Error(), ArrayType::GetElementCount(), Type::GetSOAWidth(), Declarator::InitFromDeclSpecs(), Type::IsUniformType(), Type::IsVaryingType(), Type::IsVoidType(), Declarator::name, Declarator::pos, DeclSpecs::soaWidth, Declarator::type, TYPEQUAL_UNIFORM, TYPEQUAL_VARYING, and DeclSpecs::typeQualifiers.
|
static |
Given a Type and a set of type qualifiers, apply the type qualifiers to the type, returning the type that is the result.
Definition at line 74 of file decl.cpp.
References Error(), Type::GetAsConstType(), Type::GetAsUnboundVariabilityType(), Type::GetAsUniformType(), Type::GetAsUnsignedType(), Type::GetAsVaryingType(), Type::GetString(), Type::IsIntType(), Type::IsVoidType(), Type::ResolveUnboundVariability(), TYPEQUAL_CONST, TYPEQUAL_SIGNED, TYPEQUAL_UNIFORM, TYPEQUAL_UNSIGNED, TYPEQUAL_VARYING, and Variability::Varying.
Referenced by DeclSpecs::GetBaseType().
|
static |
Definition at line 210 of file decl.cpp.
References FATAL, SC_EXTERN, SC_EXTERN_C, SC_NONE, SC_STATIC, and SC_TYPEDEF.
Referenced by Declarator::InitFromType(), DeclSpecs::Print(), and Declarator::Print().
|
static |
Definition at line 50 of file decl.cpp.
References TYPEQUAL_CONST, TYPEQUAL_EXPORT, TYPEQUAL_INLINE, TYPEQUAL_SIGNED, TYPEQUAL_TASK, TYPEQUAL_UNIFORM, TYPEQUAL_UNMASKED, TYPEQUAL_UNSIGNED, and TYPEQUAL_VARYING.
Referenced by DeclSpecs::Print(), and Declarator::Print().