/// type. FIXME: We will need these to be uniqued, or at least
/// comparable, at some point.
QualType getDependentSizedArrayType(QualType EltTy, Expr *NumElts,
- ArrayType::ArraySizeModifier ASM,
- unsigned EltTypeQuals);
+ ArrayType::ArraySizeModifier ASM,
+ unsigned EltTypeQuals);
/// getIncompleteArrayType - Returns a unique reference to the type for a
/// incomplete array of the specified element type.
};
} // end namespace clang
-
+
#endif
bool Typename : 1;
TemplateTypeParmDecl(DeclContext *DC, SourceLocation L,
- IdentifierInfo *Id, bool Typename)
+ IdentifierInfo *Id, bool Typename)
: TypeDecl(TemplateTypeParm, DC, L, Id, 0), Typename(Typename) { }
public:
static TemplateTypeParmDecl *Create(ASTContext &C, DeclContext *DC,
- SourceLocation L, IdentifierInfo *Id,
- bool Typename);
+ SourceLocation L, IdentifierInfo *Id,
+ bool Typename);
/// wasDeclarationWithTypename - Whether this template type
/// parameter was declared with the 'typename' keyword. If not, it
/// @endcode
class NonTypeTemplateParmDecl : public VarDecl {
NonTypeTemplateParmDecl(DeclContext *DC, SourceLocation L,
- IdentifierInfo *Id, QualType T,
- SourceLocation TSSL = SourceLocation())
+ IdentifierInfo *Id, QualType T,
+ SourceLocation TSSL = SourceLocation())
: VarDecl(NonTypeTemplateParm, DC, L, Id, T, VarDecl::None, 0, TSSL) { }
-
+
public:
static NonTypeTemplateParmDecl *
Create(ASTContext &C, DeclContext *DC, SourceLocation L, IdentifierInfo *Id,
- QualType T, SourceLocation TypeSpecStartLoc = SourceLocation());
+ QualType T, SourceLocation TypeSpecStartLoc = SourceLocation());
// Implement isa/cast/dyncast/etc.
static bool classof(const Decl *D) {
}
// If this scope is a function or contains breaks/continues, remember it.
- if (Flags & FnScope) FnParent = this;
- if (Flags & BreakScope) BreakParent = this;
- if (Flags & ContinueScope) ContinueParent = this;
+ if (Flags & FnScope) FnParent = this;
+ if (Flags & BreakScope) BreakParent = this;
+ if (Flags & ContinueScope) ContinueParent = this;
if (Flags & ControlScope) ControlParent = this;
- if (Flags & BlockScope) BlockParent = this;
+ if (Flags & BlockScope) BlockParent = this;
if (Flags & TemplateParamScope) TemplateParamParent = this;
DeclsInScope.clear();
Entity = 0;
TemplateTypeParmDecl *
TemplateTypeParmDecl::Create(ASTContext &C, DeclContext *DC,
- SourceLocation L, IdentifierInfo *Id,
- bool Typename) {
+ SourceLocation L, IdentifierInfo *Id,
+ bool Typename) {
void *Mem = C.getAllocator().Allocate<TemplateTypeParmDecl>();
return new (Mem) TemplateTypeParmDecl(DC, L, Id, Typename);
}
NonTypeTemplateParmDecl *
NonTypeTemplateParmDecl::Create(ASTContext &C, DeclContext *DC,
- SourceLocation L, IdentifierInfo *Id,
- QualType T, SourceLocation TypeSpecStartLoc) {
+ SourceLocation L, IdentifierInfo *Id,
+ QualType T, SourceLocation TypeSpecStartLoc) {
void *Mem = C.getAllocator().Allocate<NonTypeTemplateParmDecl>();
return new (Mem) NonTypeTemplateParmDecl(DC, L, Id, T, TypeSpecStartLoc);
}
virtual void EmitThrowStmt(CodeGen::CodeGenFunction &CGF,
const ObjCAtThrowStmt &S) = 0;
virtual llvm::Value * EmitObjCWeakRead(CodeGen::CodeGenFunction &CGF,
- llvm::Value *AddrWeakObj) = 0;
+ llvm::Value *AddrWeakObj) = 0;
virtual void EmitObjCWeakAssign(CodeGen::CodeGenFunction &CGF,
llvm::Value *src, llvm::Value *dest) = 0;
virtual void EmitObjCGlobalAssign(CodeGen::CodeGenFunction &CGF,
} LVType;
enum ObjCType {
- None = 0, // object with no gc attribute.
- Weak, // __weak object expression
- Strong // __strong object expression
+ None = 0, // object with no gc attribute.
+ Weak, // __weak object expression
+ Strong // __strong object expression
};
llvm::Value *V;