зеркало из https://github.com/microsoft/clang.git
now that we have a centralized place to do so, add some using declarations for
some common llvm types: stringref and smallvector. This cleans up the codebase quite a bit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135576 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
9594675cc1
Коммит
686775deca
|
@ -37,17 +37,17 @@ namespace arcmt {
|
|||
///
|
||||
/// \returns false if no error is produced, true otherwise.
|
||||
bool checkForManualIssues(CompilerInvocation &CI,
|
||||
llvm::StringRef Filename, InputKind Kind,
|
||||
StringRef Filename, InputKind Kind,
|
||||
DiagnosticClient *DiagClient,
|
||||
bool emitPremigrationARCErrors = false,
|
||||
llvm::StringRef plistOut = llvm::StringRef());
|
||||
StringRef plistOut = StringRef());
|
||||
|
||||
/// \brief Works similar to checkForManualIssues but instead of checking, it
|
||||
/// applies automatic modifications to source files to conform to ARC.
|
||||
///
|
||||
/// \returns false if no error is produced, true otherwise.
|
||||
bool applyTransformations(CompilerInvocation &origCI,
|
||||
llvm::StringRef Filename, InputKind Kind,
|
||||
StringRef Filename, InputKind Kind,
|
||||
DiagnosticClient *DiagClient);
|
||||
|
||||
/// \brief Applies automatic modifications and produces temporary files
|
||||
|
@ -62,18 +62,18 @@ bool applyTransformations(CompilerInvocation &origCI,
|
|||
///
|
||||
/// \returns false if no error is produced, true otherwise.
|
||||
bool migrateWithTemporaryFiles(CompilerInvocation &origCI,
|
||||
llvm::StringRef Filename, InputKind Kind,
|
||||
StringRef Filename, InputKind Kind,
|
||||
DiagnosticClient *DiagClient,
|
||||
llvm::StringRef outputDir,
|
||||
StringRef outputDir,
|
||||
bool emitPremigrationARCErrors,
|
||||
llvm::StringRef plistOut);
|
||||
StringRef plistOut);
|
||||
|
||||
/// \brief Get the set of file remappings from the \arg outputDir path that
|
||||
/// migrateWithTemporaryFiles produced.
|
||||
///
|
||||
/// \returns false if no error is produced, true otherwise.
|
||||
bool getFileRemappings(std::vector<std::pair<std::string,std::string> > &remap,
|
||||
llvm::StringRef outputDir,
|
||||
StringRef outputDir,
|
||||
DiagnosticClient *DiagClient);
|
||||
|
||||
typedef void (*TransformFn)(MigrationPass &pass);
|
||||
|
@ -87,7 +87,7 @@ class MigrationProcess {
|
|||
|
||||
public:
|
||||
MigrationProcess(const CompilerInvocation &CI, DiagnosticClient *diagClient,
|
||||
llvm::StringRef outputDir = llvm::StringRef());
|
||||
StringRef outputDir = StringRef());
|
||||
|
||||
class RewriteListener {
|
||||
public:
|
||||
|
@ -96,7 +96,7 @@ public:
|
|||
virtual void start(ASTContext &Ctx) { }
|
||||
virtual void finish() { }
|
||||
|
||||
virtual void insert(SourceLocation loc, llvm::StringRef text) { }
|
||||
virtual void insert(SourceLocation loc, StringRef text) { }
|
||||
virtual void remove(CharSourceRange range) { }
|
||||
};
|
||||
|
||||
|
|
|
@ -40,8 +40,8 @@ protected:
|
|||
virtual bool BeginInvocation(CompilerInstance &CI);
|
||||
|
||||
public:
|
||||
MigrateAction(FrontendAction *WrappedAction, llvm::StringRef migrateDir,
|
||||
llvm::StringRef plistOut,
|
||||
MigrateAction(FrontendAction *WrappedAction, StringRef migrateDir,
|
||||
StringRef plistOut,
|
||||
bool emitPremigrationARCErrors);
|
||||
};
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#ifndef LLVM_CLANG_ARCMIGRATE_FILEREMAPPER_H
|
||||
#define LLVM_CLANG_ARCMIGRATE_FILEREMAPPER_H
|
||||
|
||||
#include "clang/Basic/LLVM.h"
|
||||
#include "llvm/ADT/OwningPtr.h"
|
||||
#include "llvm/ADT/PointerUnion.h"
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
|
@ -41,32 +42,32 @@ public:
|
|||
FileRemapper();
|
||||
~FileRemapper();
|
||||
|
||||
bool initFromDisk(llvm::StringRef outputDir, Diagnostic &Diag,
|
||||
bool initFromDisk(StringRef outputDir, Diagnostic &Diag,
|
||||
bool ignoreIfFilesChanged);
|
||||
bool flushToDisk(llvm::StringRef outputDir, Diagnostic &Diag);
|
||||
bool flushToDisk(StringRef outputDir, Diagnostic &Diag);
|
||||
|
||||
bool overwriteOriginal(Diagnostic &Diag,
|
||||
llvm::StringRef outputDir = llvm::StringRef());
|
||||
StringRef outputDir = StringRef());
|
||||
|
||||
void remap(llvm::StringRef filePath, llvm::MemoryBuffer *memBuf);
|
||||
void remap(llvm::StringRef filePath, llvm::StringRef newPath);
|
||||
void remap(StringRef filePath, llvm::MemoryBuffer *memBuf);
|
||||
void remap(StringRef filePath, StringRef newPath);
|
||||
|
||||
void applyMappings(CompilerInvocation &CI) const;
|
||||
|
||||
void transferMappingsAndClear(CompilerInvocation &CI);
|
||||
|
||||
void clear(llvm::StringRef outputDir = llvm::StringRef());
|
||||
void clear(StringRef outputDir = StringRef());
|
||||
|
||||
private:
|
||||
void remap(const FileEntry *file, llvm::MemoryBuffer *memBuf);
|
||||
void remap(const FileEntry *file, const FileEntry *newfile);
|
||||
|
||||
const FileEntry *getOriginalFile(llvm::StringRef filePath);
|
||||
const FileEntry *getOriginalFile(StringRef filePath);
|
||||
void resetTarget(Target &targ);
|
||||
|
||||
bool report(const std::string &err, Diagnostic &Diag);
|
||||
|
||||
std::string getRemapInfoFile(llvm::StringRef outputDir);
|
||||
std::string getRemapInfoFile(StringRef outputDir);
|
||||
};
|
||||
|
||||
} // end namespace arcmt
|
||||
|
|
|
@ -599,7 +599,7 @@ public:
|
|||
}
|
||||
|
||||
/// This builds the struct used for __block variables.
|
||||
QualType BuildByRefType(llvm::StringRef DeclName, QualType Ty) const;
|
||||
QualType BuildByRefType(StringRef DeclName, QualType Ty) const;
|
||||
|
||||
/// Returns true iff we need copy/dispose helpers for the given type.
|
||||
bool BlockRequiresCopying(QualType Ty) const;
|
||||
|
@ -1166,11 +1166,11 @@ public:
|
|||
MangleContext *createMangleContext();
|
||||
|
||||
void ShallowCollectObjCIvars(const ObjCInterfaceDecl *OI,
|
||||
llvm::SmallVectorImpl<ObjCIvarDecl*> &Ivars)
|
||||
SmallVectorImpl<ObjCIvarDecl*> &Ivars)
|
||||
const;
|
||||
|
||||
void DeepCollectObjCIvars(const ObjCInterfaceDecl *OI, bool leafClass,
|
||||
llvm::SmallVectorImpl<ObjCIvarDecl*> &Ivars) const;
|
||||
SmallVectorImpl<ObjCIvarDecl*> &Ivars) const;
|
||||
|
||||
unsigned CountNonClassIvars(const ObjCInterfaceDecl *OI) const;
|
||||
void CollectInheritedProtocols(const Decl *CDecl,
|
||||
|
@ -1644,7 +1644,7 @@ private:
|
|||
private:
|
||||
/// \brief A set of deallocations that should be performed when the
|
||||
/// ASTContext is destroyed.
|
||||
llvm::SmallVector<std::pair<void (*)(void*), void *>, 16> Deallocations;
|
||||
SmallVector<std::pair<void (*)(void*), void *>, 16> Deallocations;
|
||||
|
||||
// FIXME: This currently contains the set of StoredDeclMaps used
|
||||
// by DeclContext objects. This probably should not be in ASTContext,
|
||||
|
@ -1660,13 +1660,13 @@ private:
|
|||
};
|
||||
|
||||
/// @brief Utility function for constructing a nullary selector.
|
||||
static inline Selector GetNullarySelector(llvm::StringRef name, ASTContext& Ctx) {
|
||||
static inline Selector GetNullarySelector(StringRef name, ASTContext& Ctx) {
|
||||
IdentifierInfo* II = &Ctx.Idents.get(name);
|
||||
return Ctx.Selectors.getSelector(0, &II);
|
||||
}
|
||||
|
||||
/// @brief Utility function for constructing an unary selector.
|
||||
static inline Selector GetUnarySelector(llvm::StringRef name, ASTContext& Ctx) {
|
||||
static inline Selector GetUnarySelector(StringRef name, ASTContext& Ctx) {
|
||||
IdentifierInfo* II = &Ctx.Idents.get(name);
|
||||
return Ctx.Selectors.getSelector(1, &II);
|
||||
}
|
||||
|
|
|
@ -42,9 +42,9 @@ namespace clang {
|
|||
unsigned ArgLen,
|
||||
const Diagnostic::ArgumentValue *PrevArgs,
|
||||
unsigned NumPrevArgs,
|
||||
llvm::SmallVectorImpl<char> &Output,
|
||||
SmallVectorImpl<char> &Output,
|
||||
void *Cookie,
|
||||
llvm::SmallVectorImpl<intptr_t> &QualTypeVals);
|
||||
SmallVectorImpl<intptr_t> &QualTypeVals);
|
||||
} // end namespace clang
|
||||
|
||||
#endif
|
||||
|
|
|
@ -67,7 +67,7 @@ namespace clang {
|
|||
|
||||
/// \brief Imported, anonymous tag declarations that are missing their
|
||||
/// corresponding typedefs.
|
||||
llvm::SmallVector<TagDecl *, 4> AnonTagsWithPendingTypedefs;
|
||||
SmallVector<TagDecl *, 4> AnonTagsWithPendingTypedefs;
|
||||
|
||||
/// \brief Declaration (from, to) pairs that are known not to be equivalent
|
||||
/// (which we have already complained about).
|
||||
|
|
|
@ -137,8 +137,8 @@ public:
|
|||
#include "clang/AST/Attrs.inc"
|
||||
|
||||
/// AttrVec - A vector of Attr, which is how they are stored on the AST.
|
||||
typedef llvm::SmallVector<Attr*, 2> AttrVec;
|
||||
typedef llvm::SmallVector<const Attr*, 2> ConstAttrVec;
|
||||
typedef SmallVector<Attr*, 2> AttrVec;
|
||||
typedef SmallVector<const Attr*, 2> ConstAttrVec;
|
||||
|
||||
/// DestroyAttrs - Destroy the contents of an AttrVec.
|
||||
inline void DestroyAttrs (AttrVec& V, ASTContext &C) {
|
||||
|
|
|
@ -66,7 +66,7 @@ struct CXXBasePathElement {
|
|||
/// structure, which captures both the link from a derived class to one of its
|
||||
/// direct bases and identification describing which base class
|
||||
/// subobject is being used.
|
||||
class CXXBasePath : public llvm::SmallVector<CXXBasePathElement, 4> {
|
||||
class CXXBasePath : public SmallVector<CXXBasePathElement, 4> {
|
||||
public:
|
||||
CXXBasePath() : Access(AS_public) {}
|
||||
|
||||
|
@ -80,7 +80,7 @@ public:
|
|||
DeclContext::lookup_result Decls;
|
||||
|
||||
void clear() {
|
||||
llvm::SmallVectorImpl<CXXBasePathElement>::clear();
|
||||
SmallVectorImpl<CXXBasePathElement>::clear();
|
||||
Access = AS_public;
|
||||
}
|
||||
};
|
||||
|
@ -272,14 +272,14 @@ struct UniqueVirtualMethod {
|
|||
/// pair is the virtual method that overrides it (including the
|
||||
/// subobject in which that virtual function occurs).
|
||||
class OverridingMethods {
|
||||
llvm::DenseMap<unsigned, llvm::SmallVector<UniqueVirtualMethod, 4> >
|
||||
llvm::DenseMap<unsigned, SmallVector<UniqueVirtualMethod, 4> >
|
||||
Overrides;
|
||||
|
||||
public:
|
||||
// Iterate over the set of subobjects that have overriding methods.
|
||||
typedef llvm::DenseMap<unsigned, llvm::SmallVector<UniqueVirtualMethod, 4> >
|
||||
typedef llvm::DenseMap<unsigned, SmallVector<UniqueVirtualMethod, 4> >
|
||||
::iterator iterator;
|
||||
typedef llvm::DenseMap<unsigned, llvm::SmallVector<UniqueVirtualMethod, 4> >
|
||||
typedef llvm::DenseMap<unsigned, SmallVector<UniqueVirtualMethod, 4> >
|
||||
::const_iterator const_iterator;
|
||||
iterator begin() { return Overrides.begin(); }
|
||||
const_iterator begin() const { return Overrides.begin(); }
|
||||
|
@ -289,9 +289,9 @@ public:
|
|||
|
||||
// Iterate over the set of overriding virtual methods in a given
|
||||
// subobject.
|
||||
typedef llvm::SmallVector<UniqueVirtualMethod, 4>::iterator
|
||||
typedef SmallVector<UniqueVirtualMethod, 4>::iterator
|
||||
overriding_iterator;
|
||||
typedef llvm::SmallVector<UniqueVirtualMethod, 4>::const_iterator
|
||||
typedef SmallVector<UniqueVirtualMethod, 4>::const_iterator
|
||||
overriding_const_iterator;
|
||||
|
||||
// Add a new overriding method for a particular subobject.
|
||||
|
|
|
@ -115,7 +115,7 @@ public:
|
|||
/// getName - Get the name of identifier for this declaration as a StringRef.
|
||||
/// This requires that the declaration have a name and that it be a simple
|
||||
/// identifier.
|
||||
llvm::StringRef getName() const {
|
||||
StringRef getName() const {
|
||||
assert(Name.isIdentifier() && "Name is not a simple identifier");
|
||||
return getIdentifier() ? getIdentifier()->getName() : "";
|
||||
}
|
||||
|
|
|
@ -839,7 +839,7 @@ protected:
|
|||
///
|
||||
/// \returns the first/last pair of declarations.
|
||||
static std::pair<Decl *, Decl *>
|
||||
BuildDeclChain(const llvm::SmallVectorImpl<Decl*> &Decls);
|
||||
BuildDeclChain(const SmallVectorImpl<Decl*> &Decls);
|
||||
|
||||
DeclContext(Decl::Kind K)
|
||||
: DeclKind(K), ExternalLexicalStorage(false),
|
||||
|
|
|
@ -31,7 +31,7 @@ class DependentDiagnostic;
|
|||
struct StoredDeclsList {
|
||||
|
||||
/// DeclsTy - When in vector form, this is what the Data pointer points to.
|
||||
typedef llvm::SmallVector<NamedDecl *, 4> DeclsTy;
|
||||
typedef SmallVector<NamedDecl *, 4> DeclsTy;
|
||||
|
||||
/// \brief The stored data, which will be either a pointer to a NamedDecl,
|
||||
/// or a pointer to a vector.
|
||||
|
|
|
@ -1203,7 +1203,7 @@ public:
|
|||
//
|
||||
// FIXME: This is a bad API, we are overriding the NamedDecl::getName, to mean
|
||||
// something different.
|
||||
llvm::StringRef getName() const {
|
||||
StringRef getName() const {
|
||||
return Id ? Id->getNameStart() : "";
|
||||
}
|
||||
|
||||
|
@ -1320,7 +1320,7 @@ public:
|
|||
//
|
||||
// FIXME: This is a bad API, we are overriding the NamedDecl::getName, to mean
|
||||
// something different.
|
||||
llvm::StringRef getName() const {
|
||||
StringRef getName() const {
|
||||
assert(getIdentifier() && "Name is not a simple identifier");
|
||||
return getIdentifier()->getName();
|
||||
}
|
||||
|
|
|
@ -1864,7 +1864,7 @@ public:
|
|||
|
||||
/// \brief Retrieve the partial specializations as an ordered list.
|
||||
void getPartialSpecializations(
|
||||
llvm::SmallVectorImpl<ClassTemplatePartialSpecializationDecl *> &PS);
|
||||
SmallVectorImpl<ClassTemplatePartialSpecializationDecl *> &PS);
|
||||
|
||||
/// \brief Find a class template partial specialization with the given
|
||||
/// type T.
|
||||
|
|
|
@ -46,7 +46,7 @@ namespace clang {
|
|||
class OpaqueValueExpr;
|
||||
|
||||
/// \brief A simple array of base specifiers.
|
||||
typedef llvm::SmallVector<CXXBaseSpecifier*, 4> CXXCastPath;
|
||||
typedef SmallVector<CXXBaseSpecifier*, 4> CXXCastPath;
|
||||
|
||||
/// Expr - This represents one expression. Note that Expr's are subclasses of
|
||||
/// Stmt. This allows an expression to be transparently used any place a Stmt
|
||||
|
@ -1259,12 +1259,12 @@ class StringLiteral : public Expr {
|
|||
public:
|
||||
/// This is the "fully general" constructor that allows representation of
|
||||
/// strings formed from multiple concatenated tokens.
|
||||
static StringLiteral *Create(ASTContext &C, llvm::StringRef Str, bool Wide,
|
||||
static StringLiteral *Create(ASTContext &C, StringRef Str, bool Wide,
|
||||
bool Pascal, QualType Ty,
|
||||
const SourceLocation *Loc, unsigned NumStrs);
|
||||
|
||||
/// Simple constructor for string literals made from one token.
|
||||
static StringLiteral *Create(ASTContext &C, llvm::StringRef Str, bool Wide,
|
||||
static StringLiteral *Create(ASTContext &C, StringRef Str, bool Wide,
|
||||
bool Pascal, QualType Ty, SourceLocation Loc) {
|
||||
return Create(C, Str, Wide, Pascal, Ty, &Loc, 1);
|
||||
}
|
||||
|
@ -1272,20 +1272,20 @@ public:
|
|||
/// \brief Construct an empty string literal.
|
||||
static StringLiteral *CreateEmpty(ASTContext &C, unsigned NumStrs);
|
||||
|
||||
llvm::StringRef getString() const {
|
||||
return llvm::StringRef(StrData, ByteLength);
|
||||
StringRef getString() const {
|
||||
return StringRef(StrData, ByteLength);
|
||||
}
|
||||
|
||||
unsigned getByteLength() const { return ByteLength; }
|
||||
|
||||
/// \brief Sets the string data to the given string data.
|
||||
void setString(ASTContext &C, llvm::StringRef Str);
|
||||
void setString(ASTContext &C, StringRef Str);
|
||||
|
||||
bool isWide() const { return IsWide; }
|
||||
bool isPascal() const { return IsPascal; }
|
||||
|
||||
bool containsNonAsciiOrNull() const {
|
||||
llvm::StringRef Str = getString();
|
||||
StringRef Str = getString();
|
||||
for (unsigned i = 0, e = Str.size(); i != e; ++i)
|
||||
if (!isascii(Str[i]) || !Str[i])
|
||||
return true;
|
||||
|
@ -4045,7 +4045,7 @@ public:
|
|||
|
||||
/// getEncodedElementAccess - Encode the elements accessed into an llvm
|
||||
/// aggregate Constant of ConstantInt(s).
|
||||
void getEncodedElementAccess(llvm::SmallVectorImpl<unsigned> &Elts) const;
|
||||
void getEncodedElementAccess(SmallVectorImpl<unsigned> &Elts) const;
|
||||
|
||||
SourceRange getSourceRange() const {
|
||||
return SourceRange(getBase()->getLocStart(), AccessorLoc);
|
||||
|
|
|
@ -1007,7 +1007,7 @@ public:
|
|||
}
|
||||
|
||||
/// \brief Retrieve the kind of bridge being performed as a string.
|
||||
llvm::StringRef getBridgeKindName() const;
|
||||
StringRef getBridgeKindName() const;
|
||||
|
||||
/// \brief The location of the bridge keyword.
|
||||
SourceLocation getBridgeKeywordLoc() const { return BridgeKeywordLoc; }
|
||||
|
|
|
@ -151,20 +151,20 @@ public:
|
|||
/// The default implementation of this method is a no-op.
|
||||
virtual ExternalLoadResult FindExternalLexicalDecls(const DeclContext *DC,
|
||||
bool (*isKindWeWant)(Decl::Kind),
|
||||
llvm::SmallVectorImpl<Decl*> &Result);
|
||||
SmallVectorImpl<Decl*> &Result);
|
||||
|
||||
/// \brief Finds all declarations lexically contained within the given
|
||||
/// DeclContext.
|
||||
///
|
||||
/// \return true if an error occurred
|
||||
ExternalLoadResult FindExternalLexicalDecls(const DeclContext *DC,
|
||||
llvm::SmallVectorImpl<Decl*> &Result) {
|
||||
SmallVectorImpl<Decl*> &Result) {
|
||||
return FindExternalLexicalDecls(DC, 0, Result);
|
||||
}
|
||||
|
||||
template <typename DeclTy>
|
||||
ExternalLoadResult FindExternalLexicalDeclsBy(const DeclContext *DC,
|
||||
llvm::SmallVectorImpl<Decl*> &Result) {
|
||||
SmallVectorImpl<Decl*> &Result) {
|
||||
return FindExternalLexicalDecls(DC, DeclTy::classofKind, Result);
|
||||
}
|
||||
|
||||
|
@ -231,7 +231,7 @@ protected:
|
|||
static DeclContextLookupResult
|
||||
SetExternalVisibleDeclsForName(const DeclContext *DC,
|
||||
DeclarationName Name,
|
||||
llvm::SmallVectorImpl<NamedDecl*> &Decls);
|
||||
SmallVectorImpl<NamedDecl*> &Decls);
|
||||
|
||||
static DeclContextLookupResult
|
||||
SetNoExternalVisibleDeclsForName(const DeclContext *DC,
|
||||
|
@ -239,7 +239,7 @@ protected:
|
|||
|
||||
void MaterializeVisibleDeclsForName(const DeclContext *DC,
|
||||
DeclarationName Name,
|
||||
llvm::SmallVectorImpl<NamedDecl*> &Decls);
|
||||
SmallVectorImpl<NamedDecl*> &Decls);
|
||||
};
|
||||
|
||||
/// \brief A lazy pointer to an AST node (of base type T) that resides
|
||||
|
|
|
@ -39,25 +39,25 @@ namespace clang {
|
|||
/// external memory ownership.
|
||||
class MangleBuffer {
|
||||
public:
|
||||
void setString(llvm::StringRef Ref) {
|
||||
void setString(StringRef Ref) {
|
||||
String = Ref;
|
||||
}
|
||||
|
||||
llvm::SmallVectorImpl<char> &getBuffer() {
|
||||
SmallVectorImpl<char> &getBuffer() {
|
||||
return Buffer;
|
||||
}
|
||||
|
||||
llvm::StringRef getString() const {
|
||||
StringRef getString() const {
|
||||
if (!String.empty()) return String;
|
||||
return Buffer.str();
|
||||
}
|
||||
|
||||
operator llvm::StringRef() const {
|
||||
operator StringRef() const {
|
||||
return getString();
|
||||
}
|
||||
|
||||
private:
|
||||
llvm::StringRef String;
|
||||
StringRef String;
|
||||
llvm::SmallString<256> Buffer;
|
||||
};
|
||||
|
||||
|
|
|
@ -1307,7 +1307,7 @@ public:
|
|||
/// true, otherwise return false. This handles canonicalization and
|
||||
/// translation of strings from GCC syntax to LLVM IR syntax, and handles
|
||||
//// flattening of named references like %[foo] to Operand AsmStringPiece's.
|
||||
unsigned AnalyzeAsmString(llvm::SmallVectorImpl<AsmStringPiece> &Pieces,
|
||||
unsigned AnalyzeAsmString(SmallVectorImpl<AsmStringPiece> &Pieces,
|
||||
ASTContext &C, unsigned &DiagOffs) const;
|
||||
|
||||
|
||||
|
@ -1319,17 +1319,17 @@ public:
|
|||
return Names[i];
|
||||
}
|
||||
|
||||
llvm::StringRef getOutputName(unsigned i) const {
|
||||
StringRef getOutputName(unsigned i) const {
|
||||
if (IdentifierInfo *II = getOutputIdentifier(i))
|
||||
return II->getName();
|
||||
|
||||
return llvm::StringRef();
|
||||
return StringRef();
|
||||
}
|
||||
|
||||
/// getOutputConstraint - Return the constraint string for the specified
|
||||
/// output operand. All output constraints are known to be non-empty (either
|
||||
/// '=' or '+').
|
||||
llvm::StringRef getOutputConstraint(unsigned i) const;
|
||||
StringRef getOutputConstraint(unsigned i) const;
|
||||
|
||||
const StringLiteral *getOutputConstraintLiteral(unsigned i) const {
|
||||
return Constraints[i];
|
||||
|
@ -1363,16 +1363,16 @@ public:
|
|||
return Names[i + NumOutputs];
|
||||
}
|
||||
|
||||
llvm::StringRef getInputName(unsigned i) const {
|
||||
StringRef getInputName(unsigned i) const {
|
||||
if (IdentifierInfo *II = getInputIdentifier(i))
|
||||
return II->getName();
|
||||
|
||||
return llvm::StringRef();
|
||||
return StringRef();
|
||||
}
|
||||
|
||||
/// getInputConstraint - Return the specified input constraint. Unlike output
|
||||
/// constraints, these can be empty.
|
||||
llvm::StringRef getInputConstraint(unsigned i) const;
|
||||
StringRef getInputConstraint(unsigned i) const;
|
||||
|
||||
const StringLiteral *getInputConstraintLiteral(unsigned i) const {
|
||||
return Constraints[i + NumOutputs];
|
||||
|
@ -1402,7 +1402,7 @@ public:
|
|||
/// getNamedOperand - Given a symbolic operand reference like %[foo],
|
||||
/// translate this into a numeric value needed to reference the same operand.
|
||||
/// This returns -1 if the operand name is invalid.
|
||||
int getNamedOperand(llvm::StringRef SymbolicName) const;
|
||||
int getNamedOperand(StringRef SymbolicName) const;
|
||||
|
||||
unsigned getNumClobbers() const { return NumClobbers; }
|
||||
StringLiteral *getClobber(unsigned i) { return Clobbers[i]; }
|
||||
|
|
|
@ -515,7 +515,7 @@ public:
|
|||
/// A convenient class for passing around template argument
|
||||
/// information. Designed to be passed by reference.
|
||||
class TemplateArgumentListInfo {
|
||||
llvm::SmallVector<TemplateArgumentLoc, 8> Arguments;
|
||||
SmallVector<TemplateArgumentLoc, 8> Arguments;
|
||||
SourceLocation LAngleLoc;
|
||||
SourceLocation RAngleLoc;
|
||||
|
||||
|
|
|
@ -2630,7 +2630,7 @@ public:
|
|||
return getResultType().getNonLValueExprType(Context);
|
||||
}
|
||||
|
||||
static llvm::StringRef getNameForCallConv(CallingConv CC);
|
||||
static StringRef getNameForCallConv(CallingConv CC);
|
||||
|
||||
static bool classof(const Type *T) {
|
||||
return T->getTypeClass() == FunctionNoProto ||
|
||||
|
|
|
@ -25,7 +25,7 @@ namespace clang {
|
|||
/// non-const iterator.
|
||||
class UnresolvedSetIterator {
|
||||
private:
|
||||
typedef llvm::SmallVectorImpl<DeclAccessPair> DeclsTy;
|
||||
typedef SmallVectorImpl<DeclAccessPair> DeclsTy;
|
||||
typedef DeclsTy::iterator IteratorTy;
|
||||
|
||||
IteratorTy ir;
|
||||
|
@ -177,7 +177,7 @@ private:
|
|||
/// A set of unresolved declarations
|
||||
template <unsigned InlineCapacity> class UnresolvedSet :
|
||||
public UnresolvedSetImpl {
|
||||
llvm::SmallVector<DeclAccessPair, InlineCapacity> Decls;
|
||||
SmallVector<DeclAccessPair, InlineCapacity> Decls;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -164,8 +164,8 @@ public:
|
|||
return Position;
|
||||
}
|
||||
|
||||
llvm::StringRef getCharacters() const {
|
||||
return llvm::StringRef(getStart(), getLength());
|
||||
StringRef getCharacters() const {
|
||||
return StringRef(getStart(), getLength());
|
||||
}
|
||||
|
||||
bool consumesDataArgument() const {
|
||||
|
|
|
@ -33,8 +33,8 @@ namespace cocoa {
|
|||
return deriveNamingConvention(S, MD) == CreateRule;
|
||||
}
|
||||
|
||||
bool isRefType(QualType RetTy, llvm::StringRef Prefix,
|
||||
llvm::StringRef Name = llvm::StringRef());
|
||||
bool isRefType(QualType RetTy, StringRef Prefix,
|
||||
StringRef Name = StringRef());
|
||||
|
||||
bool isCocoaObjectRef(QualType T);
|
||||
|
||||
|
@ -43,7 +43,7 @@ namespace cocoa {
|
|||
namespace coreFoundation {
|
||||
bool isCFObjectRef(QualType T);
|
||||
|
||||
bool followsCreateRule(llvm::StringRef functionName);
|
||||
bool followsCreateRule(StringRef functionName);
|
||||
}
|
||||
|
||||
}} // end: "clang:ento"
|
||||
|
|
|
@ -30,7 +30,7 @@ namespace clang {
|
|||
|
||||
class DataflowWorkListTy {
|
||||
llvm::DenseMap<const CFGBlock*, unsigned char> BlockSet;
|
||||
llvm::SmallVector<const CFGBlock *, 10> BlockQueue;
|
||||
SmallVector<const CFGBlock *, 10> BlockQueue;
|
||||
public:
|
||||
/// enqueue - Add a block to the worklist. Blocks already on the
|
||||
/// worklist are not added a second time.
|
||||
|
|
|
@ -15,16 +15,13 @@
|
|||
#ifndef LLVM_CLANG_BASIC_BUILTINS_H
|
||||
#define LLVM_CLANG_BASIC_BUILTINS_H
|
||||
|
||||
#include "clang/Basic/LLVM.h"
|
||||
#include <cstring>
|
||||
|
||||
// VC++ defines 'alloca' as an object-like macro, which interferes with our
|
||||
// builtins.
|
||||
#undef alloca
|
||||
|
||||
namespace llvm {
|
||||
template <typename T> class SmallVectorImpl;
|
||||
}
|
||||
|
||||
namespace clang {
|
||||
class TargetInfo;
|
||||
class IdentifierTable;
|
||||
|
@ -73,7 +70,7 @@ public:
|
|||
void InitializeBuiltins(IdentifierTable &Table, const LangOptions& LangOpts);
|
||||
|
||||
/// \brief Popular the vector with the names of all of the builtins.
|
||||
void GetBuiltinNames(llvm::SmallVectorImpl<const char *> &Names,
|
||||
void GetBuiltinNames(SmallVectorImpl<const char *> &Names,
|
||||
bool NoBuiltins);
|
||||
|
||||
/// Builtin::GetName - Return the identifier name for the specified builtin,
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#ifndef LLVM_CLANG_BASIC_DELAYEDCLEANUPPOOL_H
|
||||
#define LLVM_CLANG_BASIC_DELAYEDCLEANUPPOOL_H
|
||||
|
||||
#include "clang/Basic/LLVM.h"
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
|
||||
|
@ -66,7 +67,7 @@ public:
|
|||
}
|
||||
|
||||
void doCleanup() {
|
||||
for (llvm::SmallVector<std::pair<void *, CleanupFn>, 8>::reverse_iterator
|
||||
for (SmallVector<std::pair<void *, CleanupFn>, 8>::reverse_iterator
|
||||
I = Cleanups.rbegin(), E = Cleanups.rend(); I != E; ++I)
|
||||
I->second(I->first);
|
||||
Cleanups.clear();
|
||||
|
@ -79,7 +80,7 @@ public:
|
|||
|
||||
private:
|
||||
llvm::DenseMap<void *, CleanupFn> Ptrs;
|
||||
llvm::SmallVector<std::pair<void *, CleanupFn>, 8> Cleanups;
|
||||
SmallVector<std::pair<void *, CleanupFn>, 8> Cleanups;
|
||||
|
||||
template <typename T>
|
||||
static void cleanupWithDelete(void *ptr) {
|
||||
|
|
|
@ -65,7 +65,7 @@ public:
|
|||
/// \brief Create a code modification hint that inserts the given
|
||||
/// code string at a specific location.
|
||||
static FixItHint CreateInsertion(SourceLocation InsertionLoc,
|
||||
llvm::StringRef Code) {
|
||||
StringRef Code) {
|
||||
FixItHint Hint;
|
||||
Hint.RemoveRange =
|
||||
CharSourceRange(SourceRange(InsertionLoc, InsertionLoc), false);
|
||||
|
@ -87,7 +87,7 @@ public:
|
|||
/// \brief Create a code modification hint that replaces the given
|
||||
/// source range with the given code string.
|
||||
static FixItHint CreateReplacement(CharSourceRange RemoveRange,
|
||||
llvm::StringRef Code) {
|
||||
StringRef Code) {
|
||||
FixItHint Hint;
|
||||
Hint.RemoveRange = RemoveRange;
|
||||
Hint.CodeToInsert = Code;
|
||||
|
@ -95,7 +95,7 @@ public:
|
|||
}
|
||||
|
||||
static FixItHint CreateReplacement(SourceRange RemoveRange,
|
||||
llvm::StringRef Code) {
|
||||
StringRef Code) {
|
||||
return CreateReplacement(CharSourceRange::getTokenRange(RemoveRange), Code);
|
||||
}
|
||||
};
|
||||
|
@ -284,9 +284,9 @@ private:
|
|||
const char *Argument, unsigned ArgumentLen,
|
||||
const ArgumentValue *PrevArgs,
|
||||
unsigned NumPrevArgs,
|
||||
llvm::SmallVectorImpl<char> &Output,
|
||||
SmallVectorImpl<char> &Output,
|
||||
void *Cookie,
|
||||
llvm::SmallVectorImpl<intptr_t> &QualTypeVals);
|
||||
SmallVectorImpl<intptr_t> &QualTypeVals);
|
||||
void *ArgToStringCookie;
|
||||
ArgToStringFnTy ArgToStringFn;
|
||||
|
||||
|
@ -436,7 +436,7 @@ public:
|
|||
///
|
||||
/// 'Loc' is the source location that this change of diagnostic state should
|
||||
/// take affect. It can be null if we are setting the state from command-line.
|
||||
bool setDiagnosticGroupMapping(llvm::StringRef Group, diag::Mapping Map,
|
||||
bool setDiagnosticGroupMapping(StringRef Group, diag::Mapping Map,
|
||||
SourceLocation Loc = SourceLocation()) {
|
||||
return Diags->setDiagnosticGroupMapping(Group, Map, Loc, *this);
|
||||
}
|
||||
|
@ -458,7 +458,7 @@ public:
|
|||
/// getCustomDiagID - Return an ID for a diagnostic with the specified message
|
||||
/// and level. If this is the first request for this diagnosic, it is
|
||||
/// registered and created, otherwise the existing ID is returned.
|
||||
unsigned getCustomDiagID(Level L, llvm::StringRef Message) {
|
||||
unsigned getCustomDiagID(Level L, StringRef Message) {
|
||||
return Diags->getCustomDiagID((DiagnosticIDs::Level)L, Message);
|
||||
}
|
||||
|
||||
|
@ -468,8 +468,8 @@ public:
|
|||
const char *Modifier, unsigned ModLen,
|
||||
const char *Argument, unsigned ArgLen,
|
||||
const ArgumentValue *PrevArgs, unsigned NumPrevArgs,
|
||||
llvm::SmallVectorImpl<char> &Output,
|
||||
llvm::SmallVectorImpl<intptr_t> &QualTypeVals) const {
|
||||
SmallVectorImpl<char> &Output,
|
||||
SmallVectorImpl<intptr_t> &QualTypeVals) const {
|
||||
ArgToStringFn(Kind, Val, Modifier, ModLen, Argument, ArgLen,
|
||||
PrevArgs, NumPrevArgs, Output, ArgToStringCookie,
|
||||
QualTypeVals);
|
||||
|
@ -533,8 +533,8 @@ public:
|
|||
/// \param Arg2 A string argument that will be provided to the
|
||||
/// diagnostic. A copy of this string will be stored in the
|
||||
/// Diagnostic object itself.
|
||||
void SetDelayedDiagnostic(unsigned DiagID, llvm::StringRef Arg1 = "",
|
||||
llvm::StringRef Arg2 = "");
|
||||
void SetDelayedDiagnostic(unsigned DiagID, StringRef Arg1 = "",
|
||||
StringRef Arg2 = "");
|
||||
|
||||
/// \brief Clear out the current diagnostic.
|
||||
void Clear() { CurDiagID = ~0U; }
|
||||
|
@ -744,7 +744,7 @@ public:
|
|||
/// return Diag(...);
|
||||
operator bool() const { return true; }
|
||||
|
||||
void AddString(llvm::StringRef S) const {
|
||||
void AddString(StringRef S) const {
|
||||
assert(NumArgs < Diagnostic::MaxArguments &&
|
||||
"Too many arguments to diagnostic!");
|
||||
if (DiagObj) {
|
||||
|
@ -779,7 +779,7 @@ public:
|
|||
};
|
||||
|
||||
inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB,
|
||||
llvm::StringRef S) {
|
||||
StringRef S) {
|
||||
DB.AddString(S);
|
||||
return DB;
|
||||
}
|
||||
|
@ -869,10 +869,10 @@ inline DiagnosticBuilder Diagnostic::Report(unsigned DiagID) {
|
|||
/// about the currently in-flight diagnostic.
|
||||
class DiagnosticInfo {
|
||||
const Diagnostic *DiagObj;
|
||||
llvm::StringRef StoredDiagMessage;
|
||||
StringRef StoredDiagMessage;
|
||||
public:
|
||||
explicit DiagnosticInfo(const Diagnostic *DO) : DiagObj(DO) {}
|
||||
DiagnosticInfo(const Diagnostic *DO, llvm::StringRef storedDiagMessage)
|
||||
DiagnosticInfo(const Diagnostic *DO, StringRef storedDiagMessage)
|
||||
: DiagObj(DO), StoredDiagMessage(storedDiagMessage) {}
|
||||
|
||||
const Diagnostic *getDiags() const { return DiagObj; }
|
||||
|
@ -960,12 +960,12 @@ public:
|
|||
/// FormatDiagnostic - Format this diagnostic into a string, substituting the
|
||||
/// formal arguments into the %0 slots. The result is appended onto the Str
|
||||
/// array.
|
||||
void FormatDiagnostic(llvm::SmallVectorImpl<char> &OutStr) const;
|
||||
void FormatDiagnostic(SmallVectorImpl<char> &OutStr) const;
|
||||
|
||||
/// FormatDiagnostic - Format the given format-string into the
|
||||
/// output buffer using the arguments stored in this diagnostic.
|
||||
void FormatDiagnostic(const char *DiagStr, const char *DiagEnd,
|
||||
llvm::SmallVectorImpl<char> &OutStr) const;
|
||||
SmallVectorImpl<char> &OutStr) const;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -984,9 +984,9 @@ public:
|
|||
StoredDiagnostic();
|
||||
StoredDiagnostic(Diagnostic::Level Level, const DiagnosticInfo &Info);
|
||||
StoredDiagnostic(Diagnostic::Level Level, unsigned ID,
|
||||
llvm::StringRef Message);
|
||||
StringRef Message);
|
||||
StoredDiagnostic(Diagnostic::Level Level, unsigned ID,
|
||||
llvm::StringRef Message, FullSourceLoc Loc,
|
||||
StringRef Message, FullSourceLoc Loc,
|
||||
llvm::ArrayRef<CharSourceRange> Ranges,
|
||||
llvm::ArrayRef<FixItHint> Fixits);
|
||||
~StoredDiagnostic();
|
||||
|
@ -997,7 +997,7 @@ public:
|
|||
unsigned getID() const { return ID; }
|
||||
Diagnostic::Level getLevel() const { return Level; }
|
||||
const FullSourceLoc &getLocation() const { return Loc; }
|
||||
llvm::StringRef getMessage() const { return Message; }
|
||||
StringRef getMessage() const { return Message; }
|
||||
|
||||
void setLocation(FullSourceLoc Loc) { this->Loc = Loc; }
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
#include "llvm/ADT/IntrusiveRefCntPtr.h"
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include "clang/Basic/LLVM.h"
|
||||
|
||||
namespace clang {
|
||||
class Diagnostic;
|
||||
|
@ -93,7 +94,7 @@ public:
|
|||
/// getCustomDiagID - Return an ID for a diagnostic with the specified message
|
||||
/// and level. If this is the first request for this diagnosic, it is
|
||||
/// registered and created, otherwise the existing ID is returned.
|
||||
unsigned getCustomDiagID(Level L, llvm::StringRef Message);
|
||||
unsigned getCustomDiagID(Level L, StringRef Message);
|
||||
|
||||
//===--------------------------------------------------------------------===//
|
||||
// Diagnostic classification and reporting interfaces.
|
||||
|
@ -101,7 +102,7 @@ public:
|
|||
|
||||
/// getDescription - Given a diagnostic ID, return a description of the
|
||||
/// issue.
|
||||
llvm::StringRef getDescription(unsigned DiagID) const;
|
||||
StringRef getDescription(unsigned DiagID) const;
|
||||
|
||||
/// isBuiltinWarningOrExtension - Return true if the unmapped diagnostic
|
||||
/// level of the specified diagnostic ID is a Warning or Extension.
|
||||
|
@ -132,7 +133,7 @@ public:
|
|||
/// getWarningOptionForDiag - Return the lowest-level warning option that
|
||||
/// enables the specified diagnostic. If there is no -Wfoo flag that controls
|
||||
/// the diagnostic, this returns null.
|
||||
static llvm::StringRef getWarningOptionForDiag(unsigned DiagID);
|
||||
static StringRef getWarningOptionForDiag(unsigned DiagID);
|
||||
|
||||
/// getCategoryNumberForDiag - Return the category number that a specified
|
||||
/// DiagID belongs to, or 0 if no category.
|
||||
|
@ -143,7 +144,7 @@ public:
|
|||
|
||||
/// getCategoryNameFromID - Given a category ID, return the name of the
|
||||
/// category.
|
||||
static llvm::StringRef getCategoryNameFromID(unsigned CategoryID);
|
||||
static StringRef getCategoryNameFromID(unsigned CategoryID);
|
||||
|
||||
/// \brief Enumeration describing how the the emission of a diagnostic should
|
||||
/// be treated when it occurs during C++ template argument deduction.
|
||||
|
@ -182,24 +183,24 @@ public:
|
|||
static SFINAEResponse getDiagnosticSFINAEResponse(unsigned DiagID);
|
||||
|
||||
/// getName - Given a diagnostic ID, return its name
|
||||
static llvm::StringRef getName(unsigned DiagID);
|
||||
static StringRef getName(unsigned DiagID);
|
||||
|
||||
/// getIdFromName - Given a diagnostic name, return its ID, or 0
|
||||
static unsigned getIdFromName(llvm::StringRef Name);
|
||||
static unsigned getIdFromName(StringRef Name);
|
||||
|
||||
/// getBriefExplanation - Given a diagnostic ID, return a brief explanation
|
||||
/// of the issue
|
||||
static llvm::StringRef getBriefExplanation(unsigned DiagID);
|
||||
static StringRef getBriefExplanation(unsigned DiagID);
|
||||
|
||||
/// getFullExplanation - Given a diagnostic ID, return a full explanation
|
||||
/// of the issue
|
||||
static llvm::StringRef getFullExplanation(unsigned DiagID);
|
||||
static StringRef getFullExplanation(unsigned DiagID);
|
||||
|
||||
private:
|
||||
/// setDiagnosticGroupMapping - Change an entire diagnostic group (e.g.
|
||||
/// "unknown-pragmas" to have the specified mapping. This returns true and
|
||||
/// ignores the request if "Group" was unknown, false otherwise.
|
||||
bool setDiagnosticGroupMapping(llvm::StringRef Group, diag::Mapping Map,
|
||||
bool setDiagnosticGroupMapping(StringRef Group, diag::Mapping Map,
|
||||
SourceLocation Loc, Diagnostic &Diag) const;
|
||||
|
||||
/// \brief Based on the way the client configured the Diagnostic
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#define LLVM_CLANG_FILEMANAGER_H
|
||||
|
||||
#include "clang/Basic/FileSystemOptions.h"
|
||||
#include "clang/Basic/LLVM.h"
|
||||
#include "llvm/ADT/IntrusiveRefCntPtr.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/ADT/StringMap.h"
|
||||
|
@ -123,9 +124,9 @@ class FileManager : public llvm::RefCountedBase<FileManager> {
|
|||
/// \brief The virtual directories that we have allocated. For each
|
||||
/// virtual file (e.g. foo/bar/baz.cpp), we add all of its parent
|
||||
/// directories (foo/ and foo/bar/) here.
|
||||
llvm::SmallVector<DirectoryEntry*, 4> VirtualDirectoryEntries;
|
||||
SmallVector<DirectoryEntry*, 4> VirtualDirectoryEntries;
|
||||
/// \brief The virtual files that we have allocated.
|
||||
llvm::SmallVector<FileEntry*, 4> VirtualFileEntries;
|
||||
SmallVector<FileEntry*, 4> VirtualFileEntries;
|
||||
|
||||
/// SeenDirEntries/SeenFileEntries - This is a cache that maps paths
|
||||
/// to directory/file entries (either real or virtual) we have
|
||||
|
@ -153,7 +154,7 @@ class FileManager : public llvm::RefCountedBase<FileManager> {
|
|||
|
||||
/// Add all ancestors of the given path (pointing to either a file
|
||||
/// or a directory) as virtual directories.
|
||||
void addAncestorsAsVirtualDirs(llvm::StringRef Path);
|
||||
void addAncestorsAsVirtualDirs(StringRef Path);
|
||||
|
||||
public:
|
||||
FileManager(const FileSystemOptions &FileSystemOpts);
|
||||
|
@ -178,41 +179,41 @@ public:
|
|||
/// getDirectory - Lookup, cache, and verify the specified directory
|
||||
/// (real or virtual). This returns NULL if the directory doesn't exist.
|
||||
///
|
||||
const DirectoryEntry *getDirectory(llvm::StringRef DirName);
|
||||
const DirectoryEntry *getDirectory(StringRef DirName);
|
||||
|
||||
/// \brief Lookup, cache, and verify the specified file (real or
|
||||
/// virtual). This returns NULL if the file doesn't exist.
|
||||
///
|
||||
/// \param openFile if true and the file exists, it will be opened.
|
||||
const FileEntry *getFile(llvm::StringRef Filename, bool openFile = false);
|
||||
const FileEntry *getFile(StringRef Filename, bool openFile = false);
|
||||
|
||||
/// \brief Retrieve a file entry for a "virtual" file that acts as
|
||||
/// if there were a file with the given name on disk. The file
|
||||
/// itself is not accessed.
|
||||
const FileEntry *getVirtualFile(llvm::StringRef Filename, off_t Size,
|
||||
const FileEntry *getVirtualFile(StringRef Filename, off_t Size,
|
||||
time_t ModificationTime);
|
||||
|
||||
/// \brief Open the specified file as a MemoryBuffer, returning a new
|
||||
/// MemoryBuffer if successful, otherwise returning null.
|
||||
llvm::MemoryBuffer *getBufferForFile(const FileEntry *Entry,
|
||||
std::string *ErrorStr = 0);
|
||||
llvm::MemoryBuffer *getBufferForFile(llvm::StringRef Filename,
|
||||
llvm::MemoryBuffer *getBufferForFile(StringRef Filename,
|
||||
std::string *ErrorStr = 0);
|
||||
|
||||
// getNoncachedStatValue - Will get the 'stat' information for the given path.
|
||||
// If the path is relative, it will be resolved against the WorkingDir of the
|
||||
// FileManager's FileSystemOptions.
|
||||
bool getNoncachedStatValue(llvm::StringRef Path, struct stat &StatBuf);
|
||||
bool getNoncachedStatValue(StringRef Path, struct stat &StatBuf);
|
||||
|
||||
/// \brief If path is not absolute and FileSystemOptions set the working
|
||||
/// directory, the path is modified to be relative to the given
|
||||
/// working directory.
|
||||
void FixupRelativePath(llvm::SmallVectorImpl<char> &path) const;
|
||||
void FixupRelativePath(SmallVectorImpl<char> &path) const;
|
||||
|
||||
/// \brief Produce an array mapping from the unique IDs assigned to each
|
||||
/// file to the corresponding FileEntry pointer.
|
||||
void GetUniqueIDMapping(
|
||||
llvm::SmallVectorImpl<const FileEntry *> &UIDToFiles) const;
|
||||
SmallVectorImpl<const FileEntry *> &UIDToFiles) const;
|
||||
|
||||
void PrintStats() const;
|
||||
};
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
|
||||
#include "clang/Basic/OperatorKinds.h"
|
||||
#include "clang/Basic/TokenKinds.h"
|
||||
#include "clang/Basic/LLVM.h"
|
||||
#include "llvm/ADT/StringMap.h"
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include "llvm/ADT/SmallString.h"
|
||||
|
@ -113,8 +114,8 @@ public:
|
|||
}
|
||||
|
||||
/// getName - Return the actual identifier string.
|
||||
llvm::StringRef getName() const {
|
||||
return llvm::StringRef(getNameStart(), getLength());
|
||||
StringRef getName() const {
|
||||
return StringRef(getNameStart(), getLength());
|
||||
}
|
||||
|
||||
/// hasMacroDefinition - Return true if this identifier is #defined to some
|
||||
|
@ -299,8 +300,8 @@ public:
|
|||
/// advances the iterator for the following string.
|
||||
///
|
||||
/// \returns The next string in the identifier table. If there is
|
||||
/// no such string, returns an empty \c llvm::StringRef.
|
||||
virtual llvm::StringRef Next() = 0;
|
||||
/// no such string, returns an empty \c StringRef.
|
||||
virtual StringRef Next() = 0;
|
||||
};
|
||||
|
||||
/// IdentifierInfoLookup - An abstract class used by IdentifierTable that
|
||||
|
@ -314,7 +315,7 @@ public:
|
|||
/// Unlike the version in IdentifierTable, this returns a pointer instead
|
||||
/// of a reference. If the pointer is NULL then the IdentifierInfo cannot
|
||||
/// be found.
|
||||
virtual IdentifierInfo* get(llvm::StringRef Name) = 0;
|
||||
virtual IdentifierInfo* get(StringRef Name) = 0;
|
||||
|
||||
/// \brief Retrieve an iterator into the set of all identifiers
|
||||
/// known to this identifier lookup source.
|
||||
|
@ -376,7 +377,7 @@ public:
|
|||
|
||||
/// get - Return the identifier token info for the specified named identifier.
|
||||
///
|
||||
IdentifierInfo &get(llvm::StringRef Name) {
|
||||
IdentifierInfo &get(StringRef Name) {
|
||||
llvm::StringMapEntry<IdentifierInfo*> &Entry =
|
||||
HashTable.GetOrCreateValue(Name);
|
||||
|
||||
|
@ -405,7 +406,7 @@ public:
|
|||
return *II;
|
||||
}
|
||||
|
||||
IdentifierInfo &get(llvm::StringRef Name, tok::TokenKind TokenCode) {
|
||||
IdentifierInfo &get(StringRef Name, tok::TokenKind TokenCode) {
|
||||
IdentifierInfo &II = get(Name);
|
||||
II.TokenID = TokenCode;
|
||||
return II;
|
||||
|
@ -417,7 +418,7 @@ public:
|
|||
/// This is a version of get() meant for external sources that want to
|
||||
/// introduce or modify an identifier. If they called get(), they would
|
||||
/// likely end up in a recursion.
|
||||
IdentifierInfo &getOwn(llvm::StringRef Name) {
|
||||
IdentifierInfo &getOwn(StringRef Name) {
|
||||
llvm::StringMapEntry<IdentifierInfo*> &Entry =
|
||||
HashTable.GetOrCreateValue(Name);
|
||||
|
||||
|
@ -595,7 +596,7 @@ public:
|
|||
///
|
||||
/// \returns the name for this slot, which may be the empty string if no
|
||||
/// name was supplied.
|
||||
llvm::StringRef getNameForSlot(unsigned argIndex) const;
|
||||
StringRef getNameForSlot(unsigned argIndex) const;
|
||||
|
||||
/// getAsString - Derive the full selector name (e.g. "foo:bar:") and return
|
||||
/// it as an std::string.
|
||||
|
|
|
@ -15,9 +15,20 @@
|
|||
#ifndef CLANG_BASIC_LLVM_H
|
||||
#define CLANG_BASIC_LLVM_H
|
||||
|
||||
// This should be the only #include.
|
||||
// This should be the only #include, force #includes of all the others on
|
||||
// clients.
|
||||
#include "llvm/Support/Casting.h"
|
||||
|
||||
namespace llvm {
|
||||
// ADT's.
|
||||
class StringRef;
|
||||
template<typename T, unsigned N> class SmallVector;
|
||||
template<typename T> class SmallVectorImpl;
|
||||
|
||||
// TODO: Twine, raw_ostream, DenseMap, ...
|
||||
}
|
||||
|
||||
|
||||
namespace clang {
|
||||
// Casting operators.
|
||||
using llvm::isa;
|
||||
|
@ -25,6 +36,11 @@ namespace clang {
|
|||
using llvm::dyn_cast;
|
||||
using llvm::dyn_cast_or_null;
|
||||
using llvm::cast_or_null;
|
||||
|
||||
using llvm::StringRef;
|
||||
using llvm::SmallVector;
|
||||
using llvm::SmallVectorImpl;
|
||||
|
||||
} // end namespace clang.
|
||||
|
||||
#endif
|
||||
|
|
|
@ -240,7 +240,7 @@ public:
|
|||
DiagStorage->DiagArgumentsVal[DiagStorage->NumDiagArgs++] = V;
|
||||
}
|
||||
|
||||
void AddString(llvm::StringRef V) const {
|
||||
void AddString(StringRef V) const {
|
||||
if (!DiagStorage)
|
||||
DiagStorage = getStorage();
|
||||
|
||||
|
@ -302,7 +302,7 @@ public:
|
|||
}
|
||||
|
||||
friend inline const PartialDiagnostic &operator<<(const PartialDiagnostic &PD,
|
||||
llvm::StringRef S) {
|
||||
StringRef S) {
|
||||
|
||||
PD.AddString(S);
|
||||
return PD;
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#ifndef LLVM_CLANG_SOURCELOCATION_H
|
||||
#define LLVM_CLANG_SOURCELOCATION_H
|
||||
|
||||
#include "clang/Basic/LLVM.h"
|
||||
#include "llvm/Support/PointerLikeTypeTraits.h"
|
||||
#include <utility>
|
||||
#include <functional>
|
||||
|
@ -22,7 +23,6 @@
|
|||
namespace llvm {
|
||||
class MemoryBuffer;
|
||||
class raw_ostream;
|
||||
class StringRef;
|
||||
template <typename T> struct DenseMapInfo;
|
||||
template <typename T> struct isPodLike;
|
||||
}
|
||||
|
@ -290,7 +290,7 @@ public:
|
|||
|
||||
/// getBufferData - Return a StringRef to the source buffer data for the
|
||||
/// specified FileID.
|
||||
llvm::StringRef getBufferData(bool *Invalid = 0) const;
|
||||
StringRef getBufferData(bool *Invalid = 0) const;
|
||||
|
||||
/// getDecomposedLoc - Decompose the specified location into a raw FileID +
|
||||
/// Offset pair. The first element is the FileID, the second is the
|
||||
|
|
|
@ -692,7 +692,7 @@ public:
|
|||
///
|
||||
/// \param FID The file ID whose contents will be returned.
|
||||
/// \param Invalid If non-NULL, will be set true if an error occurred.
|
||||
llvm::StringRef getBufferData(FileID FID, bool *Invalid = 0) const;
|
||||
StringRef getBufferData(FileID FID, bool *Invalid = 0) const;
|
||||
|
||||
|
||||
//===--------------------------------------------------------------------===//
|
||||
|
@ -939,7 +939,7 @@ public:
|
|||
|
||||
/// getLineTableFilenameID - Return the uniqued ID for the specified filename.
|
||||
///
|
||||
unsigned getLineTableFilenameID(llvm::StringRef Str);
|
||||
unsigned getLineTableFilenameID(StringRef Str);
|
||||
|
||||
/// AddLineNote - Add a line note to the line table for the FileID and offset
|
||||
/// specified by Loc. If FilenameID is -1, it is considered to be
|
||||
|
|
|
@ -97,7 +97,7 @@ public:
|
|||
|
||||
~LineTableInfo() {}
|
||||
|
||||
unsigned getLineTableFilenameID(llvm::StringRef Str);
|
||||
unsigned getLineTableFilenameID(StringRef Str);
|
||||
const char *getFilename(unsigned ID) const {
|
||||
assert(ID < FilenamesByID.size() && "Invalid FilenameID");
|
||||
return FilenamesByID[ID]->getKeyData();
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#ifndef LLVM_CLANG_BASIC_TARGETINFO_H
|
||||
#define LLVM_CLANG_BASIC_TARGETINFO_H
|
||||
|
||||
#include "clang/Basic/LLVM.h"
|
||||
#include "llvm/ADT/IntrusiveRefCntPtr.h"
|
||||
#include "llvm/ADT/StringMap.h"
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
|
@ -82,7 +83,7 @@ protected:
|
|||
TargetCXXABI CXXABI;
|
||||
const LangAS::Map *AddrSpaceMap;
|
||||
|
||||
mutable llvm::StringRef PlatformName;
|
||||
mutable StringRef PlatformName;
|
||||
mutable VersionTuple PlatformMinVersion;
|
||||
|
||||
unsigned HasAlignMac68kSupport : 1;
|
||||
|
@ -306,16 +307,16 @@ public:
|
|||
/// isValidClobber - Returns whether the passed in string is
|
||||
/// a valid clobber in an inline asm statement. This is used by
|
||||
/// Sema.
|
||||
bool isValidClobber(llvm::StringRef Name) const;
|
||||
bool isValidClobber(StringRef Name) const;
|
||||
|
||||
/// isValidGCCRegisterName - Returns whether the passed in string
|
||||
/// is a valid register name according to GCC. This is used by Sema for
|
||||
/// inline asm statements.
|
||||
bool isValidGCCRegisterName(llvm::StringRef Name) const;
|
||||
bool isValidGCCRegisterName(StringRef Name) const;
|
||||
|
||||
// getNormalizedGCCRegisterName - Returns the "normalized" GCC register name.
|
||||
// For example, on x86 it will return "ax" when "eax" is passed in.
|
||||
llvm::StringRef getNormalizedGCCRegisterName(llvm::StringRef Name) const;
|
||||
StringRef getNormalizedGCCRegisterName(StringRef Name) const;
|
||||
|
||||
struct ConstraintInfo {
|
||||
enum {
|
||||
|
@ -331,7 +332,7 @@ public:
|
|||
std::string ConstraintStr; // constraint: "=rm"
|
||||
std::string Name; // Operand name: [foo] with no []'s.
|
||||
public:
|
||||
ConstraintInfo(llvm::StringRef ConstraintStr, llvm::StringRef Name)
|
||||
ConstraintInfo(StringRef ConstraintStr, StringRef Name)
|
||||
: Flags(0), TiedOperand(-1), ConstraintStr(ConstraintStr.str()),
|
||||
Name(Name.str()) {}
|
||||
|
||||
|
@ -444,7 +445,7 @@ public:
|
|||
/// and give good diagnostics in cases when the assembler or code generator
|
||||
/// would otherwise reject the section specifier.
|
||||
///
|
||||
virtual std::string isValidSectionSpecifier(llvm::StringRef SR) const {
|
||||
virtual std::string isValidSectionSpecifier(StringRef SR) const {
|
||||
return "";
|
||||
}
|
||||
|
||||
|
@ -565,7 +566,7 @@ public:
|
|||
|
||||
/// \brief Retrieve the name of the platform as it is used in the
|
||||
/// availability attribute.
|
||||
llvm::StringRef getPlatformName() const { return PlatformName; }
|
||||
StringRef getPlatformName() const { return PlatformName; }
|
||||
|
||||
/// \brief Retrieve the minimum desired version of the platform, to
|
||||
/// which the program should be compiled.
|
||||
|
|
|
@ -37,7 +37,7 @@ protected:
|
|||
virtual bool hasIRSupport() const;
|
||||
|
||||
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
|
||||
llvm::StringRef InFile);
|
||||
StringRef InFile);
|
||||
|
||||
virtual void ExecuteAction();
|
||||
|
||||
|
|
|
@ -10,11 +10,9 @@
|
|||
#ifndef CLANG_DRIVER_ACTION_H_
|
||||
#define CLANG_DRIVER_ACTION_H_
|
||||
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
|
||||
#include "clang/Driver/Types.h"
|
||||
#include "clang/Driver/Util.h"
|
||||
#include "clang/Basic/LLVM.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
|
||||
namespace clang {
|
||||
namespace driver {
|
||||
|
|
|
@ -51,7 +51,7 @@ namespace driver {
|
|||
mutable unsigned OwnsValues : 1;
|
||||
|
||||
/// The argument values, as C strings.
|
||||
llvm::SmallVector<const char *, 2> Values;
|
||||
SmallVector<const char *, 2> Values;
|
||||
|
||||
public:
|
||||
Arg(const Option *Opt, unsigned Index, const Arg *BaseArg = 0);
|
||||
|
@ -87,11 +87,11 @@ namespace driver {
|
|||
return Values[N];
|
||||
}
|
||||
|
||||
llvm::SmallVectorImpl<const char*> &getValues() {
|
||||
SmallVectorImpl<const char*> &getValues() {
|
||||
return Values;
|
||||
}
|
||||
|
||||
bool containsValue(llvm::StringRef Value) const {
|
||||
bool containsValue(StringRef Value) const {
|
||||
for (unsigned i = 0, e = getNumValues(); i != e; ++i)
|
||||
if (Values[i] == Value)
|
||||
return true;
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#ifndef CLANG_DRIVER_ARGLIST_H_
|
||||
#define CLANG_DRIVER_ARGLIST_H_
|
||||
|
||||
#include "clang/Basic/LLVM.h"
|
||||
#include "clang/Driver/OptSpecifier.h"
|
||||
#include "clang/Driver/Util.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
|
@ -34,7 +35,7 @@ namespace driver {
|
|||
/// arg_iterator - Iterates through arguments stored inside an ArgList.
|
||||
class arg_iterator {
|
||||
/// The current argument.
|
||||
llvm::SmallVectorImpl<Arg*>::const_iterator Current;
|
||||
SmallVectorImpl<Arg*>::const_iterator Current;
|
||||
|
||||
/// The argument list we are iterating over.
|
||||
const ArgList &Args;
|
||||
|
@ -58,7 +59,7 @@ namespace driver {
|
|||
typedef std::forward_iterator_tag iterator_category;
|
||||
typedef std::ptrdiff_t difference_type;
|
||||
|
||||
arg_iterator(llvm::SmallVectorImpl<Arg*>::const_iterator it,
|
||||
arg_iterator(SmallVectorImpl<Arg*>::const_iterator it,
|
||||
const ArgList &_Args, OptSpecifier _Id0 = 0U,
|
||||
OptSpecifier _Id1 = 0U, OptSpecifier _Id2 = 0U)
|
||||
: Current(it), Args(_Args), Id0(_Id0), Id1(_Id1), Id2(_Id2) {
|
||||
|
@ -101,7 +102,7 @@ namespace driver {
|
|||
void operator=(const ArgList &); // DO NOT IMPLEMENT
|
||||
|
||||
public:
|
||||
typedef llvm::SmallVector<Arg*, 16> arglist_type;
|
||||
typedef SmallVector<Arg*, 16> arglist_type;
|
||||
typedef arglist_type::iterator iterator;
|
||||
typedef arglist_type::const_iterator const_iterator;
|
||||
typedef arglist_type::reverse_iterator reverse_iterator;
|
||||
|
@ -195,8 +196,8 @@ namespace driver {
|
|||
/// @{
|
||||
|
||||
/// getLastArgValue - Return the value of the last argument, or a default.
|
||||
llvm::StringRef getLastArgValue(OptSpecifier Id,
|
||||
llvm::StringRef Default = "") const;
|
||||
StringRef getLastArgValue(OptSpecifier Id,
|
||||
StringRef Default = "") const;
|
||||
|
||||
/// getLastArgValue - Return the value of the last argument as an integer,
|
||||
/// or a default. Emits an error if the argument is given, but non-integral.
|
||||
|
@ -251,19 +252,19 @@ namespace driver {
|
|||
|
||||
/// MakeArgString - Construct a constant string pointer whose
|
||||
/// lifetime will match that of the ArgList.
|
||||
virtual const char *MakeArgString(llvm::StringRef Str) const = 0;
|
||||
virtual const char *MakeArgString(StringRef Str) const = 0;
|
||||
const char *MakeArgString(const char *Str) const {
|
||||
return MakeArgString(llvm::StringRef(Str));
|
||||
return MakeArgString(StringRef(Str));
|
||||
}
|
||||
const char *MakeArgString(std::string Str) const {
|
||||
return MakeArgString(llvm::StringRef(Str));
|
||||
return MakeArgString(StringRef(Str));
|
||||
}
|
||||
const char *MakeArgString(const llvm::Twine &Str) const;
|
||||
|
||||
/// \brief Create an arg string for (\arg LHS + \arg RHS), reusing the
|
||||
/// string at \arg Index if possible.
|
||||
const char *GetOrMakeJoinedArgString(unsigned Index, llvm::StringRef LHS,
|
||||
llvm::StringRef RHS) const;
|
||||
const char *GetOrMakeJoinedArgString(unsigned Index, StringRef LHS,
|
||||
StringRef RHS) const;
|
||||
|
||||
/// @}
|
||||
};
|
||||
|
@ -304,10 +305,10 @@ namespace driver {
|
|||
|
||||
public:
|
||||
/// MakeIndex - Get an index for the given string(s).
|
||||
unsigned MakeIndex(llvm::StringRef String0) const;
|
||||
unsigned MakeIndex(llvm::StringRef String0, llvm::StringRef String1) const;
|
||||
unsigned MakeIndex(StringRef String0) const;
|
||||
unsigned MakeIndex(StringRef String0, StringRef String1) const;
|
||||
|
||||
virtual const char *MakeArgString(llvm::StringRef Str) const;
|
||||
virtual const char *MakeArgString(StringRef Str) const;
|
||||
|
||||
/// @}
|
||||
};
|
||||
|
@ -346,7 +347,7 @@ namespace driver {
|
|||
SynthesizedArgs.push_back(A);
|
||||
}
|
||||
|
||||
virtual const char *MakeArgString(llvm::StringRef Str) const;
|
||||
virtual const char *MakeArgString(StringRef Str) const;
|
||||
|
||||
/// AddFlagArg - Construct a new FlagArg for the given option \arg Id and
|
||||
/// append it to the argument list.
|
||||
|
@ -358,7 +359,7 @@ namespace driver {
|
|||
/// \arg Id, with the provided \arg Value and append it to the argument
|
||||
/// list.
|
||||
void AddPositionalArg(const Arg *BaseArg, const Option *Opt,
|
||||
llvm::StringRef Value) {
|
||||
StringRef Value) {
|
||||
append(MakePositionalArg(BaseArg, Opt, Value));
|
||||
}
|
||||
|
||||
|
@ -367,7 +368,7 @@ namespace driver {
|
|||
/// \arg Id, with the provided \arg Value and append it to the argument
|
||||
/// list.
|
||||
void AddSeparateArg(const Arg *BaseArg, const Option *Opt,
|
||||
llvm::StringRef Value) {
|
||||
StringRef Value) {
|
||||
append(MakeSeparateArg(BaseArg, Opt, Value));
|
||||
}
|
||||
|
||||
|
@ -375,7 +376,7 @@ namespace driver {
|
|||
/// AddJoinedArg - Construct a new Positional arg for the given option \arg
|
||||
/// Id, with the provided \arg Value and append it to the argument list.
|
||||
void AddJoinedArg(const Arg *BaseArg, const Option *Opt,
|
||||
llvm::StringRef Value) {
|
||||
StringRef Value) {
|
||||
append(MakeJoinedArg(BaseArg, Opt, Value));
|
||||
}
|
||||
|
||||
|
@ -387,17 +388,17 @@ namespace driver {
|
|||
/// MakePositionalArg - Construct a new Positional arg for the
|
||||
/// given option \arg Id, with the provided \arg Value.
|
||||
Arg *MakePositionalArg(const Arg *BaseArg, const Option *Opt,
|
||||
llvm::StringRef Value) const;
|
||||
StringRef Value) const;
|
||||
|
||||
/// MakeSeparateArg - Construct a new Positional arg for the
|
||||
/// given option \arg Id, with the provided \arg Value.
|
||||
Arg *MakeSeparateArg(const Arg *BaseArg, const Option *Opt,
|
||||
llvm::StringRef Value) const;
|
||||
StringRef Value) const;
|
||||
|
||||
/// MakeJoinedArg - Construct a new Positional arg for the
|
||||
/// given option \arg Id, with the provided \arg Value.
|
||||
Arg *MakeJoinedArg(const Arg *BaseArg, const Option *Opt,
|
||||
llvm::StringRef Value) const;
|
||||
StringRef Value) const;
|
||||
|
||||
/// @}
|
||||
};
|
||||
|
|
|
@ -75,7 +75,7 @@ public:
|
|||
/// functionality.
|
||||
/// FIXME: This type of customization should be removed in favor of the
|
||||
/// universal driver when it is ready.
|
||||
typedef llvm::SmallVector<std::string, 4> prefix_list;
|
||||
typedef SmallVector<std::string, 4> prefix_list;
|
||||
prefix_list PrefixDirs;
|
||||
|
||||
/// sysroot, if present
|
||||
|
@ -173,9 +173,9 @@ private:
|
|||
DerivedArgList *TranslateInputArgs(const InputArgList &Args) const;
|
||||
|
||||
public:
|
||||
Driver(llvm::StringRef _ClangExecutable,
|
||||
llvm::StringRef _DefaultHostTriple,
|
||||
llvm::StringRef _DefaultImageName,
|
||||
Driver(StringRef _ClangExecutable,
|
||||
StringRef _DefaultHostTriple,
|
||||
StringRef _DefaultImageName,
|
||||
bool IsProduction, bool CXXIsProduction,
|
||||
Diagnostic &_Diags);
|
||||
~Driver();
|
||||
|
@ -209,7 +209,7 @@ public:
|
|||
return InstalledDir.c_str();
|
||||
return Dir.c_str();
|
||||
}
|
||||
void setInstalledDir(llvm::StringRef Value) {
|
||||
void setInstalledDir(StringRef Value) {
|
||||
InstalledDir = Value;
|
||||
}
|
||||
|
||||
|
|
|
@ -82,7 +82,7 @@ public:
|
|||
/// JobList - A sequence of jobs to perform.
|
||||
class JobList : public Job {
|
||||
public:
|
||||
typedef llvm::SmallVector<Job*, 4> list_type;
|
||||
typedef SmallVector<Job*, 4> list_type;
|
||||
typedef list_type::size_type size_type;
|
||||
typedef list_type::iterator iterator;
|
||||
typedef list_type::const_iterator const_iterator;
|
||||
|
|
|
@ -60,7 +60,7 @@ namespace driver {
|
|||
OptSpecifier ID;
|
||||
|
||||
/// The option name.
|
||||
llvm::StringRef Name;
|
||||
StringRef Name;
|
||||
|
||||
/// Group this option is a member of, if any.
|
||||
const OptionGroup *Group;
|
||||
|
@ -99,7 +99,7 @@ namespace driver {
|
|||
|
||||
unsigned getID() const { return ID.getID(); }
|
||||
OptionClass getKind() const { return Kind; }
|
||||
llvm::StringRef getName() const { return Name; }
|
||||
StringRef getName() const { return Name; }
|
||||
const OptionGroup *getGroup() const { return Group; }
|
||||
const Option *getAlias() const { return Alias; }
|
||||
|
||||
|
@ -139,7 +139,7 @@ namespace driver {
|
|||
|
||||
/// getRenderName - Return the name to use when rendering this
|
||||
/// option.
|
||||
llvm::StringRef getRenderName() const {
|
||||
StringRef getRenderName() const {
|
||||
return getUnaliasedOption()->getName();
|
||||
}
|
||||
|
||||
|
|
|
@ -10,9 +10,7 @@
|
|||
#ifndef CLANG_DRIVER_TOOL_H_
|
||||
#define CLANG_DRIVER_TOOL_H_
|
||||
|
||||
namespace llvm {
|
||||
template<typename T, unsigned N> class SmallVector;
|
||||
}
|
||||
#include "clang/Basic/LLVM.h"
|
||||
|
||||
namespace clang {
|
||||
namespace driver {
|
||||
|
@ -23,7 +21,7 @@ namespace driver {
|
|||
class JobAction;
|
||||
class ToolChain;
|
||||
|
||||
typedef llvm::SmallVector<InputInfo, 4> InputInfoList;
|
||||
typedef SmallVector<InputInfo, 4> InputInfoList;
|
||||
|
||||
/// Tool - Information on a specific compilation tool.
|
||||
class Tool {
|
||||
|
|
|
@ -32,7 +32,7 @@ namespace driver {
|
|||
/// ToolChain - Access to tools for a single platform.
|
||||
class ToolChain {
|
||||
public:
|
||||
typedef llvm::SmallVector<std::string, 4> path_list;
|
||||
typedef SmallVector<std::string, 4> path_list;
|
||||
|
||||
enum CXXStdlibType {
|
||||
CST_Libcxx,
|
||||
|
@ -63,9 +63,9 @@ public:
|
|||
const llvm::Triple &getTriple() const { return Triple; }
|
||||
|
||||
llvm::Triple::ArchType getArch() const { return Triple.getArch(); }
|
||||
llvm::StringRef getArchName() const { return Triple.getArchName(); }
|
||||
llvm::StringRef getPlatform() const { return Triple.getVendorName(); }
|
||||
llvm::StringRef getOS() const { return Triple.getOSName(); }
|
||||
StringRef getArchName() const { return Triple.getArchName(); }
|
||||
StringRef getPlatform() const { return Triple.getVendorName(); }
|
||||
StringRef getOS() const { return Triple.getOSName(); }
|
||||
|
||||
std::string getTripleString() const {
|
||||
return Triple.getTriple();
|
||||
|
|
|
@ -10,19 +10,17 @@
|
|||
#ifndef CLANG_DRIVER_UTIL_H_
|
||||
#define CLANG_DRIVER_UTIL_H_
|
||||
|
||||
namespace llvm {
|
||||
template<typename T, unsigned N> class SmallVector;
|
||||
}
|
||||
#include "clang/Basic/LLVM.h"
|
||||
|
||||
namespace clang {
|
||||
namespace driver {
|
||||
class Action;
|
||||
|
||||
/// ArgStringList - Type used for constructing argv lists for subprocesses.
|
||||
typedef llvm::SmallVector<const char*, 16> ArgStringList;
|
||||
typedef SmallVector<const char*, 16> ArgStringList;
|
||||
|
||||
/// ActionList - Type used for lists of actions.
|
||||
typedef llvm::SmallVector<Action*, 3> ActionList;
|
||||
typedef SmallVector<Action*, 3> ActionList;
|
||||
|
||||
} // end namespace driver
|
||||
} // end namespace clang
|
||||
|
|
|
@ -145,11 +145,11 @@ private:
|
|||
ASTLocation LastLoc;
|
||||
|
||||
/// \brief The set of diagnostics produced when creating the preamble.
|
||||
llvm::SmallVector<StoredDiagnostic, 4> PreambleDiagnostics;
|
||||
SmallVector<StoredDiagnostic, 4> PreambleDiagnostics;
|
||||
|
||||
/// \brief The set of diagnostics produced when creating this
|
||||
/// translation unit.
|
||||
llvm::SmallVector<StoredDiagnostic, 4> StoredDiagnostics;
|
||||
SmallVector<StoredDiagnostic, 4> StoredDiagnostics;
|
||||
|
||||
/// \brief The number of stored diagnostics that come from the driver
|
||||
/// itself.
|
||||
|
@ -160,7 +160,7 @@ private:
|
|||
|
||||
/// \brief Temporary files that should be removed when the ASTUnit is
|
||||
/// destroyed.
|
||||
llvm::SmallVector<llvm::sys::Path, 4> TemporaryFiles;
|
||||
SmallVector<llvm::sys::Path, 4> TemporaryFiles;
|
||||
|
||||
/// \brief A mapping from file IDs to the set of preprocessed entities
|
||||
/// stored in that file.
|
||||
|
@ -253,10 +253,10 @@ private:
|
|||
const char **ArgBegin, const char **ArgEnd,
|
||||
ASTUnit &AST, bool CaptureDiagnostics);
|
||||
|
||||
void TranslateStoredDiagnostics(ASTReader *MMan, llvm::StringRef ModName,
|
||||
void TranslateStoredDiagnostics(ASTReader *MMan, StringRef ModName,
|
||||
SourceManager &SrcMan,
|
||||
const llvm::SmallVectorImpl<StoredDiagnostic> &Diags,
|
||||
llvm::SmallVectorImpl<StoredDiagnostic> &Out);
|
||||
const SmallVectorImpl<StoredDiagnostic> &Diags,
|
||||
SmallVectorImpl<StoredDiagnostic> &Out);
|
||||
|
||||
public:
|
||||
/// \brief A cached code-completion result, which may be introduced in one of
|
||||
|
@ -442,7 +442,7 @@ public:
|
|||
ASTLocation getLastASTLocation() const { return LastLoc; }
|
||||
|
||||
|
||||
llvm::StringRef getMainFileName() const;
|
||||
StringRef getMainFileName() const;
|
||||
|
||||
typedef std::vector<Decl *>::iterator top_level_iterator;
|
||||
|
||||
|
@ -513,7 +513,7 @@ public:
|
|||
}
|
||||
unsigned stored_diag_size() const { return StoredDiagnostics.size(); }
|
||||
|
||||
llvm::SmallVector<StoredDiagnostic, 4> &getStoredDiagnostics() {
|
||||
SmallVector<StoredDiagnostic, 4> &getStoredDiagnostics() {
|
||||
return StoredDiagnostics;
|
||||
}
|
||||
|
||||
|
@ -532,7 +532,7 @@ public:
|
|||
return CachedCompletionResults.size();
|
||||
}
|
||||
|
||||
llvm::MemoryBuffer *getBufferForFile(llvm::StringRef Filename,
|
||||
llvm::MemoryBuffer *getBufferForFile(StringRef Filename,
|
||||
std::string *ErrorStr = 0);
|
||||
|
||||
/// \brief Whether this AST represents a complete translation unit.
|
||||
|
@ -632,7 +632,7 @@ public:
|
|||
static ASTUnit *LoadFromCommandLine(const char **ArgBegin,
|
||||
const char **ArgEnd,
|
||||
llvm::IntrusiveRefCntPtr<Diagnostic> Diags,
|
||||
llvm::StringRef ResourceFilesPath,
|
||||
StringRef ResourceFilesPath,
|
||||
bool OnlyLocalDecls = false,
|
||||
bool CaptureDiagnostics = false,
|
||||
RemappedFile *RemappedFiles = 0,
|
||||
|
@ -670,19 +670,19 @@ public:
|
|||
///
|
||||
/// FIXME: The Diag, LangOpts, SourceMgr, FileMgr, StoredDiagnostics, and
|
||||
/// OwnedBuffers parameters are all disgusting hacks. They will go away.
|
||||
void CodeComplete(llvm::StringRef File, unsigned Line, unsigned Column,
|
||||
void CodeComplete(StringRef File, unsigned Line, unsigned Column,
|
||||
RemappedFile *RemappedFiles, unsigned NumRemappedFiles,
|
||||
bool IncludeMacros, bool IncludeCodePatterns,
|
||||
CodeCompleteConsumer &Consumer,
|
||||
Diagnostic &Diag, LangOptions &LangOpts,
|
||||
SourceManager &SourceMgr, FileManager &FileMgr,
|
||||
llvm::SmallVectorImpl<StoredDiagnostic> &StoredDiagnostics,
|
||||
llvm::SmallVectorImpl<const llvm::MemoryBuffer *> &OwnedBuffers);
|
||||
SmallVectorImpl<StoredDiagnostic> &StoredDiagnostics,
|
||||
SmallVectorImpl<const llvm::MemoryBuffer *> &OwnedBuffers);
|
||||
|
||||
/// \brief Save this translation unit to a file with the given name.
|
||||
///
|
||||
/// \returns An indication of whether the save was successful or not.
|
||||
CXSaveError Save(llvm::StringRef File);
|
||||
CXSaveError Save(StringRef File);
|
||||
|
||||
/// \brief Serialize this translation unit with the given output stream.
|
||||
///
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#ifndef LLVM_CLANG_FRONTEND_COMMANDLINESOURCELOC_H
|
||||
#define LLVM_CLANG_FRONTEND_COMMANDLINESOURCELOC_H
|
||||
|
||||
#include "clang/Basic/LLVM.h"
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
|
||||
|
@ -29,10 +30,10 @@ struct ParsedSourceLocation {
|
|||
public:
|
||||
/// Construct a parsed source location from a string; the Filename is empty on
|
||||
/// error.
|
||||
static ParsedSourceLocation FromString(llvm::StringRef Str) {
|
||||
static ParsedSourceLocation FromString(StringRef Str) {
|
||||
ParsedSourceLocation PSL;
|
||||
std::pair<llvm::StringRef, llvm::StringRef> ColSplit = Str.rsplit(':');
|
||||
std::pair<llvm::StringRef, llvm::StringRef> LineSplit =
|
||||
std::pair<StringRef, StringRef> ColSplit = Str.rsplit(':');
|
||||
std::pair<StringRef, StringRef> LineSplit =
|
||||
ColSplit.first.rsplit(':');
|
||||
|
||||
// If both tail splits were valid integers, return success.
|
||||
|
|
|
@ -518,7 +518,7 @@ public:
|
|||
|
||||
/// Create an external AST source to read a PCH file and attach it to the AST
|
||||
/// context.
|
||||
void createPCHExternalASTSource(llvm::StringRef Path,
|
||||
void createPCHExternalASTSource(StringRef Path,
|
||||
bool DisablePCHValidation,
|
||||
bool DisableStatCache,
|
||||
void *DeserializationListener);
|
||||
|
@ -527,7 +527,7 @@ public:
|
|||
///
|
||||
/// \return - The new object on success, or null on failure.
|
||||
static ExternalASTSource *
|
||||
createPCHExternalASTSource(llvm::StringRef Path, const std::string &Sysroot,
|
||||
createPCHExternalASTSource(StringRef Path, const std::string &Sysroot,
|
||||
bool DisablePCHValidation,
|
||||
bool DisableStatCache,
|
||||
Preprocessor &PP, ASTContext &Context,
|
||||
|
@ -560,18 +560,18 @@ public:
|
|||
///
|
||||
/// \return - Null on error.
|
||||
llvm::raw_fd_ostream *
|
||||
createDefaultOutputFile(bool Binary = true, llvm::StringRef BaseInput = "",
|
||||
llvm::StringRef Extension = "");
|
||||
createDefaultOutputFile(bool Binary = true, StringRef BaseInput = "",
|
||||
StringRef Extension = "");
|
||||
|
||||
/// Create a new output file and add it to the list of tracked output files,
|
||||
/// optionally deriving the output path name.
|
||||
///
|
||||
/// \return - Null on error.
|
||||
llvm::raw_fd_ostream *
|
||||
createOutputFile(llvm::StringRef OutputPath,
|
||||
createOutputFile(StringRef OutputPath,
|
||||
bool Binary = true, bool RemoveFileOnSignal = true,
|
||||
llvm::StringRef BaseInput = "",
|
||||
llvm::StringRef Extension = "");
|
||||
StringRef BaseInput = "",
|
||||
StringRef Extension = "");
|
||||
|
||||
/// Create a new output file, optionally deriving the output path name.
|
||||
///
|
||||
|
@ -594,10 +594,10 @@ public:
|
|||
/// \param TempPathName [out] - If given, the temporary file path name
|
||||
/// will be stored here on success.
|
||||
static llvm::raw_fd_ostream *
|
||||
createOutputFile(llvm::StringRef OutputPath, std::string &Error,
|
||||
createOutputFile(StringRef OutputPath, std::string &Error,
|
||||
bool Binary = true, bool RemoveFileOnSignal = true,
|
||||
llvm::StringRef BaseInput = "",
|
||||
llvm::StringRef Extension = "",
|
||||
StringRef BaseInput = "",
|
||||
StringRef Extension = "",
|
||||
std::string *ResultPathName = 0,
|
||||
std::string *TempPathName = 0);
|
||||
|
||||
|
@ -609,13 +609,13 @@ public:
|
|||
/// as the main file.
|
||||
///
|
||||
/// \return True on success.
|
||||
bool InitializeSourceManager(llvm::StringRef InputFile);
|
||||
bool InitializeSourceManager(StringRef InputFile);
|
||||
|
||||
/// InitializeSourceManager - Initialize the source manager to set InputFile
|
||||
/// as the main file.
|
||||
///
|
||||
/// \return True on success.
|
||||
static bool InitializeSourceManager(llvm::StringRef InputFile,
|
||||
static bool InitializeSourceManager(StringRef InputFile,
|
||||
Diagnostic &Diags,
|
||||
FileManager &FileMgr,
|
||||
SourceManager &SourceMgr,
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#ifndef LLVM_CLANG_FRONTEND_FRONTENDACTION_H
|
||||
#define LLVM_CLANG_FRONTEND_FRONTENDACTION_H
|
||||
|
||||
#include "clang/Basic/LLVM.h"
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include "llvm/ADT/OwningPtr.h"
|
||||
#include <string>
|
||||
|
@ -55,7 +56,7 @@ class FrontendAction {
|
|||
|
||||
private:
|
||||
ASTConsumer* CreateWrappedASTConsumer(CompilerInstance &CI,
|
||||
llvm::StringRef InFile);
|
||||
StringRef InFile);
|
||||
|
||||
protected:
|
||||
/// @name Implementation Action Interface
|
||||
|
@ -76,7 +77,7 @@ protected:
|
|||
///
|
||||
/// \return The new AST consumer, or 0 on failure.
|
||||
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
|
||||
llvm::StringRef InFile) = 0;
|
||||
StringRef InFile) = 0;
|
||||
|
||||
/// \brief Callback before starting processing a single input, giving the
|
||||
/// opportunity to modify the CompilerInvocation or do some other action
|
||||
|
@ -92,7 +93,7 @@ protected:
|
|||
/// \return True on success; on failure \see ExecutionAction() and
|
||||
/// EndSourceFileAction() will not be called.
|
||||
virtual bool BeginSourceFileAction(CompilerInstance &CI,
|
||||
llvm::StringRef Filename) {
|
||||
StringRef Filename) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -152,7 +153,7 @@ public:
|
|||
return CurrentASTUnit.take();
|
||||
}
|
||||
|
||||
void setCurrentFile(llvm::StringRef Value, InputKind Kind, ASTUnit *AST = 0);
|
||||
void setCurrentFile(StringRef Value, InputKind Kind, ASTUnit *AST = 0);
|
||||
|
||||
/// @}
|
||||
/// @name Supported Modes
|
||||
|
@ -205,7 +206,7 @@ public:
|
|||
///
|
||||
/// \return True on success; the compilation of this file should be aborted
|
||||
/// and neither Execute nor EndSourceFile should be called.
|
||||
bool BeginSourceFile(CompilerInstance &CI, llvm::StringRef Filename,
|
||||
bool BeginSourceFile(CompilerInstance &CI, StringRef Filename,
|
||||
InputKind Kind);
|
||||
|
||||
/// Execute - Set the source managers main input file, and run the action.
|
||||
|
@ -236,7 +237,7 @@ public:
|
|||
class PluginASTAction : public ASTFrontendAction {
|
||||
protected:
|
||||
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
|
||||
llvm::StringRef InFile) = 0;
|
||||
StringRef InFile) = 0;
|
||||
|
||||
public:
|
||||
/// ParseArgs - Parse the given plugin command line arguments.
|
||||
|
@ -256,7 +257,7 @@ protected:
|
|||
/// CreateASTConsumer - Provide a default implementation which returns aborts,
|
||||
/// this method should never be called by FrontendAction clients.
|
||||
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
|
||||
llvm::StringRef InFile);
|
||||
StringRef InFile);
|
||||
|
||||
public:
|
||||
virtual bool usesPreprocessorOnly() const { return true; }
|
||||
|
@ -272,10 +273,10 @@ class WrapperFrontendAction : public FrontendAction {
|
|||
|
||||
protected:
|
||||
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
|
||||
llvm::StringRef InFile);
|
||||
StringRef InFile);
|
||||
virtual bool BeginInvocation(CompilerInstance &CI);
|
||||
virtual bool BeginSourceFileAction(CompilerInstance &CI,
|
||||
llvm::StringRef Filename);
|
||||
StringRef Filename);
|
||||
virtual void ExecuteAction();
|
||||
virtual void EndSourceFileAction();
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ class InitOnlyAction : public FrontendAction {
|
|||
virtual void ExecuteAction();
|
||||
|
||||
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
|
||||
llvm::StringRef InFile);
|
||||
StringRef InFile);
|
||||
|
||||
public:
|
||||
// Don't claim to only use the preprocessor, we want to follow the AST path,
|
||||
|
@ -39,37 +39,37 @@ public:
|
|||
class ASTPrintAction : public ASTFrontendAction {
|
||||
protected:
|
||||
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
|
||||
llvm::StringRef InFile);
|
||||
StringRef InFile);
|
||||
};
|
||||
|
||||
class ASTDumpAction : public ASTFrontendAction {
|
||||
protected:
|
||||
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
|
||||
llvm::StringRef InFile);
|
||||
StringRef InFile);
|
||||
};
|
||||
|
||||
class ASTDumpXMLAction : public ASTFrontendAction {
|
||||
protected:
|
||||
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
|
||||
llvm::StringRef InFile);
|
||||
StringRef InFile);
|
||||
};
|
||||
|
||||
class ASTViewAction : public ASTFrontendAction {
|
||||
protected:
|
||||
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
|
||||
llvm::StringRef InFile);
|
||||
StringRef InFile);
|
||||
};
|
||||
|
||||
class DeclContextPrintAction : public ASTFrontendAction {
|
||||
protected:
|
||||
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
|
||||
llvm::StringRef InFile);
|
||||
StringRef InFile);
|
||||
};
|
||||
|
||||
class GeneratePCHAction : public ASTFrontendAction {
|
||||
protected:
|
||||
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
|
||||
llvm::StringRef InFile);
|
||||
StringRef InFile);
|
||||
|
||||
virtual bool usesCompleteTranslationUnit() { return false; }
|
||||
|
||||
|
@ -81,7 +81,7 @@ public:
|
|||
///
|
||||
/// \returns true if an error occurred, false otherwise.
|
||||
static bool ComputeASTConsumerArguments(CompilerInstance &CI,
|
||||
llvm::StringRef InFile,
|
||||
StringRef InFile,
|
||||
std::string &Sysroot,
|
||||
std::string &OutputFile,
|
||||
llvm::raw_ostream *&OS,
|
||||
|
@ -91,7 +91,7 @@ public:
|
|||
class SyntaxOnlyAction : public ASTFrontendAction {
|
||||
protected:
|
||||
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
|
||||
llvm::StringRef InFile);
|
||||
StringRef InFile);
|
||||
|
||||
public:
|
||||
virtual bool hasCodeCompletionSupport() const { return true; }
|
||||
|
@ -114,10 +114,10 @@ class ASTMergeAction : public FrontendAction {
|
|||
|
||||
protected:
|
||||
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
|
||||
llvm::StringRef InFile);
|
||||
StringRef InFile);
|
||||
|
||||
virtual bool BeginSourceFileAction(CompilerInstance &CI,
|
||||
llvm::StringRef Filename);
|
||||
StringRef Filename);
|
||||
|
||||
virtual void ExecuteAction();
|
||||
virtual void EndSourceFileAction();
|
||||
|
@ -137,7 +137,7 @@ public:
|
|||
class PrintPreambleAction : public FrontendAction {
|
||||
protected:
|
||||
void ExecuteAction();
|
||||
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &, llvm::StringRef) {
|
||||
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &, StringRef) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -151,7 +151,7 @@ public:
|
|||
///
|
||||
/// \return The input kind for the extension, or IK_None if the extension is
|
||||
/// not recognized.
|
||||
static InputKind getInputKindForExtension(llvm::StringRef Extension);
|
||||
static InputKind getInputKindForExtension(StringRef Extension);
|
||||
};
|
||||
|
||||
} // end namespace clang
|
||||
|
|
|
@ -44,7 +44,7 @@ public:
|
|||
/// path.
|
||||
unsigned IgnoreSysRoot : 1;
|
||||
|
||||
Entry(llvm::StringRef path, frontend::IncludeDirGroup group,
|
||||
Entry(StringRef path, frontend::IncludeDirGroup group,
|
||||
bool isUserSupplied, bool isFramework, bool ignoreSysRoot)
|
||||
: Path(path), Group(group), IsUserSupplied(isUserSupplied),
|
||||
IsFramework(isFramework), IgnoreSysRoot(ignoreSysRoot) {}
|
||||
|
@ -89,13 +89,13 @@ public:
|
|||
unsigned Verbose : 1;
|
||||
|
||||
public:
|
||||
HeaderSearchOptions(llvm::StringRef _Sysroot = "/")
|
||||
HeaderSearchOptions(StringRef _Sysroot = "/")
|
||||
: Sysroot(_Sysroot), UseBuiltinIncludes(true),
|
||||
UseStandardIncludes(true), UseStandardCXXIncludes(true), UseLibcxx(false),
|
||||
Verbose(false) {}
|
||||
|
||||
/// AddPath - Add the \arg Path path to the specified \arg Group list.
|
||||
void AddPath(llvm::StringRef Path, frontend::IncludeDirGroup Group,
|
||||
void AddPath(StringRef Path, frontend::IncludeDirGroup Group,
|
||||
bool IsUserSupplied, bool IsFramework, bool IgnoreSysRoot) {
|
||||
UserEntries.push_back(Entry(Path, Group, IsUserSupplied, IsFramework,
|
||||
IgnoreSysRoot));
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#ifndef LLVM_CLANG_FRONTEND_LANGSTANDARD_H
|
||||
#define LLVM_CLANG_FRONTEND_LANGSTANDARD_H
|
||||
|
||||
#include "clang/Basic/LLVM.h"
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
|
||||
namespace clang {
|
||||
|
@ -83,7 +84,7 @@ public:
|
|||
bool hasImplicitInt() const { return Flags & frontend::ImplicitInt; }
|
||||
|
||||
static const LangStandard &getLangStandardForKind(Kind K);
|
||||
static const LangStandard *getLangStandardForName(llvm::StringRef Name);
|
||||
static const LangStandard *getLangStandardForName(StringRef Name);
|
||||
};
|
||||
|
||||
} // end namespace clang
|
||||
|
|
|
@ -48,7 +48,7 @@ class LogDiagnosticPrinter : public DiagnosticClient {
|
|||
FullSourceLoc LastLoc;
|
||||
unsigned OwnsOutputStream : 1;
|
||||
|
||||
llvm::SmallVector<DiagEntry, 8> Entries;
|
||||
SmallVector<DiagEntry, 8> Entries;
|
||||
|
||||
std::string MainFilename;
|
||||
std::string DwarfDebugFlags;
|
||||
|
@ -58,7 +58,7 @@ public:
|
|||
bool OwnsOutputStream = false);
|
||||
virtual ~LogDiagnosticPrinter();
|
||||
|
||||
void setDwarfDebugFlags(llvm::StringRef Value) {
|
||||
void setDwarfDebugFlags(StringRef Value) {
|
||||
DwarfDebugFlags = Value;
|
||||
}
|
||||
|
||||
|
|
|
@ -162,13 +162,13 @@ public:
|
|||
RetainRemappedFileBuffers(false),
|
||||
ObjCXXARCStandardLibrary(ARCXX_nolib) { }
|
||||
|
||||
void addMacroDef(llvm::StringRef Name) {
|
||||
void addMacroDef(StringRef Name) {
|
||||
Macros.push_back(std::make_pair(Name, false));
|
||||
}
|
||||
void addMacroUndef(llvm::StringRef Name) {
|
||||
void addMacroUndef(StringRef Name) {
|
||||
Macros.push_back(std::make_pair(Name, true));
|
||||
}
|
||||
void addRemappedFile(llvm::StringRef From, llvm::StringRef To) {
|
||||
void addRemappedFile(StringRef From, StringRef To) {
|
||||
RemappedFiles.push_back(std::make_pair(From, To));
|
||||
}
|
||||
|
||||
|
@ -176,7 +176,7 @@ public:
|
|||
return RemappedFiles.erase(Remapped);
|
||||
}
|
||||
|
||||
void addRemappedFile(llvm::StringRef From, const llvm::MemoryBuffer * To) {
|
||||
void addRemappedFile(StringRef From, const llvm::MemoryBuffer * To) {
|
||||
RemappedFileBuffers.push_back(std::make_pair(From, To));
|
||||
}
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ class FrontendOptions;
|
|||
|
||||
/// Normalize \arg File for use in a user defined #include directive (in the
|
||||
/// predefines buffer).
|
||||
std::string NormalizeDashIncludePath(llvm::StringRef File,
|
||||
std::string NormalizeDashIncludePath(StringRef File,
|
||||
FileManager &FileMgr);
|
||||
|
||||
/// Apply the header search options to get given HeaderSearch object.
|
||||
|
@ -87,7 +87,7 @@ void AttachDependencyFileGen(Preprocessor &PP,
|
|||
/// \param OutputPath - If non-empty, a path to write the header include
|
||||
/// information to, instead of writing to stderr.
|
||||
void AttachHeaderIncludeGen(Preprocessor &PP, bool ShowAllHeaders = false,
|
||||
llvm::StringRef OutputPath = "",
|
||||
StringRef OutputPath = "",
|
||||
bool ShowDepth = true);
|
||||
|
||||
/// CacheTokens - Cache tokens for use with PCH. Note that this requires
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#ifndef LLVM_CLANG_INDEX_ENTITY_H
|
||||
#define LLVM_CLANG_INDEX_ENTITY_H
|
||||
|
||||
#include "clang/Basic/LLVM.h"
|
||||
#include "llvm/ADT/PointerUnion.h"
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
|
@ -73,7 +74,7 @@ public:
|
|||
static Entity get(Decl *D, Program &Prog);
|
||||
|
||||
/// \brief Get an Entity associated with a name in the global namespace.
|
||||
static Entity get(llvm::StringRef Name, Program &Prog);
|
||||
static Entity get(StringRef Name, Program &Prog);
|
||||
|
||||
/// \brief true if the Entity is not visible outside the trasnlation unit.
|
||||
bool isInternalToTU() const {
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#ifndef LLVM_CLANG_INDEX_HANDLERS_H
|
||||
#define LLVM_CLANG_INDEX_HANDLERS_H
|
||||
|
||||
#include "clang/Basic/LLVM.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
|
||||
namespace clang {
|
||||
|
@ -61,7 +62,7 @@ public:
|
|||
template <typename handler_type>
|
||||
class Storing : public handler_type {
|
||||
typedef typename handler_type::receiving_type receiving_type;
|
||||
typedef llvm::SmallVector<receiving_type, 8> StoreTy;
|
||||
typedef SmallVector<receiving_type, 8> StoreTy;
|
||||
StoreTy Store;
|
||||
|
||||
public:
|
||||
|
|
|
@ -133,15 +133,15 @@ public:
|
|||
/// \param RelativePath If not NULL, will be set to the path relative to
|
||||
/// SearchPath at which the file was found. This only differs from the
|
||||
/// Filename for framework includes.
|
||||
const FileEntry *LookupFile(llvm::StringRef Filename, HeaderSearch &HS,
|
||||
llvm::SmallVectorImpl<char> *SearchPath,
|
||||
llvm::SmallVectorImpl<char> *RelativePath) const;
|
||||
const FileEntry *LookupFile(StringRef Filename, HeaderSearch &HS,
|
||||
SmallVectorImpl<char> *SearchPath,
|
||||
SmallVectorImpl<char> *RelativePath) const;
|
||||
|
||||
private:
|
||||
const FileEntry *DoFrameworkLookup(
|
||||
llvm::StringRef Filename, HeaderSearch &HS,
|
||||
llvm::SmallVectorImpl<char> *SearchPath,
|
||||
llvm::SmallVectorImpl<char> *RelativePath) const;
|
||||
StringRef Filename, HeaderSearch &HS,
|
||||
SmallVectorImpl<char> *SearchPath,
|
||||
SmallVectorImpl<char> *RelativePath) const;
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -14,10 +14,10 @@
|
|||
#ifndef LLVM_CLANG_LEX_HEADERMAP_H
|
||||
#define LLVM_CLANG_LEX_HEADERMAP_H
|
||||
|
||||
#include "clang/Basic/LLVM.h"
|
||||
|
||||
namespace llvm {
|
||||
class MemoryBuffer;
|
||||
class StringRef;
|
||||
template <typename T> class SmallVectorImpl;
|
||||
}
|
||||
namespace clang {
|
||||
class FileEntry;
|
||||
|
@ -52,7 +52,7 @@ public:
|
|||
/// raw path at which the file was found in the file system. For example,
|
||||
/// for a search path ".." and a filename "../file.h" this would be
|
||||
/// "../../file.h".
|
||||
const FileEntry *LookupFile(llvm::StringRef Filename, FileManager &FM) const;
|
||||
const FileEntry *LookupFile(StringRef Filename, FileManager &FM) const;
|
||||
|
||||
/// getFileName - Return the filename of the headermap.
|
||||
const char *getFileName() const;
|
||||
|
|
|
@ -211,12 +211,12 @@ public:
|
|||
/// \param RelativePath If non-null, will be set to the path relative to
|
||||
/// SearchPath at which the file was found. This only differs from the
|
||||
/// Filename for framework includes.
|
||||
const FileEntry *LookupFile(llvm::StringRef Filename, bool isAngled,
|
||||
const FileEntry *LookupFile(StringRef Filename, bool isAngled,
|
||||
const DirectoryLookup *FromDir,
|
||||
const DirectoryLookup *&CurDir,
|
||||
const FileEntry *CurFileEnt,
|
||||
llvm::SmallVectorImpl<char> *SearchPath,
|
||||
llvm::SmallVectorImpl<char> *RelativePath);
|
||||
SmallVectorImpl<char> *SearchPath,
|
||||
SmallVectorImpl<char> *RelativePath);
|
||||
|
||||
/// LookupSubframeworkHeader - Look up a subframework for the specified
|
||||
/// #include file. For example, if #include'ing <HIToolbox/HIToolbox.h> from
|
||||
|
@ -224,15 +224,15 @@ public:
|
|||
/// is a subframework within Carbon.framework. If so, return the FileEntry
|
||||
/// for the designated file, otherwise return null.
|
||||
const FileEntry *LookupSubframeworkHeader(
|
||||
llvm::StringRef Filename,
|
||||
StringRef Filename,
|
||||
const FileEntry *RelativeFileEnt,
|
||||
llvm::SmallVectorImpl<char> *SearchPath,
|
||||
llvm::SmallVectorImpl<char> *RelativePath);
|
||||
SmallVectorImpl<char> *SearchPath,
|
||||
SmallVectorImpl<char> *RelativePath);
|
||||
|
||||
/// LookupFrameworkCache - Look up the specified framework name in our
|
||||
/// framework cache, returning the DirectoryEntry it is in if we know,
|
||||
/// otherwise, return null.
|
||||
const DirectoryEntry *&LookupFrameworkCache(llvm::StringRef FWName) {
|
||||
const DirectoryEntry *&LookupFrameworkCache(StringRef FWName) {
|
||||
return FrameworkMap.GetOrCreateValue(FWName).getValue();
|
||||
}
|
||||
|
||||
|
|
|
@ -208,7 +208,7 @@ public:
|
|||
|
||||
/// Stringify - Convert the specified string into a C string by escaping '\'
|
||||
/// and " characters. This does not add surrounding ""'s to the string.
|
||||
static void Stringify(llvm::SmallVectorImpl<char> &Str);
|
||||
static void Stringify(SmallVectorImpl<char> &Str);
|
||||
|
||||
|
||||
/// getSpelling - This method is used to get the spelling of a token into a
|
||||
|
@ -244,8 +244,8 @@ public:
|
|||
/// This method lexes at the expansion depth of the given
|
||||
/// location and does not jump to the expansion or spelling
|
||||
/// location.
|
||||
static llvm::StringRef getSpelling(SourceLocation loc,
|
||||
llvm::SmallVectorImpl<char> &buffer,
|
||||
static StringRef getSpelling(SourceLocation loc,
|
||||
SmallVectorImpl<char> &buffer,
|
||||
const SourceManager &SourceMgr,
|
||||
const LangOptions &Features,
|
||||
bool *invalid = 0);
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#ifndef CLANG_LITERALSUPPORT_H
|
||||
#define CLANG_LITERALSUPPORT_H
|
||||
|
||||
#include "clang/Basic/LLVM.h"
|
||||
#include "llvm/ADT/APFloat.h"
|
||||
#include "llvm/ADT/SmallString.h"
|
||||
#include "llvm/Support/DataTypes.h"
|
||||
|
@ -167,8 +168,8 @@ public:
|
|||
bool AnyWide;
|
||||
bool Pascal;
|
||||
|
||||
llvm::StringRef GetString() const {
|
||||
return llvm::StringRef(ResultBuf.data(), GetStringLength());
|
||||
StringRef GetString() const {
|
||||
return StringRef(ResultBuf.data(), GetStringLength());
|
||||
}
|
||||
unsigned GetStringLength() const { return ResultPtr-ResultBuf.data(); }
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ class MacroInfo {
|
|||
|
||||
/// ReplacementTokens - This is the list of tokens that the macro is defined
|
||||
/// to.
|
||||
llvm::SmallVector<Token, 8> ReplacementTokens;
|
||||
SmallVector<Token, 8> ReplacementTokens;
|
||||
|
||||
/// \brief Length in characters of the macro definition.
|
||||
mutable unsigned DefinitionLength;
|
||||
|
@ -235,7 +235,7 @@ public:
|
|||
return ReplacementTokens[Tok];
|
||||
}
|
||||
|
||||
typedef llvm::SmallVector<Token, 8>::const_iterator tokens_iterator;
|
||||
typedef SmallVector<Token, 8>::const_iterator tokens_iterator;
|
||||
tokens_iterator tokens_begin() const { return ReplacementTokens.begin(); }
|
||||
tokens_iterator tokens_end() const { return ReplacementTokens.end(); }
|
||||
bool tokens_empty() const { return ReplacementTokens.empty(); }
|
||||
|
|
|
@ -90,12 +90,12 @@ public:
|
|||
/// file was found. This is equal to FileName except for framework includes.
|
||||
virtual void InclusionDirective(SourceLocation HashLoc,
|
||||
const Token &IncludeTok,
|
||||
llvm::StringRef FileName,
|
||||
StringRef FileName,
|
||||
bool IsAngled,
|
||||
const FileEntry *File,
|
||||
SourceLocation EndLoc,
|
||||
llvm::StringRef SearchPath,
|
||||
llvm::StringRef RelativePath) {
|
||||
StringRef SearchPath,
|
||||
StringRef RelativePath) {
|
||||
}
|
||||
|
||||
/// EndOfMainFile - This callback is invoked when the end of the main file is
|
||||
|
@ -122,25 +122,25 @@ public:
|
|||
/// \param Loc The location of the message directive.
|
||||
/// \param str The text of the message directive.
|
||||
///
|
||||
virtual void PragmaMessage(SourceLocation Loc, llvm::StringRef Str) {
|
||||
virtual void PragmaMessage(SourceLocation Loc, StringRef Str) {
|
||||
}
|
||||
|
||||
/// PragmaDiagnosticPush - This callback is invoked when a
|
||||
/// #pragma gcc dianostic push directive is read.
|
||||
virtual void PragmaDiagnosticPush(SourceLocation Loc,
|
||||
llvm::StringRef Namespace) {
|
||||
StringRef Namespace) {
|
||||
}
|
||||
|
||||
/// PragmaDiagnosticPop - This callback is invoked when a
|
||||
/// #pragma gcc dianostic pop directive is read.
|
||||
virtual void PragmaDiagnosticPop(SourceLocation Loc,
|
||||
llvm::StringRef Namespace) {
|
||||
StringRef Namespace) {
|
||||
}
|
||||
|
||||
/// PragmaDiagnostic - This callback is invoked when a
|
||||
/// #pragma gcc dianostic directive is read.
|
||||
virtual void PragmaDiagnostic(SourceLocation Loc, llvm::StringRef Namespace,
|
||||
diag::Mapping mapping, llvm::StringRef Str) {
|
||||
virtual void PragmaDiagnostic(SourceLocation Loc, StringRef Namespace,
|
||||
diag::Mapping mapping, StringRef Str) {
|
||||
}
|
||||
|
||||
/// MacroExpands - This is called by
|
||||
|
@ -218,12 +218,12 @@ public:
|
|||
|
||||
virtual void InclusionDirective(SourceLocation HashLoc,
|
||||
const Token &IncludeTok,
|
||||
llvm::StringRef FileName,
|
||||
StringRef FileName,
|
||||
bool IsAngled,
|
||||
const FileEntry *File,
|
||||
SourceLocation EndLoc,
|
||||
llvm::StringRef SearchPath,
|
||||
llvm::StringRef RelativePath) {
|
||||
StringRef SearchPath,
|
||||
StringRef RelativePath) {
|
||||
First->InclusionDirective(HashLoc, IncludeTok, FileName, IsAngled, File,
|
||||
EndLoc, SearchPath, RelativePath);
|
||||
Second->InclusionDirective(HashLoc, IncludeTok, FileName, IsAngled, File,
|
||||
|
@ -246,25 +246,25 @@ public:
|
|||
Second->PragmaComment(Loc, Kind, Str);
|
||||
}
|
||||
|
||||
virtual void PragmaMessage(SourceLocation Loc, llvm::StringRef Str) {
|
||||
virtual void PragmaMessage(SourceLocation Loc, StringRef Str) {
|
||||
First->PragmaMessage(Loc, Str);
|
||||
Second->PragmaMessage(Loc, Str);
|
||||
}
|
||||
|
||||
virtual void PragmaDiagnosticPush(SourceLocation Loc,
|
||||
llvm::StringRef Namespace) {
|
||||
StringRef Namespace) {
|
||||
First->PragmaDiagnosticPush(Loc, Namespace);
|
||||
Second->PragmaDiagnosticPush(Loc, Namespace);
|
||||
}
|
||||
|
||||
virtual void PragmaDiagnosticPop(SourceLocation Loc,
|
||||
llvm::StringRef Namespace) {
|
||||
StringRef Namespace) {
|
||||
First->PragmaDiagnosticPop(Loc, Namespace);
|
||||
Second->PragmaDiagnosticPop(Loc, Namespace);
|
||||
}
|
||||
|
||||
virtual void PragmaDiagnostic(SourceLocation Loc, llvm::StringRef Namespace,
|
||||
diag::Mapping mapping, llvm::StringRef Str) {
|
||||
virtual void PragmaDiagnostic(SourceLocation Loc, StringRef Namespace,
|
||||
diag::Mapping mapping, StringRef Str) {
|
||||
First->PragmaDiagnostic(Loc, Namespace, mapping, Str);
|
||||
Second->PragmaDiagnostic(Loc, Namespace, mapping, Str);
|
||||
}
|
||||
|
|
|
@ -115,7 +115,7 @@ public:
|
|||
/// Unlike the version in IdentifierTable, this returns a pointer instead
|
||||
/// of a reference. If the pointer is NULL then the IdentifierInfo cannot
|
||||
/// be found.
|
||||
IdentifierInfo *get(llvm::StringRef Name);
|
||||
IdentifierInfo *get(StringRef Name);
|
||||
|
||||
/// Create - This method creates PTHManager objects. The 'file' argument
|
||||
/// is the name of the PTH file. This method returns NULL upon failure.
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#ifndef LLVM_CLANG_PRAGMA_H
|
||||
#define LLVM_CLANG_PRAGMA_H
|
||||
|
||||
#include "clang/Basic/LLVM.h"
|
||||
#include "llvm/ADT/StringMap.h"
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include <cassert>
|
||||
|
@ -58,11 +59,11 @@ namespace clang {
|
|||
class PragmaHandler {
|
||||
std::string Name;
|
||||
public:
|
||||
explicit PragmaHandler(llvm::StringRef name) : Name(name) {}
|
||||
explicit PragmaHandler(StringRef name) : Name(name) {}
|
||||
PragmaHandler() {}
|
||||
virtual ~PragmaHandler();
|
||||
|
||||
llvm::StringRef getName() const { return Name; }
|
||||
StringRef getName() const { return Name; }
|
||||
virtual void HandlePragma(Preprocessor &PP, PragmaIntroducerKind Introducer,
|
||||
Token &FirstToken) = 0;
|
||||
|
||||
|
@ -91,14 +92,14 @@ class PragmaNamespace : public PragmaHandler {
|
|||
///
|
||||
llvm::StringMap<PragmaHandler*> Handlers;
|
||||
public:
|
||||
explicit PragmaNamespace(llvm::StringRef Name) : PragmaHandler(Name) {}
|
||||
explicit PragmaNamespace(StringRef Name) : PragmaHandler(Name) {}
|
||||
virtual ~PragmaNamespace();
|
||||
|
||||
/// FindHandler - Check to see if there is already a handler for the
|
||||
/// specified name. If not, return the handler for the null name if it
|
||||
/// exists, otherwise return null. If IgnoreNull is true (the default) then
|
||||
/// the null handler isn't returned on failure to match.
|
||||
PragmaHandler *FindHandler(llvm::StringRef Name,
|
||||
PragmaHandler *FindHandler(StringRef Name,
|
||||
bool IgnoreNull = true) const;
|
||||
|
||||
/// AddPragma - Add a pragma to this namespace.
|
||||
|
|
|
@ -199,7 +199,7 @@ namespace clang {
|
|||
private:
|
||||
/// \brief The name of the file that was included, as written in
|
||||
/// the source.
|
||||
llvm::StringRef FileName;
|
||||
StringRef FileName;
|
||||
|
||||
/// \brief Whether the file name was in quotation marks; otherwise, it was
|
||||
/// in angle brackets.
|
||||
|
@ -215,14 +215,14 @@ namespace clang {
|
|||
|
||||
public:
|
||||
InclusionDirective(PreprocessingRecord &PPRec,
|
||||
InclusionKind Kind, llvm::StringRef FileName,
|
||||
InclusionKind Kind, StringRef FileName,
|
||||
bool InQuotes, const FileEntry *File, SourceRange Range);
|
||||
|
||||
/// \brief Determine what kind of inclusion directive this is.
|
||||
InclusionKind getKind() const { return static_cast<InclusionKind>(Kind); }
|
||||
|
||||
/// \brief Retrieve the included file name as it was written in the source.
|
||||
llvm::StringRef getFileName() const { return FileName; }
|
||||
StringRef getFileName() const { return FileName; }
|
||||
|
||||
/// \brief Determine whether the included file name was written in quotes;
|
||||
/// otherwise, it was written in angle brackets.
|
||||
|
@ -347,12 +347,12 @@ namespace clang {
|
|||
virtual void MacroUndefined(const Token &Id, const MacroInfo *MI);
|
||||
virtual void InclusionDirective(SourceLocation HashLoc,
|
||||
const Token &IncludeTok,
|
||||
llvm::StringRef FileName,
|
||||
StringRef FileName,
|
||||
bool IsAngled,
|
||||
const FileEntry *File,
|
||||
SourceLocation EndLoc,
|
||||
llvm::StringRef SearchPath,
|
||||
llvm::StringRef RelativePath);
|
||||
StringRef SearchPath,
|
||||
StringRef RelativePath);
|
||||
};
|
||||
} // end namespace clang
|
||||
|
||||
|
|
|
@ -246,7 +246,7 @@ class Preprocessor : public llvm::RefCountedBase<Preprocessor> {
|
|||
/// Works like a stack; a TokenLexer adds the macro expanded tokens that is
|
||||
/// going to lex in the cache and when it finishes the tokens are removed
|
||||
/// from the end of the cache.
|
||||
llvm::SmallVector<Token, 16> MacroExpandedTokens;
|
||||
SmallVector<Token, 16> MacroExpandedTokens;
|
||||
std::vector<std::pair<TokenLexer *, size_t> > MacroExpandingLexersStack;
|
||||
|
||||
/// \brief A record of the macro definitions and expansions that
|
||||
|
@ -257,7 +257,7 @@ class Preprocessor : public llvm::RefCountedBase<Preprocessor> {
|
|||
PreprocessingRecord *Record;
|
||||
|
||||
private: // Cached tokens state.
|
||||
typedef llvm::SmallVector<Token, 1> CachedTokensTy;
|
||||
typedef SmallVector<Token, 1> CachedTokensTy;
|
||||
|
||||
/// CachedTokens - Cached tokens are stored here when we do backtracking or
|
||||
/// lookahead. They are "lexed" by the CachingLex() method.
|
||||
|
@ -397,25 +397,25 @@ public:
|
|||
/// pointers is preferred unless the identifier is already available as a
|
||||
/// string (this avoids allocation and copying of memory to construct an
|
||||
/// std::string).
|
||||
IdentifierInfo *getIdentifierInfo(llvm::StringRef Name) const {
|
||||
IdentifierInfo *getIdentifierInfo(StringRef Name) const {
|
||||
return &Identifiers.get(Name);
|
||||
}
|
||||
|
||||
/// AddPragmaHandler - Add the specified pragma handler to the preprocessor.
|
||||
/// If 'Namespace' is non-null, then it is a token required to exist on the
|
||||
/// pragma line before the pragma string starts, e.g. "STDC" or "GCC".
|
||||
void AddPragmaHandler(llvm::StringRef Namespace, PragmaHandler *Handler);
|
||||
void AddPragmaHandler(StringRef Namespace, PragmaHandler *Handler);
|
||||
void AddPragmaHandler(PragmaHandler *Handler) {
|
||||
AddPragmaHandler(llvm::StringRef(), Handler);
|
||||
AddPragmaHandler(StringRef(), Handler);
|
||||
}
|
||||
|
||||
/// RemovePragmaHandler - Remove the specific pragma handler from
|
||||
/// the preprocessor. If \arg Namespace is non-null, then it should
|
||||
/// be the namespace that \arg Handler was added to. It is an error
|
||||
/// to remove a handler that has not been registered.
|
||||
void RemovePragmaHandler(llvm::StringRef Namespace, PragmaHandler *Handler);
|
||||
void RemovePragmaHandler(StringRef Namespace, PragmaHandler *Handler);
|
||||
void RemovePragmaHandler(PragmaHandler *Handler) {
|
||||
RemovePragmaHandler(llvm::StringRef(), Handler);
|
||||
RemovePragmaHandler(StringRef(), Handler);
|
||||
}
|
||||
|
||||
/// \brief Add the specified comment handler to the preprocessor.
|
||||
|
@ -672,8 +672,8 @@ public:
|
|||
/// \param buffer A buffer which will be used only if the token requires
|
||||
/// "cleaning", e.g. if it contains trigraphs or escaped newlines
|
||||
/// \param invalid If non-null, will be set \c true if an error occurs.
|
||||
llvm::StringRef getSpelling(SourceLocation loc,
|
||||
llvm::SmallVectorImpl<char> &buffer,
|
||||
StringRef getSpelling(SourceLocation loc,
|
||||
SmallVectorImpl<char> &buffer,
|
||||
bool *invalid = 0) const {
|
||||
return Lexer::getSpelling(loc, buffer, SourceMgr, Features, invalid);
|
||||
}
|
||||
|
@ -707,8 +707,8 @@ public:
|
|||
/// getSpelling - This method is used to get the spelling of a token into a
|
||||
/// SmallVector. Note that the returned StringRef may not point to the
|
||||
/// supplied buffer if a copy can be avoided.
|
||||
llvm::StringRef getSpelling(const Token &Tok,
|
||||
llvm::SmallVectorImpl<char> &Buffer,
|
||||
StringRef getSpelling(const Token &Tok,
|
||||
SmallVectorImpl<char> &Buffer,
|
||||
bool *Invalid = 0) const;
|
||||
|
||||
/// getSpellingOfSingleCharacterNumericConstant - Tok is a numeric constant
|
||||
|
@ -892,16 +892,16 @@ public:
|
|||
/// caller is expected to provide a buffer that is large enough to hold the
|
||||
/// spelling of the filename, but is also expected to handle the case when
|
||||
/// this method decides to use a different buffer.
|
||||
bool GetIncludeFilenameSpelling(SourceLocation Loc,llvm::StringRef &Filename);
|
||||
bool GetIncludeFilenameSpelling(SourceLocation Loc,StringRef &Filename);
|
||||
|
||||
/// LookupFile - Given a "foo" or <foo> reference, look up the indicated file,
|
||||
/// return null on failure. isAngled indicates whether the file reference is
|
||||
/// for system #include's or not (i.e. using <> instead of "").
|
||||
const FileEntry *LookupFile(llvm::StringRef Filename,
|
||||
const FileEntry *LookupFile(StringRef Filename,
|
||||
bool isAngled, const DirectoryLookup *FromDir,
|
||||
const DirectoryLookup *&CurDir,
|
||||
llvm::SmallVectorImpl<char> *SearchPath,
|
||||
llvm::SmallVectorImpl<char> *RelativePath);
|
||||
SmallVectorImpl<char> *SearchPath,
|
||||
SmallVectorImpl<char> *RelativePath);
|
||||
|
||||
/// GetCurLookup - The DirectoryLookup structure used to find the current
|
||||
/// FileEntry, if CurLexer is non-null and if applicable. This allows us to
|
||||
|
|
|
@ -61,7 +61,7 @@ protected:
|
|||
|
||||
/// ConditionalStack - Information about the set of #if/#ifdef/#ifndef blocks
|
||||
/// we are currently in.
|
||||
llvm::SmallVector<PPConditionalInfo, 4> ConditionalStack;
|
||||
SmallVector<PPConditionalInfo, 4> ConditionalStack;
|
||||
|
||||
PreprocessorLexer(const PreprocessorLexer&); // DO NOT IMPLEMENT
|
||||
void operator=(const PreprocessorLexer&); // DO NOT IMPLEMENT
|
||||
|
@ -157,7 +157,7 @@ public:
|
|||
|
||||
/// \brief Iterator that traverses the current stack of preprocessor
|
||||
/// conditional directives (#if/#ifdef/#ifndef).
|
||||
typedef llvm::SmallVectorImpl<PPConditionalInfo>::const_iterator
|
||||
typedef SmallVectorImpl<PPConditionalInfo>::const_iterator
|
||||
conditional_iterator;
|
||||
|
||||
conditional_iterator conditional_begin() const {
|
||||
|
|
|
@ -198,7 +198,7 @@ public:
|
|||
typedef TemplateParameterList TemplateParamsTy;
|
||||
typedef OpaquePtr<TemplateName> TemplateTy;
|
||||
|
||||
typedef llvm::SmallVector<TemplateParameterList *, 4> TemplateParameterLists;
|
||||
typedef SmallVector<TemplateParameterList *, 4> TemplateParameterLists;
|
||||
|
||||
typedef clang::ExprResult ExprResult;
|
||||
typedef clang::StmtResult StmtResult;
|
||||
|
@ -711,7 +711,7 @@ private:
|
|||
/// have a default argument, but all of the parameters of the
|
||||
/// method will be stored so that they can be reintroduced into
|
||||
/// scope at the appropriate times.
|
||||
llvm::SmallVector<LateParsedDefaultArgument, 8> DefaultArgs;
|
||||
SmallVector<LateParsedDefaultArgument, 8> DefaultArgs;
|
||||
};
|
||||
|
||||
/// LateParsedMemberInitializer - An initializer for a non-static class data
|
||||
|
@ -738,7 +738,7 @@ private:
|
|||
/// parsed until after the definition is completed (C++ [class.mem]p2),
|
||||
/// the method declarations and possibly attached inline definitions
|
||||
/// will be stored here with the tokens that will be parsed to create those entities.
|
||||
typedef llvm::SmallVector<LateParsedDeclaration*, 2> LateParsedDeclarationsContainer;
|
||||
typedef SmallVector<LateParsedDeclaration*, 2> LateParsedDeclarationsContainer;
|
||||
|
||||
/// \brief Representation of a class that has been parsed, including
|
||||
/// any member function declarations or definitions that need to be
|
||||
|
@ -1045,8 +1045,8 @@ private:
|
|||
void ParseObjCClassInstanceVariables(Decl *interfaceDecl,
|
||||
tok::ObjCKeywordKind visibility,
|
||||
SourceLocation atLoc);
|
||||
bool ParseObjCProtocolReferences(llvm::SmallVectorImpl<Decl *> &P,
|
||||
llvm::SmallVectorImpl<SourceLocation> &PLocs,
|
||||
bool ParseObjCProtocolReferences(SmallVectorImpl<Decl *> &P,
|
||||
SmallVectorImpl<SourceLocation> &PLocs,
|
||||
bool WarnOnDeclarations,
|
||||
SourceLocation &LAngleLoc,
|
||||
SourceLocation &EndProtoLoc);
|
||||
|
@ -1057,7 +1057,7 @@ private:
|
|||
ParsedAttributes &prefixAttrs);
|
||||
|
||||
Decl *ObjCImpDecl;
|
||||
llvm::SmallVector<Decl *, 4> PendingObjCImpDecl;
|
||||
SmallVector<Decl *, 4> PendingObjCImpDecl;
|
||||
|
||||
Decl *ParseObjCAtImplementationDeclaration(SourceLocation atLoc);
|
||||
Decl *ParseObjCAtEndDeclaration(SourceRange atEnd);
|
||||
|
@ -1134,12 +1134,12 @@ private:
|
|||
ParsedType &CastTy,
|
||||
SourceRange &CastRange);
|
||||
|
||||
typedef llvm::SmallVector<Expr*, 20> ExprListTy;
|
||||
typedef llvm::SmallVector<SourceLocation, 20> CommaLocsTy;
|
||||
typedef SmallVector<Expr*, 20> ExprListTy;
|
||||
typedef SmallVector<SourceLocation, 20> CommaLocsTy;
|
||||
|
||||
/// ParseExpressionList - Used for C/C++ (argument-)expression-list.
|
||||
bool ParseExpressionList(llvm::SmallVectorImpl<Expr*> &Exprs,
|
||||
llvm::SmallVectorImpl<SourceLocation> &CommaLocs,
|
||||
bool ParseExpressionList(SmallVectorImpl<Expr*> &Exprs,
|
||||
SmallVectorImpl<SourceLocation> &CommaLocs,
|
||||
void (Sema::*Completer)(Scope *S,
|
||||
Expr *Data,
|
||||
Expr **Args,
|
||||
|
@ -1211,15 +1211,15 @@ private:
|
|||
|
||||
ExceptionSpecificationType MaybeParseExceptionSpecification(
|
||||
SourceRange &SpecificationRange,
|
||||
llvm::SmallVectorImpl<ParsedType> &DynamicExceptions,
|
||||
llvm::SmallVectorImpl<SourceRange> &DynamicExceptionRanges,
|
||||
SmallVectorImpl<ParsedType> &DynamicExceptions,
|
||||
SmallVectorImpl<SourceRange> &DynamicExceptionRanges,
|
||||
ExprResult &NoexceptExpr);
|
||||
|
||||
// EndLoc is filled with the location of the last token of the specification.
|
||||
ExceptionSpecificationType ParseDynamicExceptionSpecification(
|
||||
SourceRange &SpecificationRange,
|
||||
llvm::SmallVectorImpl<ParsedType> &Exceptions,
|
||||
llvm::SmallVectorImpl<SourceRange> &Ranges);
|
||||
SmallVectorImpl<ParsedType> &Exceptions,
|
||||
SmallVectorImpl<SourceRange> &Ranges);
|
||||
|
||||
//===--------------------------------------------------------------------===//
|
||||
// C++0x 8: Function declaration trailing-return-type
|
||||
|
@ -1244,7 +1244,7 @@ private:
|
|||
|
||||
//===--------------------------------------------------------------------===//
|
||||
// C++ 5.3.4 and 5.3.5: C++ new and delete
|
||||
bool ParseExpressionListOrTypeId(llvm::SmallVectorImpl<Expr*> &Exprs,
|
||||
bool ParseExpressionListOrTypeId(SmallVectorImpl<Expr*> &Exprs,
|
||||
Declarator &D);
|
||||
void ParseDirectNewDeclarator(Declarator &D);
|
||||
ExprResult ParseCXXNewExpression(bool UseGlobal, SourceLocation Start);
|
||||
|
@ -1338,9 +1338,9 @@ private:
|
|||
void ParseMicrosoftIfExistsExternalDeclaration();
|
||||
void ParseMicrosoftIfExistsClassDeclaration(DeclSpec::TST TagType,
|
||||
AccessSpecifier& CurAS);
|
||||
bool ParseAsmOperandsOpt(llvm::SmallVectorImpl<IdentifierInfo *> &Names,
|
||||
llvm::SmallVectorImpl<ExprTy *> &Constraints,
|
||||
llvm::SmallVectorImpl<ExprTy *> &Exprs);
|
||||
bool ParseAsmOperandsOpt(SmallVectorImpl<IdentifierInfo *> &Names,
|
||||
SmallVectorImpl<ExprTy *> &Constraints,
|
||||
SmallVectorImpl<ExprTy *> &Exprs);
|
||||
|
||||
//===--------------------------------------------------------------------===//
|
||||
// C++ 6: Statements and Blocks
|
||||
|
@ -1738,11 +1738,11 @@ bool ParseAsmOperandsOpt(llvm::SmallVectorImpl<IdentifierInfo *> &Names,
|
|||
bool isFunctionDeclaratorIdentifierList();
|
||||
void ParseFunctionDeclaratorIdentifierList(
|
||||
Declarator &D,
|
||||
llvm::SmallVector<DeclaratorChunk::ParamInfo, 16> &ParamInfo);
|
||||
SmallVector<DeclaratorChunk::ParamInfo, 16> &ParamInfo);
|
||||
void ParseParameterDeclarationClause(
|
||||
Declarator &D,
|
||||
ParsedAttributes &attrs,
|
||||
llvm::SmallVector<DeclaratorChunk::ParamInfo, 16> &ParamInfo,
|
||||
SmallVector<DeclaratorChunk::ParamInfo, 16> &ParamInfo,
|
||||
SourceLocation &EllipsisLoc);
|
||||
void ParseBracketDeclarator(Declarator &D);
|
||||
|
||||
|
@ -1841,18 +1841,18 @@ bool ParseAsmOperandsOpt(llvm::SmallVectorImpl<IdentifierInfo *> &Names,
|
|||
SourceLocation &DeclEnd,
|
||||
AccessSpecifier AS=AS_none);
|
||||
bool ParseTemplateParameters(unsigned Depth,
|
||||
llvm::SmallVectorImpl<Decl*> &TemplateParams,
|
||||
SmallVectorImpl<Decl*> &TemplateParams,
|
||||
SourceLocation &LAngleLoc,
|
||||
SourceLocation &RAngleLoc);
|
||||
bool ParseTemplateParameterList(unsigned Depth,
|
||||
llvm::SmallVectorImpl<Decl*> &TemplateParams);
|
||||
SmallVectorImpl<Decl*> &TemplateParams);
|
||||
bool isStartOfTemplateTypeParameter();
|
||||
Decl *ParseTemplateParameter(unsigned Depth, unsigned Position);
|
||||
Decl *ParseTypeParameter(unsigned Depth, unsigned Position);
|
||||
Decl *ParseTemplateTemplateParameter(unsigned Depth, unsigned Position);
|
||||
Decl *ParseNonTypeTemplateParameter(unsigned Depth, unsigned Position);
|
||||
// C++ 14.3: Template arguments [temp.arg]
|
||||
typedef llvm::SmallVector<ParsedTemplateArgument, 16> TemplateArgList;
|
||||
typedef SmallVector<ParsedTemplateArgument, 16> TemplateArgList;
|
||||
|
||||
bool ParseTemplateIdAfterTemplateName(TemplateTy Template,
|
||||
SourceLocation TemplateNameLoc,
|
||||
|
|
|
@ -23,7 +23,7 @@ class FixItOptions;
|
|||
class HTMLPrintAction : public ASTFrontendAction {
|
||||
protected:
|
||||
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
|
||||
llvm::StringRef InFile);
|
||||
StringRef InFile);
|
||||
};
|
||||
|
||||
class FixItAction : public ASTFrontendAction {
|
||||
|
@ -32,10 +32,10 @@ protected:
|
|||
llvm::OwningPtr<FixItOptions> FixItOpts;
|
||||
|
||||
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
|
||||
llvm::StringRef InFile);
|
||||
StringRef InFile);
|
||||
|
||||
virtual bool BeginSourceFileAction(CompilerInstance &CI,
|
||||
llvm::StringRef Filename);
|
||||
StringRef Filename);
|
||||
|
||||
virtual void EndSourceFileAction();
|
||||
|
||||
|
@ -49,7 +49,7 @@ public:
|
|||
class RewriteObjCAction : public ASTFrontendAction {
|
||||
protected:
|
||||
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
|
||||
llvm::StringRef InFile);
|
||||
StringRef InFile);
|
||||
};
|
||||
|
||||
class RewriteMacrosAction : public PreprocessorFrontendAction {
|
||||
|
|
|
@ -64,7 +64,7 @@ public:
|
|||
/// the buffer is specified relative to the original SourceBuffer. The
|
||||
/// text is inserted after the specified location.
|
||||
///
|
||||
void InsertText(unsigned OrigOffset, llvm::StringRef Str,
|
||||
void InsertText(unsigned OrigOffset, StringRef Str,
|
||||
bool InsertAfter = true);
|
||||
|
||||
|
||||
|
@ -72,14 +72,14 @@ public:
|
|||
/// offset in the buffer is specified relative to the original
|
||||
/// SourceBuffer. The text is inserted before the specified location. This is
|
||||
/// method is the same as InsertText with "InsertAfter == false".
|
||||
void InsertTextBefore(unsigned OrigOffset, llvm::StringRef Str) {
|
||||
void InsertTextBefore(unsigned OrigOffset, StringRef Str) {
|
||||
InsertText(OrigOffset, Str, false);
|
||||
}
|
||||
|
||||
/// InsertTextAfter - Insert some text at the specified point, where the
|
||||
/// offset in the buffer is specified relative to the original SourceBuffer.
|
||||
/// The text is inserted after the specified location.
|
||||
void InsertTextAfter(unsigned OrigOffset, llvm::StringRef Str) {
|
||||
void InsertTextAfter(unsigned OrigOffset, StringRef Str) {
|
||||
InsertText(OrigOffset, Str);
|
||||
}
|
||||
|
||||
|
@ -87,7 +87,7 @@ public:
|
|||
/// buffer with a new string. This is effectively a combined "remove/insert"
|
||||
/// operation.
|
||||
void ReplaceText(unsigned OrigOffset, unsigned OrigLength,
|
||||
llvm::StringRef NewStr);
|
||||
StringRef NewStr);
|
||||
|
||||
private: // Methods only usable by Rewriter.
|
||||
|
||||
|
@ -186,7 +186,7 @@ public:
|
|||
///
|
||||
/// \param indentNewLines if true new lines in the string are indented
|
||||
/// using the indentation of the source line in position \arg Loc.
|
||||
bool InsertText(SourceLocation Loc, llvm::StringRef Str,
|
||||
bool InsertText(SourceLocation Loc, StringRef Str,
|
||||
bool InsertAfter = true, bool indentNewLines = false);
|
||||
|
||||
/// InsertTextAfter - Insert the specified string at the specified location in
|
||||
|
@ -194,20 +194,20 @@ public:
|
|||
/// the input location was not rewritable, false otherwise. Text is
|
||||
/// inserted after any other text that has been previously inserted
|
||||
/// at the some point (the default behavior for InsertText).
|
||||
bool InsertTextAfter(SourceLocation Loc, llvm::StringRef Str) {
|
||||
bool InsertTextAfter(SourceLocation Loc, StringRef Str) {
|
||||
return InsertText(Loc, Str);
|
||||
}
|
||||
|
||||
/// \brief Insert the specified string after the token in the
|
||||
/// specified location.
|
||||
bool InsertTextAfterToken(SourceLocation Loc, llvm::StringRef Str);
|
||||
bool InsertTextAfterToken(SourceLocation Loc, StringRef Str);
|
||||
|
||||
/// InsertText - Insert the specified string at the specified location in the
|
||||
/// original buffer. This method returns true (and does nothing) if the input
|
||||
/// location was not rewritable, false otherwise. Text is
|
||||
/// inserted before any other text that has been previously inserted
|
||||
/// at the some point.
|
||||
bool InsertTextBefore(SourceLocation Loc, llvm::StringRef Str) {
|
||||
bool InsertTextBefore(SourceLocation Loc, StringRef Str) {
|
||||
return InsertText(Loc, Str, false);
|
||||
}
|
||||
|
||||
|
@ -230,12 +230,12 @@ public:
|
|||
/// buffer with a new string. This is effectively a combined "remove/insert"
|
||||
/// operation.
|
||||
bool ReplaceText(SourceLocation Start, unsigned OrigLength,
|
||||
llvm::StringRef NewStr);
|
||||
StringRef NewStr);
|
||||
|
||||
/// ReplaceText - This method replaces a range of characters in the input
|
||||
/// buffer with a new string. This is effectively a combined "remove/insert"
|
||||
/// operation.
|
||||
bool ReplaceText(SourceRange range, llvm::StringRef NewStr) {
|
||||
bool ReplaceText(SourceRange range, StringRef NewStr) {
|
||||
return ReplaceText(range.getBegin(), getRangeSize(range), NewStr);
|
||||
}
|
||||
|
||||
|
|
|
@ -373,7 +373,7 @@ private:
|
|||
|
||||
/// Free lists. The index is determined by the following formula:
|
||||
/// (size - sizeof(AttributeList)) / sizeof(void*)
|
||||
llvm::SmallVector<AttributeList*, InlineFreeListsCapacity> FreeLists;
|
||||
SmallVector<AttributeList*, InlineFreeListsCapacity> FreeLists;
|
||||
|
||||
// The following are the private interface used by AttributePool.
|
||||
friend class AttributePool;
|
||||
|
|
|
@ -26,12 +26,12 @@ class CXXFieldCollector {
|
|||
/// Fields - Contains all FieldDecls collected during parsing of a C++
|
||||
/// class. When a nested class is entered, its fields are appended to the
|
||||
/// fields of its parent class, when it is exited its fields are removed.
|
||||
llvm::SmallVector<FieldDecl*, 32> Fields;
|
||||
SmallVector<FieldDecl*, 32> Fields;
|
||||
|
||||
/// FieldCount - Each entry represents the number of fields collected during
|
||||
/// the parsing of a C++ class. When a nested class is entered, a new field
|
||||
/// count is pushed, when it is exited, the field count is popped.
|
||||
llvm::SmallVector<size_t, 4> FieldCount;
|
||||
SmallVector<size_t, 4> FieldCount;
|
||||
|
||||
// Example:
|
||||
//
|
||||
|
|
|
@ -136,7 +136,7 @@ QualType getDeclUsageType(ASTContext &C, NamedDecl *ND);
|
|||
///
|
||||
/// \param PreferredTypeIsPointer Whether the preferred type for the context
|
||||
/// of this macro is a pointer type.
|
||||
unsigned getMacroUsagePriority(llvm::StringRef MacroName,
|
||||
unsigned getMacroUsagePriority(StringRef MacroName,
|
||||
const LangOptions &LangOpts,
|
||||
bool PreferredTypeIsPointer = false);
|
||||
|
||||
|
@ -463,19 +463,19 @@ public:
|
|||
class CodeCompletionAllocator : public llvm::BumpPtrAllocator {
|
||||
public:
|
||||
/// \brief Copy the given string into this allocator.
|
||||
const char *CopyString(llvm::StringRef String);
|
||||
const char *CopyString(StringRef String);
|
||||
|
||||
/// \brief Copy the given string into this allocator.
|
||||
const char *CopyString(llvm::Twine String);
|
||||
|
||||
// \brief Copy the given string into this allocator.
|
||||
const char *CopyString(const char *String) {
|
||||
return CopyString(llvm::StringRef(String));
|
||||
return CopyString(StringRef(String));
|
||||
}
|
||||
|
||||
/// \brief Copy the given string into this allocator.
|
||||
const char *CopyString(const std::string &String) {
|
||||
return CopyString(llvm::StringRef(String));
|
||||
return CopyString(StringRef(String));
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -490,7 +490,7 @@ private:
|
|||
CXAvailabilityKind Availability;
|
||||
|
||||
/// \brief The chunks stored in this string.
|
||||
llvm::SmallVector<Chunk, 4> Chunks;
|
||||
SmallVector<Chunk, 4> Chunks;
|
||||
|
||||
public:
|
||||
CodeCompletionBuilder(CodeCompletionAllocator &Allocator)
|
||||
|
|
|
@ -961,7 +961,7 @@ public:
|
|||
|
||||
/// CachedTokens - A set of tokens that has been cached for later
|
||||
/// parsing.
|
||||
typedef llvm::SmallVector<Token, 4> CachedTokens;
|
||||
typedef SmallVector<Token, 4> CachedTokens;
|
||||
|
||||
/// DeclaratorChunk - One instance of this struct is used for each type in a
|
||||
/// declarator that is parsed.
|
||||
|
@ -1395,7 +1395,7 @@ private:
|
|||
/// parsed. This is pushed from the identifier out, which means that element
|
||||
/// #0 will be the most closely bound to the identifier, and
|
||||
/// DeclTypeInfo.back() will be the least closely bound.
|
||||
llvm::SmallVector<DeclaratorChunk, 8> DeclTypeInfo;
|
||||
SmallVector<DeclaratorChunk, 8> DeclTypeInfo;
|
||||
|
||||
/// InvalidType - Set by Sema::GetTypeForDeclarator().
|
||||
bool InvalidType : 1;
|
||||
|
|
|
@ -123,7 +123,7 @@ public:
|
|||
|
||||
static DelayedDiagnostic makeDeprecation(SourceLocation Loc,
|
||||
const NamedDecl *D,
|
||||
llvm::StringRef Msg);
|
||||
StringRef Msg);
|
||||
|
||||
static DelayedDiagnostic makeAccess(SourceLocation Loc,
|
||||
const AccessedEntity &Entity) {
|
||||
|
@ -163,9 +163,9 @@ public:
|
|||
return DeprecationData.Decl;
|
||||
}
|
||||
|
||||
llvm::StringRef getDeprecationMessage() const {
|
||||
StringRef getDeprecationMessage() const {
|
||||
assert(Kind == Deprecation && "Not a deprecation diagnostic.");
|
||||
return llvm::StringRef(DeprecationData.Message,
|
||||
return StringRef(DeprecationData.Message,
|
||||
DeprecationData.MessageLen);
|
||||
}
|
||||
|
||||
|
|
|
@ -185,7 +185,7 @@ class Designation {
|
|||
unsigned InitIndex;
|
||||
|
||||
/// Designators - The actual designators for this initializer.
|
||||
llvm::SmallVector<Designator, 2> Designators;
|
||||
SmallVector<Designator, 2> Designators;
|
||||
|
||||
Designation(unsigned Idx) : InitIndex(Idx) {}
|
||||
public:
|
||||
|
|
|
@ -52,7 +52,7 @@ public:
|
|||
/// \brief Load the set of namespaces that are known to the external source,
|
||||
/// which will be used during typo correction.
|
||||
virtual void ReadKnownNamespaces(
|
||||
llvm::SmallVectorImpl<NamespaceDecl *> &Namespaces);
|
||||
SmallVectorImpl<NamespaceDecl *> &Namespaces);
|
||||
|
||||
/// \brief Do last resort, unqualified lookup on a LookupResult that
|
||||
/// Sema cannot find.
|
||||
|
|
|
@ -37,7 +37,7 @@ class IdentifierResolver {
|
|||
/// decl with that declaration name is shadowed in some scope.
|
||||
class IdDeclInfo {
|
||||
public:
|
||||
typedef llvm::SmallVector<NamedDecl*, 2> DeclsTy;
|
||||
typedef SmallVector<NamedDecl*, 2> DeclsTy;
|
||||
|
||||
inline DeclsTy::iterator decls_begin() { return Decls.begin(); }
|
||||
inline DeclsTy::iterator decls_end() { return Decls.end(); }
|
||||
|
|
|
@ -584,7 +584,7 @@ private:
|
|||
enum SequenceKind SequenceKind;
|
||||
|
||||
/// \brief Steps taken by this initialization.
|
||||
llvm::SmallVector<Step, 4> Steps;
|
||||
SmallVector<Step, 4> Steps;
|
||||
|
||||
public:
|
||||
/// \brief Describes why initialization failed.
|
||||
|
@ -722,7 +722,7 @@ public:
|
|||
/// \brief Determine whether the initialization sequence is invalid.
|
||||
bool Failed() const { return SequenceKind == FailedSequence; }
|
||||
|
||||
typedef llvm::SmallVector<Step, 4>::const_iterator step_iterator;
|
||||
typedef SmallVector<Step, 4>::const_iterator step_iterator;
|
||||
step_iterator step_begin() const { return Steps.begin(); }
|
||||
step_iterator step_end() const { return Steps.end(); }
|
||||
|
||||
|
|
|
@ -262,7 +262,7 @@ namespace clang {
|
|||
|
||||
/// Represents an ambiguous user-defined conversion sequence.
|
||||
struct AmbiguousConversionSequence {
|
||||
typedef llvm::SmallVector<FunctionDecl*, 4> ConversionSet;
|
||||
typedef SmallVector<FunctionDecl*, 4> ConversionSet;
|
||||
|
||||
void *FromTypePtr;
|
||||
void *ToTypePtr;
|
||||
|
@ -560,12 +560,12 @@ namespace clang {
|
|||
|
||||
/// Conversions - The conversion sequences used to convert the
|
||||
/// function arguments to the function parameters.
|
||||
llvm::SmallVector<ImplicitConversionSequence, 4> Conversions;
|
||||
SmallVector<ImplicitConversionSequence, 4> Conversions;
|
||||
|
||||
/// The FixIt hints which can be used to fix the Bad candidate.
|
||||
struct FixInfo {
|
||||
/// The list of Hints (all have to be applied).
|
||||
llvm::SmallVector<FixItHint, 4> Hints;
|
||||
SmallVector<FixItHint, 4> Hints;
|
||||
|
||||
/// The number of Conversions fixed. This can be different from the size
|
||||
/// of the Hints vector since we allow multiple FixIts per conversion.
|
||||
|
@ -645,7 +645,7 @@ namespace clang {
|
|||
/// hasAmbiguousConversion - Returns whether this overload
|
||||
/// candidate requires an ambiguous conversion or not.
|
||||
bool hasAmbiguousConversion() const {
|
||||
for (llvm::SmallVectorImpl<ImplicitConversionSequence>::const_iterator
|
||||
for (SmallVectorImpl<ImplicitConversionSequence>::const_iterator
|
||||
I = Conversions.begin(), E = Conversions.end(); I != E; ++I) {
|
||||
if (!I->isInitialized()) return false;
|
||||
if (I->isAmbiguous()) return true;
|
||||
|
@ -656,8 +656,8 @@ namespace clang {
|
|||
|
||||
/// OverloadCandidateSet - A set of overload candidates, used in C++
|
||||
/// overload resolution (C++ 13.3).
|
||||
class OverloadCandidateSet : public llvm::SmallVector<OverloadCandidate, 16> {
|
||||
typedef llvm::SmallVector<OverloadCandidate, 16> inherited;
|
||||
class OverloadCandidateSet : public SmallVector<OverloadCandidate, 16> {
|
||||
typedef SmallVector<OverloadCandidate, 16> inherited;
|
||||
llvm::SmallPtrSet<Decl *, 16> Functions;
|
||||
|
||||
SourceLocation Loc;
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#ifndef LLVM_CLANG_SEMA_OWNERSHIP_H
|
||||
#define LLVM_CLANG_SEMA_OWNERSHIP_H
|
||||
|
||||
#include "clang/Basic/LLVM.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/ADT/PointerIntPair.h"
|
||||
|
||||
|
@ -368,7 +369,7 @@ namespace clang {
|
|||
|
||||
/// \brief A small vector that owns a set of AST nodes.
|
||||
template <class PtrTy, unsigned N = 8>
|
||||
class ASTOwningVector : public llvm::SmallVector<PtrTy, N> {
|
||||
class ASTOwningVector : public SmallVector<PtrTy, N> {
|
||||
ASTOwningVector(ASTOwningVector &); // do not implement
|
||||
ASTOwningVector &operator=(ASTOwningVector &); // do not implement
|
||||
|
||||
|
|
|
@ -149,7 +149,7 @@ private:
|
|||
/// maintained by the Action implementation.
|
||||
void *Entity;
|
||||
|
||||
typedef llvm::SmallVector<UsingDirectiveDecl *, 2> UsingDirectivesTy;
|
||||
typedef SmallVector<UsingDirectiveDecl *, 2> UsingDirectivesTy;
|
||||
UsingDirectivesTy UsingDirectives;
|
||||
|
||||
/// \brief Used to determine if errors occurred in this scope.
|
||||
|
|
|
@ -66,17 +66,17 @@ public:
|
|||
|
||||
/// SwitchStack - This is the current set of active switch statements in the
|
||||
/// block.
|
||||
llvm::SmallVector<SwitchStmt*, 8> SwitchStack;
|
||||
SmallVector<SwitchStmt*, 8> SwitchStack;
|
||||
|
||||
/// \brief The list of return statements that occur within the function or
|
||||
/// block, if there is any chance of applying the named return value
|
||||
/// optimization.
|
||||
llvm::SmallVector<ReturnStmt*, 4> Returns;
|
||||
SmallVector<ReturnStmt*, 4> Returns;
|
||||
|
||||
/// \brief A list of PartialDiagnostics created but delayed within the
|
||||
/// current function scope. These diagnostics are vetted for reachability
|
||||
/// prior to being emitted.
|
||||
llvm::SmallVector<PossiblyUnreachableDiag, 4> PossiblyUnreachableDiags;
|
||||
SmallVector<PossiblyUnreachableDiag, 4> PossiblyUnreachableDiags;
|
||||
|
||||
void setHasBranchIntoScope() {
|
||||
HasBranchIntoScope = true;
|
||||
|
@ -132,7 +132,7 @@ public:
|
|||
llvm::DenseMap<VarDecl*, unsigned> CaptureMap;
|
||||
|
||||
/// Captures - The captured variables.
|
||||
llvm::SmallVector<BlockDecl::Capture, 4> Captures;
|
||||
SmallVector<BlockDecl::Capture, 4> Captures;
|
||||
|
||||
/// CapturesCXXThis - Whether this block captures 'this'.
|
||||
bool CapturesCXXThis;
|
||||
|
|
|
@ -54,7 +54,7 @@ namespace clang {
|
|||
class BlockDecl;
|
||||
class CXXBasePath;
|
||||
class CXXBasePaths;
|
||||
typedef llvm::SmallVector<CXXBaseSpecifier*, 4> CXXCastPath;
|
||||
typedef SmallVector<CXXBaseSpecifier*, 4> CXXCastPath;
|
||||
class CXXConstructorDecl;
|
||||
class CXXConversionDecl;
|
||||
class CXXDestructorDecl;
|
||||
|
@ -228,16 +228,16 @@ public:
|
|||
/// This array is never empty. Clients should ignore the first
|
||||
/// element, which is used to cache a single FunctionScopeInfo
|
||||
/// that's used to parse every top-level function.
|
||||
llvm::SmallVector<sema::FunctionScopeInfo *, 4> FunctionScopes;
|
||||
SmallVector<sema::FunctionScopeInfo *, 4> FunctionScopes;
|
||||
|
||||
/// ExprTemporaries - This is the stack of temporaries that are created by
|
||||
/// the current full expression.
|
||||
llvm::SmallVector<CXXTemporary*, 8> ExprTemporaries;
|
||||
SmallVector<CXXTemporary*, 8> ExprTemporaries;
|
||||
|
||||
/// ExtVectorDecls - This is a list all the extended vector types. This allows
|
||||
/// us to associate a raw vector type with one of the ext_vector type names.
|
||||
/// This is only necessary for issuing pretty diagnostics.
|
||||
llvm::SmallVector<TypedefNameDecl*, 24> ExtVectorDecls;
|
||||
SmallVector<TypedefNameDecl*, 24> ExtVectorDecls;
|
||||
|
||||
/// FieldCollector - Collects CXXFieldDecls during parsing of C++ classes.
|
||||
llvm::OwningPtr<CXXFieldCollector> FieldCollector;
|
||||
|
@ -281,20 +281,20 @@ public:
|
|||
llvm::DenseMap<DeclarationName, NamedDecl *> LocallyScopedExternalDecls;
|
||||
|
||||
/// \brief All the tentative definitions encountered in the TU.
|
||||
llvm::SmallVector<VarDecl *, 2> TentativeDefinitions;
|
||||
SmallVector<VarDecl *, 2> TentativeDefinitions;
|
||||
|
||||
/// \brief The set of file scoped decls seen so far that have not been used
|
||||
/// and must warn if not used. Only contains the first declaration.
|
||||
llvm::SmallVector<const DeclaratorDecl*, 4> UnusedFileScopedDecls;
|
||||
SmallVector<const DeclaratorDecl*, 4> UnusedFileScopedDecls;
|
||||
|
||||
/// \brief All the delegating constructors seen so far in the file, used for
|
||||
/// cycle detection at the end of the TU.
|
||||
llvm::SmallVector<CXXConstructorDecl*, 4> DelegatingCtorDecls;
|
||||
SmallVector<CXXConstructorDecl*, 4> DelegatingCtorDecls;
|
||||
|
||||
/// \brief All the overriding destructors seen during a class definition
|
||||
/// (there could be multiple due to nested classes) that had their exception
|
||||
/// spec checks delayed, plus the overridden destructor.
|
||||
llvm::SmallVector<std::pair<const CXXDestructorDecl*,
|
||||
SmallVector<std::pair<const CXXDestructorDecl*,
|
||||
const CXXDestructorDecl*>, 2>
|
||||
DelayedDestructorExceptionSpecChecks;
|
||||
|
||||
|
@ -456,7 +456,7 @@ public:
|
|||
/// I couldn't figure out a clean way to generate these in-line, so
|
||||
/// we store them here and handle separately -- which is a hack.
|
||||
/// It would be best to refactor this.
|
||||
llvm::SmallVector<Decl*,2> WeakTopLevelDecl;
|
||||
SmallVector<Decl*,2> WeakTopLevelDecl;
|
||||
|
||||
IdentifierResolver IdResolver;
|
||||
|
||||
|
@ -484,11 +484,11 @@ public:
|
|||
|
||||
/// \brief The set of declarations that have been referenced within
|
||||
/// a potentially evaluated expression.
|
||||
typedef llvm::SmallVector<std::pair<SourceLocation, Decl *>, 10>
|
||||
typedef SmallVector<std::pair<SourceLocation, Decl *>, 10>
|
||||
PotentiallyReferencedDecls;
|
||||
|
||||
/// \brief A set of diagnostics that may be emitted.
|
||||
typedef llvm::SmallVector<std::pair<SourceLocation, PartialDiagnostic>, 10>
|
||||
typedef SmallVector<std::pair<SourceLocation, PartialDiagnostic>, 10>
|
||||
PotentiallyEmittedDiagnostics;
|
||||
|
||||
/// \brief Describes how the expressions currently being parsed are
|
||||
|
@ -578,7 +578,7 @@ public:
|
|||
};
|
||||
|
||||
/// A stack of expression evaluation contexts.
|
||||
llvm::SmallVector<ExpressionEvaluationContextRecord, 8> ExprEvalContexts;
|
||||
SmallVector<ExpressionEvaluationContextRecord, 8> ExprEvalContexts;
|
||||
|
||||
/// SpecialMemberOverloadResult - The overloading result for a special member
|
||||
/// function.
|
||||
|
@ -634,7 +634,7 @@ public:
|
|||
/// \brief The number of SFINAE diagnostics that have been trapped.
|
||||
unsigned NumSFINAEErrors;
|
||||
|
||||
typedef llvm::DenseMap<ParmVarDecl *, llvm::SmallVector<ParmVarDecl *, 1> >
|
||||
typedef llvm::DenseMap<ParmVarDecl *, SmallVector<ParmVarDecl *, 1> >
|
||||
UnparsedDefaultArgInstantiationsMap;
|
||||
|
||||
/// \brief A mapping from parameters with unparsed default arguments to the
|
||||
|
@ -727,7 +727,7 @@ public:
|
|||
/// \brief Build a partial diagnostic.
|
||||
PartialDiagnostic PDiag(unsigned DiagID = 0); // in SemaInternal.h
|
||||
|
||||
bool findMacroSpelling(SourceLocation &loc, llvm::StringRef name);
|
||||
bool findMacroSpelling(SourceLocation &loc, StringRef name);
|
||||
|
||||
ExprResult Owned(Expr* E) { return E; }
|
||||
ExprResult Owned(ExprResult R) { return R; }
|
||||
|
@ -754,7 +754,7 @@ public:
|
|||
sema::BlockScopeInfo *getCurBlock();
|
||||
|
||||
/// WeakTopLevelDeclDecls - access to #pragma weak-generated Decls
|
||||
llvm::SmallVector<Decl*,2> &WeakTopLevelDecls() { return WeakTopLevelDecl; }
|
||||
SmallVector<Decl*,2> &WeakTopLevelDecls() { return WeakTopLevelDecl; }
|
||||
|
||||
//===--------------------------------------------------------------------===//
|
||||
// Type Analysis / Processing: SemaType.cpp.
|
||||
|
@ -1118,7 +1118,7 @@ public:
|
|||
|
||||
void ActOnDefs(Scope *S, Decl *TagD, SourceLocation DeclStart,
|
||||
IdentifierInfo *ClassName,
|
||||
llvm::SmallVectorImpl<Decl *> &Decls);
|
||||
SmallVectorImpl<Decl *> &Decls);
|
||||
Decl *ActOnField(Scope *S, Decl *TagD, SourceLocation DeclStart,
|
||||
Declarator &D, Expr *BitfieldWidth);
|
||||
|
||||
|
@ -1147,7 +1147,7 @@ public:
|
|||
void DiagnoseNontrivial(const RecordType* Record, CXXSpecialMember mem);
|
||||
CXXSpecialMember getSpecialMember(const CXXMethodDecl *MD);
|
||||
void ActOnLastBitfield(SourceLocation DeclStart, Decl *IntfDecl,
|
||||
llvm::SmallVectorImpl<Decl *> &AllIvarDecls);
|
||||
SmallVectorImpl<Decl *> &AllIvarDecls);
|
||||
Decl *ActOnIvar(Scope *S, SourceLocation DeclStart, Decl *IntfDecl,
|
||||
Declarator &D, Expr *BitfieldWidth,
|
||||
tok::ObjCKeywordKind visibility);
|
||||
|
@ -1937,7 +1937,7 @@ public:
|
|||
/// CollectIvarsToConstructOrDestruct - Collect those ivars which require
|
||||
/// initialization.
|
||||
void CollectIvarsToConstructOrDestruct(ObjCInterfaceDecl *OI,
|
||||
llvm::SmallVectorImpl<ObjCIvarDecl*> &Ivars);
|
||||
SmallVectorImpl<ObjCIvarDecl*> &Ivars);
|
||||
|
||||
//===--------------------------------------------------------------------===//
|
||||
// Statement Parsing Callbacks: SemaStmt.cpp.
|
||||
|
@ -2141,14 +2141,14 @@ public:
|
|||
DelayedDiagnostics.popContext(state);
|
||||
}
|
||||
|
||||
void EmitDeprecationWarning(NamedDecl *D, llvm::StringRef Message,
|
||||
void EmitDeprecationWarning(NamedDecl *D, StringRef Message,
|
||||
SourceLocation Loc,
|
||||
const ObjCInterfaceDecl *UnknownObjCClass=0);
|
||||
|
||||
void HandleDelayedDeprecationCheck(sema::DelayedDiagnostic &DD, Decl *Ctx);
|
||||
|
||||
bool makeUnavailableInSystemHeader(SourceLocation loc,
|
||||
llvm::StringRef message);
|
||||
StringRef message);
|
||||
|
||||
//===--------------------------------------------------------------------===//
|
||||
// Expression Parsing Callbacks: SemaExpr.cpp.
|
||||
|
@ -2645,7 +2645,7 @@ public:
|
|||
// any other specification (even 'none', to keep this rule simple).
|
||||
ExceptionSpecificationType ComputedEST;
|
||||
llvm::SmallPtrSet<CanQualType, 4> ExceptionsSeen;
|
||||
llvm::SmallVector<QualType, 4> Exceptions;
|
||||
SmallVector<QualType, 4> Exceptions;
|
||||
|
||||
void ClearExceptions() {
|
||||
ExceptionsSeen.clear();
|
||||
|
@ -3259,7 +3259,7 @@ public:
|
|||
Decl *ActOnStartLinkageSpecification(Scope *S,
|
||||
SourceLocation ExternLoc,
|
||||
SourceLocation LangLoc,
|
||||
llvm::StringRef Lang,
|
||||
StringRef Lang,
|
||||
SourceLocation LBraceLoc);
|
||||
Decl *ActOnFinishLinkageSpecification(Scope *S,
|
||||
Decl *LinkageSpec,
|
||||
|
@ -3339,7 +3339,7 @@ public:
|
|||
|
||||
/// \brief The list of vtables that are required but have not yet been
|
||||
/// materialized.
|
||||
llvm::SmallVector<VTableUse, 16> VTableUses;
|
||||
SmallVector<VTableUse, 16> VTableUses;
|
||||
|
||||
/// \brief The set of classes whose vtables have been used within
|
||||
/// this translation unit, and a bit that will be true if the vtable is
|
||||
|
@ -3349,7 +3349,7 @@ public:
|
|||
|
||||
/// \brief A list of all of the dynamic classes in this translation
|
||||
/// unit.
|
||||
llvm::SmallVector<CXXRecordDecl *, 16> DynamicClasses;
|
||||
SmallVector<CXXRecordDecl *, 16> DynamicClasses;
|
||||
|
||||
/// \brief Note that the vtable for the given class was used at the
|
||||
/// given location.
|
||||
|
@ -3795,7 +3795,7 @@ public:
|
|||
SourceLocation TemplateLoc,
|
||||
SourceLocation RAngleLoc,
|
||||
Decl *Param,
|
||||
llvm::SmallVectorImpl<TemplateArgument> &Converted);
|
||||
SmallVectorImpl<TemplateArgument> &Converted);
|
||||
|
||||
/// \brief Specifies the context in which a particular template
|
||||
/// argument is being checked.
|
||||
|
@ -3819,7 +3819,7 @@ public:
|
|||
SourceLocation TemplateLoc,
|
||||
SourceLocation RAngleLoc,
|
||||
unsigned ArgumentPackIndex,
|
||||
llvm::SmallVectorImpl<TemplateArgument> &Converted,
|
||||
SmallVectorImpl<TemplateArgument> &Converted,
|
||||
CheckTemplateArgumentKind CTAK = CTAK_Specified);
|
||||
|
||||
/// \brief Check that the given template arguments can be be provided to
|
||||
|
@ -3847,11 +3847,11 @@ public:
|
|||
SourceLocation TemplateLoc,
|
||||
TemplateArgumentListInfo &TemplateArgs,
|
||||
bool PartialTemplateArgs,
|
||||
llvm::SmallVectorImpl<TemplateArgument> &Converted);
|
||||
SmallVectorImpl<TemplateArgument> &Converted);
|
||||
|
||||
bool CheckTemplateTypeArgument(TemplateTypeParmDecl *Param,
|
||||
const TemplateArgumentLoc &Arg,
|
||||
llvm::SmallVectorImpl<TemplateArgument> &Converted);
|
||||
SmallVectorImpl<TemplateArgument> &Converted);
|
||||
|
||||
bool CheckTemplateArgument(TemplateTypeParmDecl *Param,
|
||||
TypeSourceInfo *Arg);
|
||||
|
@ -4103,7 +4103,7 @@ public:
|
|||
/// \param Arg The template argument that will be traversed to find
|
||||
/// unexpanded parameter packs.
|
||||
void collectUnexpandedParameterPacks(TemplateArgument Arg,
|
||||
llvm::SmallVectorImpl<UnexpandedParameterPack> &Unexpanded);
|
||||
SmallVectorImpl<UnexpandedParameterPack> &Unexpanded);
|
||||
|
||||
/// \brief Collect the set of unexpanded parameter packs within the given
|
||||
/// template argument.
|
||||
|
@ -4111,7 +4111,7 @@ public:
|
|||
/// \param Arg The template argument that will be traversed to find
|
||||
/// unexpanded parameter packs.
|
||||
void collectUnexpandedParameterPacks(TemplateArgumentLoc Arg,
|
||||
llvm::SmallVectorImpl<UnexpandedParameterPack> &Unexpanded);
|
||||
SmallVectorImpl<UnexpandedParameterPack> &Unexpanded);
|
||||
|
||||
/// \brief Collect the set of unexpanded parameter packs within the given
|
||||
/// type.
|
||||
|
@ -4119,7 +4119,7 @@ public:
|
|||
/// \param T The type that will be traversed to find
|
||||
/// unexpanded parameter packs.
|
||||
void collectUnexpandedParameterPacks(QualType T,
|
||||
llvm::SmallVectorImpl<UnexpandedParameterPack> &Unexpanded);
|
||||
SmallVectorImpl<UnexpandedParameterPack> &Unexpanded);
|
||||
|
||||
/// \brief Collect the set of unexpanded parameter packs within the given
|
||||
/// type.
|
||||
|
@ -4127,7 +4127,7 @@ public:
|
|||
/// \param TL The type that will be traversed to find
|
||||
/// unexpanded parameter packs.
|
||||
void collectUnexpandedParameterPacks(TypeLoc TL,
|
||||
llvm::SmallVectorImpl<UnexpandedParameterPack> &Unexpanded);
|
||||
SmallVectorImpl<UnexpandedParameterPack> &Unexpanded);
|
||||
|
||||
/// \brief Invoked when parsing a template argument followed by an
|
||||
/// ellipsis, which creates a pack expansion.
|
||||
|
@ -4312,8 +4312,8 @@ public:
|
|||
TemplateDeductionResult
|
||||
SubstituteExplicitTemplateArguments(FunctionTemplateDecl *FunctionTemplate,
|
||||
TemplateArgumentListInfo &ExplicitTemplateArgs,
|
||||
llvm::SmallVectorImpl<DeducedTemplateArgument> &Deduced,
|
||||
llvm::SmallVectorImpl<QualType> &ParamTypes,
|
||||
SmallVectorImpl<DeducedTemplateArgument> &Deduced,
|
||||
SmallVectorImpl<QualType> &ParamTypes,
|
||||
QualType *FunctionType,
|
||||
sema::TemplateDeductionInfo &Info);
|
||||
|
||||
|
@ -4333,11 +4333,11 @@ public:
|
|||
|
||||
TemplateDeductionResult
|
||||
FinishTemplateArgumentDeduction(FunctionTemplateDecl *FunctionTemplate,
|
||||
llvm::SmallVectorImpl<DeducedTemplateArgument> &Deduced,
|
||||
SmallVectorImpl<DeducedTemplateArgument> &Deduced,
|
||||
unsigned NumExplicitlySpecified,
|
||||
FunctionDecl *&Specialization,
|
||||
sema::TemplateDeductionInfo &Info,
|
||||
llvm::SmallVectorImpl<OriginalCallArg> const *OriginalCallArgs = 0);
|
||||
SmallVectorImpl<OriginalCallArg> const *OriginalCallArgs = 0);
|
||||
|
||||
TemplateDeductionResult
|
||||
DeduceTemplateArguments(FunctionTemplateDecl *FunctionTemplate,
|
||||
|
@ -4392,9 +4392,9 @@ public:
|
|||
void MarkUsedTemplateParameters(const TemplateArgumentList &TemplateArgs,
|
||||
bool OnlyDeduced,
|
||||
unsigned Depth,
|
||||
llvm::SmallVectorImpl<bool> &Used);
|
||||
SmallVectorImpl<bool> &Used);
|
||||
void MarkDeducedTemplateParameters(FunctionTemplateDecl *FunctionTemplate,
|
||||
llvm::SmallVectorImpl<bool> &Deduced);
|
||||
SmallVectorImpl<bool> &Deduced);
|
||||
|
||||
//===--------------------------------------------------------------------===//
|
||||
// C++ Template Instantiation
|
||||
|
@ -4523,7 +4523,7 @@ public:
|
|||
/// requires another template instantiation, additional
|
||||
/// instantiations are pushed onto the stack up to a
|
||||
/// user-configurable limit LangOptions::InstantiationDepth.
|
||||
llvm::SmallVector<ActiveTemplateInstantiation, 16>
|
||||
SmallVector<ActiveTemplateInstantiation, 16>
|
||||
ActiveTemplateInstantiations;
|
||||
|
||||
/// \brief Whether we are in a SFINAE context that is not associated with
|
||||
|
@ -4580,14 +4580,14 @@ public:
|
|||
///
|
||||
/// The top of this stack is used by a fixit instantiating unresolved
|
||||
/// function calls to fix the AST to match the textual change it prints.
|
||||
llvm::SmallVector<CallExpr *, 8> CallsUndergoingInstantiation;
|
||||
SmallVector<CallExpr *, 8> CallsUndergoingInstantiation;
|
||||
|
||||
/// \brief For each declaration that involved template argument deduction, the
|
||||
/// set of diagnostics that were suppressed during that template argument
|
||||
/// deduction.
|
||||
///
|
||||
/// FIXME: Serialize this structure to the AST file.
|
||||
llvm::DenseMap<Decl *, llvm::SmallVector<PartialDiagnosticAt, 1> >
|
||||
llvm::DenseMap<Decl *, SmallVector<PartialDiagnosticAt, 1> >
|
||||
SuppressedDiagnostics;
|
||||
|
||||
/// \brief A stack object to be created when performing template
|
||||
|
@ -4805,8 +4805,8 @@ public:
|
|||
bool SubstParmTypes(SourceLocation Loc,
|
||||
ParmVarDecl **Params, unsigned NumParams,
|
||||
const MultiLevelTemplateArgumentList &TemplateArgs,
|
||||
llvm::SmallVectorImpl<QualType> &ParamTypes,
|
||||
llvm::SmallVectorImpl<ParmVarDecl *> *OutParams = 0);
|
||||
SmallVectorImpl<QualType> &ParamTypes,
|
||||
SmallVectorImpl<ParmVarDecl *> *OutParams = 0);
|
||||
ExprResult SubstExpr(Expr *E,
|
||||
const MultiLevelTemplateArgumentList &TemplateArgs);
|
||||
|
||||
|
@ -4827,7 +4827,7 @@ public:
|
|||
/// \returns true if an error occurred, false otherwise.
|
||||
bool SubstExprs(Expr **Exprs, unsigned NumExprs, bool IsCall,
|
||||
const MultiLevelTemplateArgumentList &TemplateArgs,
|
||||
llvm::SmallVectorImpl<Expr *> &Outputs);
|
||||
SmallVectorImpl<Expr *> &Outputs);
|
||||
|
||||
StmtResult SubstStmt(Stmt *S,
|
||||
const MultiLevelTemplateArgumentList &TemplateArgs);
|
||||
|
@ -4970,7 +4970,7 @@ public:
|
|||
void FindProtocolDeclaration(bool WarnOnDeclarations,
|
||||
const IdentifierLocPair *ProtocolId,
|
||||
unsigned NumProtocols,
|
||||
llvm::SmallVectorImpl<Decl *> &Protocols);
|
||||
SmallVectorImpl<Decl *> &Protocols);
|
||||
|
||||
/// Ensure attributes are consistent with type.
|
||||
/// \param [in, out] Attributes The attributes to check; they will
|
||||
|
@ -5353,7 +5353,7 @@ public:
|
|||
const FunctionProtoType *Proto,
|
||||
unsigned FirstProtoArg,
|
||||
Expr **Args, unsigned NumArgs,
|
||||
llvm::SmallVector<Expr *, 8> &AllArgs,
|
||||
SmallVector<Expr *, 8> &AllArgs,
|
||||
VariadicCallType CallType = VariadicDoesNotApply);
|
||||
|
||||
// DefaultVariadicArgumentPromotion - Like DefaultArgumentPromotion, but
|
||||
|
@ -5868,7 +5868,7 @@ public:
|
|||
unsigned Argument);
|
||||
void CodeCompleteNaturalLanguage();
|
||||
void GatherGlobalCodeCompletions(CodeCompletionAllocator &Allocator,
|
||||
llvm::SmallVectorImpl<CodeCompletionResult> &Results);
|
||||
SmallVectorImpl<CodeCompletionResult> &Results);
|
||||
//@}
|
||||
|
||||
//===--------------------------------------------------------------------===//
|
||||
|
|
|
@ -45,7 +45,7 @@ namespace clang {
|
|||
private:
|
||||
/// \brief The template argument lists, stored from the innermost template
|
||||
/// argument list (first) to the outermost template argument list (last).
|
||||
llvm::SmallVector<ArgList, 4> TemplateArgumentLists;
|
||||
SmallVector<ArgList, 4> TemplateArgumentLists;
|
||||
|
||||
public:
|
||||
/// \brief Construct an empty set of template argument lists.
|
||||
|
@ -178,7 +178,7 @@ namespace clang {
|
|||
class LocalInstantiationScope {
|
||||
public:
|
||||
/// \brief A set of declarations.
|
||||
typedef llvm::SmallVector<Decl *, 4> DeclArgumentPack;
|
||||
typedef SmallVector<Decl *, 4> DeclArgumentPack;
|
||||
|
||||
private:
|
||||
/// \brief Reference to the semantic analysis that is performing
|
||||
|
@ -210,7 +210,7 @@ namespace clang {
|
|||
LocalDeclsMap LocalDecls;
|
||||
|
||||
/// \brief The set of argument packs we've allocated.
|
||||
llvm::SmallVector<DeclArgumentPack *, 1> ArgumentPacks;
|
||||
SmallVector<DeclArgumentPack *, 1> ArgumentPacks;
|
||||
|
||||
/// \brief The outer scope, which contains local variable
|
||||
/// definitions from some other instantiation (that may not be
|
||||
|
@ -318,7 +318,7 @@ namespace clang {
|
|||
/// \brief A list of out-of-line class template partial
|
||||
/// specializations that will need to be instantiated after the
|
||||
/// enclosing class's instantiation is complete.
|
||||
llvm::SmallVector<std::pair<ClassTemplateDecl *,
|
||||
SmallVector<std::pair<ClassTemplateDecl *,
|
||||
ClassTemplatePartialSpecializationDecl *>, 4>
|
||||
OutOfLinePartialSpecs;
|
||||
|
||||
|
@ -380,7 +380,7 @@ namespace clang {
|
|||
}
|
||||
|
||||
typedef
|
||||
llvm::SmallVectorImpl<std::pair<ClassTemplateDecl *,
|
||||
SmallVectorImpl<std::pair<ClassTemplateDecl *,
|
||||
ClassTemplatePartialSpecializationDecl *> >
|
||||
::iterator
|
||||
delayed_partial_spec_iterator;
|
||||
|
@ -403,7 +403,7 @@ namespace clang {
|
|||
|
||||
// Helper functions for instantiating methods.
|
||||
TypeSourceInfo *SubstFunctionType(FunctionDecl *D,
|
||||
llvm::SmallVectorImpl<ParmVarDecl *> &Params);
|
||||
SmallVectorImpl<ParmVarDecl *> &Params);
|
||||
bool InitFunctionInstantiation(FunctionDecl *New, FunctionDecl *Tmpl);
|
||||
bool InitMethodInstantiation(CXXMethodDecl *New, CXXMethodDecl *Tmpl);
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ class TemplateDeductionInfo {
|
|||
|
||||
/// \brief Warnings (and follow-on notes) that were suppressed due to
|
||||
/// SFINAE while performing template argument deduction.
|
||||
llvm::SmallVector<PartialDiagnosticAt, 4> SuppressedDiagnostics;
|
||||
SmallVector<PartialDiagnosticAt, 4> SuppressedDiagnostics;
|
||||
|
||||
// do not implement these
|
||||
TemplateDeductionInfo(const TemplateDeductionInfo&);
|
||||
|
@ -81,7 +81,7 @@ public:
|
|||
}
|
||||
|
||||
/// \brief Iterator over the set of suppressed diagnostics.
|
||||
typedef llvm::SmallVectorImpl<PartialDiagnosticAt>::const_iterator
|
||||
typedef SmallVectorImpl<PartialDiagnosticAt>::const_iterator
|
||||
diag_iterator;
|
||||
|
||||
/// \brief Returns an iterator at the beginning of the sequence of suppressed
|
||||
|
|
|
@ -80,9 +80,9 @@ struct PCHPredefinesBlock {
|
|||
FileID BufferID;
|
||||
|
||||
/// \brief This predefines buffer in a PCH file.
|
||||
llvm::StringRef Data;
|
||||
StringRef Data;
|
||||
};
|
||||
typedef llvm::SmallVector<PCHPredefinesBlock, 2> PCHPredefinesBlocks;
|
||||
typedef SmallVector<PCHPredefinesBlock, 2> PCHPredefinesBlocks;
|
||||
|
||||
/// \brief Abstract interface for callback invocations by the ASTReader.
|
||||
///
|
||||
|
@ -104,7 +104,7 @@ public:
|
|||
/// \brief Receives the target triple.
|
||||
///
|
||||
/// \returns true to indicate the target triple is invalid or false otherwise.
|
||||
virtual bool ReadTargetTriple(llvm::StringRef Triple) {
|
||||
virtual bool ReadTargetTriple(StringRef Triple) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -120,7 +120,7 @@ public:
|
|||
///
|
||||
/// \returns true to indicate the predefines are invalid or false otherwise.
|
||||
virtual bool ReadPredefinesBuffer(const PCHPredefinesBlocks &Buffers,
|
||||
llvm::StringRef OriginalFileName,
|
||||
StringRef OriginalFileName,
|
||||
std::string &SuggestedPredefines,
|
||||
FileManager &FileMgr) {
|
||||
return false;
|
||||
|
@ -146,9 +146,9 @@ public:
|
|||
: PP(PP), Reader(Reader), NumHeaderInfos(0) {}
|
||||
|
||||
virtual bool ReadLanguageOptions(const LangOptions &LangOpts);
|
||||
virtual bool ReadTargetTriple(llvm::StringRef Triple);
|
||||
virtual bool ReadTargetTriple(StringRef Triple);
|
||||
virtual bool ReadPredefinesBuffer(const PCHPredefinesBlocks &Buffers,
|
||||
llvm::StringRef OriginalFileName,
|
||||
StringRef OriginalFileName,
|
||||
std::string &SuggestedPredefines,
|
||||
FileManager &FileMgr);
|
||||
virtual void ReadHeaderFileInfo(const HeaderFileInfo &HFI, unsigned ID);
|
||||
|
@ -372,7 +372,7 @@ private:
|
|||
|
||||
/// \brief Method selectors used in a @selector expression. Used for
|
||||
/// implementation of -Wselector.
|
||||
llvm::SmallVector<uint64_t, 64> ReferencedSelectorsData;
|
||||
SmallVector<uint64_t, 64> ReferencedSelectorsData;
|
||||
|
||||
// === Declarations ===
|
||||
|
||||
|
@ -394,7 +394,7 @@ private:
|
|||
/// end of the TU. It consists of a pair of values for every pending
|
||||
/// instantiation where the first value is the ID of the decl and the second
|
||||
/// is the instantiation location.
|
||||
llvm::SmallVector<uint64_t, 64> PendingInstantiations;
|
||||
SmallVector<uint64_t, 64> PendingInstantiations;
|
||||
|
||||
/// \brief The number of C++ base specifier sets in this AST file.
|
||||
unsigned LocalNumCXXBaseSpecifiers;
|
||||
|
@ -415,7 +415,7 @@ private:
|
|||
// === Miscellaneous ===
|
||||
|
||||
/// \brief Diagnostic IDs and their mappings that the user changed.
|
||||
llvm::SmallVector<uint64_t, 8> PragmaDiagMappings;
|
||||
SmallVector<uint64_t, 8> PragmaDiagMappings;
|
||||
|
||||
/// \brief The AST stat cache installed for this file, if any.
|
||||
///
|
||||
|
@ -431,7 +431,7 @@ private:
|
|||
|
||||
/// \brief All the modules that loaded this one. Can contain NULL for
|
||||
/// directly loaded modules.
|
||||
llvm::SmallVector<PerFileData *, 1> Loaders;
|
||||
SmallVector<PerFileData *, 1> Loaders;
|
||||
};
|
||||
|
||||
/// \brief All loaded modules, indexed by name.
|
||||
|
@ -443,10 +443,10 @@ private:
|
|||
/// \brief The chain of AST files. The first entry is the one named by the
|
||||
/// user, the last one is the one that doesn't depend on anything further.
|
||||
/// That is, the entry I was created with -include-pch I+1.
|
||||
llvm::SmallVector<PerFileData*, 2> Chain;
|
||||
SmallVector<PerFileData*, 2> Chain;
|
||||
|
||||
/// \brief SLocEntries that we're going to preload.
|
||||
llvm::SmallVector<int, 64> PreloadSLocEntries;
|
||||
SmallVector<int, 64> PreloadSLocEntries;
|
||||
|
||||
/// \brief A map of negated SLocEntryIDs to the modules containing them.
|
||||
ContinuousRangeMap<unsigned, PerFileData*, 64> GlobalSLocEntryMap;
|
||||
|
@ -484,7 +484,7 @@ private:
|
|||
GlobalDeclMapType GlobalDeclMap;
|
||||
|
||||
typedef std::pair<PerFileData *, uint64_t> FileOffset;
|
||||
typedef llvm::SmallVector<FileOffset, 2> FileOffsetsTy;
|
||||
typedef SmallVector<FileOffset, 2> FileOffsetsTy;
|
||||
typedef llvm::DenseMap<serialization::DeclID, FileOffsetsTy>
|
||||
DeclUpdateOffsetsMap;
|
||||
|
||||
|
@ -508,14 +508,14 @@ private:
|
|||
// so this is a vector. However, typically a chain is only two elements long,
|
||||
// with only one file containing updates, so there will be only one update
|
||||
// per decl context.
|
||||
typedef llvm::SmallVector<DeclContextInfo, 1> DeclContextInfos;
|
||||
typedef SmallVector<DeclContextInfo, 1> DeclContextInfos;
|
||||
typedef llvm::DenseMap<const DeclContext *, DeclContextInfos>
|
||||
DeclContextOffsetsMap;
|
||||
// Updates for visible decls can occur for other contexts than just the
|
||||
// TU, and when we read those update records, the actual context will not
|
||||
// be available yet (unless it's the TU), so have this pending map using the
|
||||
// ID as a key. It will be realized when the context is actually loaded.
|
||||
typedef llvm::SmallVector<void *, 1> DeclContextVisibleUpdates;
|
||||
typedef SmallVector<void *, 1> DeclContextVisibleUpdates;
|
||||
typedef llvm::DenseMap<serialization::DeclID, DeclContextVisibleUpdates>
|
||||
DeclContextVisibleUpdatesPending;
|
||||
|
||||
|
@ -527,7 +527,7 @@ private:
|
|||
/// haven't been loaded yet.
|
||||
DeclContextVisibleUpdatesPending PendingVisibleUpdates;
|
||||
|
||||
typedef llvm::SmallVector<CXXRecordDecl *, 4> ForwardRefs;
|
||||
typedef SmallVector<CXXRecordDecl *, 4> ForwardRefs;
|
||||
typedef llvm::DenseMap<const CXXRecordDecl *, ForwardRefs>
|
||||
PendingForwardRefsMap;
|
||||
/// \brief Forward references that have a definition but the definition decl
|
||||
|
@ -568,7 +568,7 @@ private:
|
|||
/// This vector is indexed by the Selector ID (-1). NULL selector
|
||||
/// entries indicate that the particular selector ID has not yet
|
||||
/// been loaded.
|
||||
llvm::SmallVector<Selector, 16> SelectorsLoaded;
|
||||
SmallVector<Selector, 16> SelectorsLoaded;
|
||||
|
||||
typedef ContinuousRangeMap<serialization::SelectorID,
|
||||
std::pair<PerFileData *, int32_t>, 4>
|
||||
|
@ -580,7 +580,7 @@ private:
|
|||
GlobalSelectorMapType GlobalSelectorMap;
|
||||
|
||||
/// \brief The macro definitions we have already loaded.
|
||||
llvm::SmallVector<MacroDefinition *, 16> MacroDefinitionsLoaded;
|
||||
SmallVector<MacroDefinition *, 16> MacroDefinitionsLoaded;
|
||||
|
||||
typedef ContinuousRangeMap<serialization::MacroID,
|
||||
std::pair<PerFileData *, int32_t>, 4>
|
||||
|
@ -606,21 +606,21 @@ private:
|
|||
/// This contains the data loaded from all EXTERNAL_DEFINITIONS blocks in the
|
||||
/// chain. The referenced declarations are deserialized and passed to the
|
||||
/// consumer eagerly.
|
||||
llvm::SmallVector<uint64_t, 16> ExternalDefinitions;
|
||||
SmallVector<uint64_t, 16> ExternalDefinitions;
|
||||
|
||||
/// \brief The IDs of all tentative definitions stored in the the chain.
|
||||
///
|
||||
/// Sema keeps track of all tentative definitions in a TU because it has to
|
||||
/// complete them and pass them on to CodeGen. Thus, tentative definitions in
|
||||
/// the PCH chain must be eagerly deserialized.
|
||||
llvm::SmallVector<uint64_t, 16> TentativeDefinitions;
|
||||
SmallVector<uint64_t, 16> TentativeDefinitions;
|
||||
|
||||
/// \brief The IDs of all CXXRecordDecls stored in the chain whose VTables are
|
||||
/// used.
|
||||
///
|
||||
/// CodeGen has to emit VTables for these records, so they have to be eagerly
|
||||
/// deserialized.
|
||||
llvm::SmallVector<uint64_t, 64> VTableUses;
|
||||
SmallVector<uint64_t, 64> VTableUses;
|
||||
|
||||
//@}
|
||||
|
||||
|
@ -630,20 +630,20 @@ private:
|
|||
|
||||
/// \brief A snapshot of Sema's unused file-scoped variable tracking, for
|
||||
/// generating warnings.
|
||||
llvm::SmallVector<uint64_t, 16> UnusedFileScopedDecls;
|
||||
SmallVector<uint64_t, 16> UnusedFileScopedDecls;
|
||||
|
||||
/// \brief A list of all the delegating constructors we've seen, to diagnose
|
||||
/// cycles.
|
||||
llvm::SmallVector<uint64_t, 4> DelegatingCtorDecls;
|
||||
SmallVector<uint64_t, 4> DelegatingCtorDecls;
|
||||
|
||||
/// \brief A snapshot of Sema's weak undeclared identifier tracking, for
|
||||
/// generating warnings.
|
||||
llvm::SmallVector<uint64_t, 64> WeakUndeclaredIdentifiers;
|
||||
SmallVector<uint64_t, 64> WeakUndeclaredIdentifiers;
|
||||
|
||||
/// \brief The IDs of type aliases for ext_vectors that exist in the chain.
|
||||
///
|
||||
/// Used by Sema for finding sugared names for ext_vectors in diagnostics.
|
||||
llvm::SmallVector<uint64_t, 4> ExtVectorDecls;
|
||||
SmallVector<uint64_t, 4> ExtVectorDecls;
|
||||
|
||||
//@}
|
||||
|
||||
|
@ -655,38 +655,38 @@ private:
|
|||
///
|
||||
/// Sema tracks these to validate that the types are consistent across all
|
||||
/// local external declarations.
|
||||
llvm::SmallVector<uint64_t, 16> LocallyScopedExternalDecls;
|
||||
SmallVector<uint64_t, 16> LocallyScopedExternalDecls;
|
||||
|
||||
/// \brief The IDs of all dynamic class declarations in the chain.
|
||||
///
|
||||
/// Sema tracks these because it checks for the key functions being defined
|
||||
/// at the end of the TU, in which case it directs CodeGen to emit the VTable.
|
||||
llvm::SmallVector<uint64_t, 16> DynamicClasses;
|
||||
SmallVector<uint64_t, 16> DynamicClasses;
|
||||
|
||||
/// \brief The IDs of the declarations Sema stores directly.
|
||||
///
|
||||
/// Sema tracks a few important decls, such as namespace std, directly.
|
||||
llvm::SmallVector<uint64_t, 4> SemaDeclRefs;
|
||||
SmallVector<uint64_t, 4> SemaDeclRefs;
|
||||
|
||||
/// \brief The IDs of the types ASTContext stores directly.
|
||||
///
|
||||
/// The AST context tracks a few important types, such as va_list, directly.
|
||||
llvm::SmallVector<uint64_t, 16> SpecialTypes;
|
||||
SmallVector<uint64_t, 16> SpecialTypes;
|
||||
|
||||
/// \brief The IDs of CUDA-specific declarations ASTContext stores directly.
|
||||
///
|
||||
/// The AST context tracks a few important decls, currently cudaConfigureCall,
|
||||
/// directly.
|
||||
llvm::SmallVector<uint64_t, 2> CUDASpecialDeclRefs;
|
||||
SmallVector<uint64_t, 2> CUDASpecialDeclRefs;
|
||||
|
||||
/// \brief The floating point pragma option settings.
|
||||
llvm::SmallVector<uint64_t, 1> FPPragmaOptions;
|
||||
SmallVector<uint64_t, 1> FPPragmaOptions;
|
||||
|
||||
/// \brief The OpenCL extension settings.
|
||||
llvm::SmallVector<uint64_t, 1> OpenCLExtensions;
|
||||
SmallVector<uint64_t, 1> OpenCLExtensions;
|
||||
|
||||
/// \brief A list of the namespaces we've seen.
|
||||
llvm::SmallVector<uint64_t, 4> KnownNamespaces;
|
||||
SmallVector<uint64_t, 4> KnownNamespaces;
|
||||
|
||||
//@}
|
||||
|
||||
|
@ -783,7 +783,7 @@ private:
|
|||
/// declarations of the same name have not (yet) been loaded.
|
||||
struct PendingIdentifierInfo {
|
||||
IdentifierInfo *II;
|
||||
llvm::SmallVector<uint32_t, 4> DeclIDs;
|
||||
SmallVector<uint32_t, 4> DeclIDs;
|
||||
};
|
||||
|
||||
/// \brief The set of identifiers that were read while the AST reader was
|
||||
|
@ -809,7 +809,7 @@ private:
|
|||
void loadAndAttachPreviousDecl(Decl *D, serialization::DeclID ID);
|
||||
|
||||
/// \brief When reading a Stmt tree, Stmt operands are placed in this stack.
|
||||
llvm::SmallVector<Stmt *, 16> StmtStack;
|
||||
SmallVector<Stmt *, 16> StmtStack;
|
||||
|
||||
/// \brief What kind of records we are reading.
|
||||
enum ReadingKind {
|
||||
|
@ -855,19 +855,19 @@ private:
|
|||
|
||||
/// \brief Get a FileEntry out of stored-in-PCH filename, making sure we take
|
||||
/// into account all the necessary relocations.
|
||||
const FileEntry *getFileEntry(llvm::StringRef filename);
|
||||
const FileEntry *getFileEntry(StringRef filename);
|
||||
|
||||
void MaybeAddSystemRootToFilename(std::string &Filename);
|
||||
|
||||
ASTReadResult ReadASTCore(llvm::StringRef FileName, ASTFileType Type);
|
||||
ASTReadResult ReadASTCore(StringRef FileName, ASTFileType Type);
|
||||
ASTReadResult ReadASTBlock(PerFileData &F);
|
||||
bool CheckPredefinesBuffers();
|
||||
bool ParseLineTable(PerFileData &F, llvm::SmallVectorImpl<uint64_t> &Record);
|
||||
bool ParseLineTable(PerFileData &F, SmallVectorImpl<uint64_t> &Record);
|
||||
ASTReadResult ReadSourceManagerBlock(PerFileData &F);
|
||||
ASTReadResult ReadSLocEntryRecord(int ID);
|
||||
llvm::BitstreamCursor &SLocCursorForID(int ID);
|
||||
SourceLocation getImportLocation(PerFileData *F);
|
||||
bool ParseLanguageOptions(const llvm::SmallVectorImpl<uint64_t> &Record);
|
||||
bool ParseLanguageOptions(const SmallVectorImpl<uint64_t> &Record);
|
||||
|
||||
struct RecordLocation {
|
||||
RecordLocation(PerFileData *M, uint64_t O)
|
||||
|
@ -888,14 +888,14 @@ private:
|
|||
///
|
||||
/// This routine should only be used for fatal errors that have to
|
||||
/// do with non-routine failures (e.g., corrupted AST file).
|
||||
void Error(llvm::StringRef Msg);
|
||||
void Error(unsigned DiagID, llvm::StringRef Arg1 = llvm::StringRef(),
|
||||
llvm::StringRef Arg2 = llvm::StringRef());
|
||||
void Error(StringRef Msg);
|
||||
void Error(unsigned DiagID, StringRef Arg1 = StringRef(),
|
||||
StringRef Arg2 = StringRef());
|
||||
|
||||
ASTReader(const ASTReader&); // do not implement
|
||||
ASTReader &operator=(const ASTReader &); // do not implement
|
||||
public:
|
||||
typedef llvm::SmallVector<uint64_t, 64> RecordData;
|
||||
typedef SmallVector<uint64_t, 64> RecordData;
|
||||
|
||||
/// \brief Load the AST file and validate its contents against the given
|
||||
/// Preprocessor.
|
||||
|
@ -1121,7 +1121,7 @@ public:
|
|||
/// declarations for this declaration context.
|
||||
virtual ExternalLoadResult FindExternalLexicalDecls(const DeclContext *DC,
|
||||
bool (*isKindWeWant)(Decl::Kind),
|
||||
llvm::SmallVectorImpl<Decl*> &Decls);
|
||||
SmallVectorImpl<Decl*> &Decls);
|
||||
|
||||
/// \brief Notify ASTReader that we started deserialization of
|
||||
/// a decl or type so until FinishedDeserializing is called there may be
|
||||
|
@ -1161,7 +1161,7 @@ public:
|
|||
/// declarations will be deserialized and introduced into the declaration
|
||||
/// chain of the identifier.
|
||||
virtual IdentifierInfo *get(const char *NameStart, const char *NameEnd);
|
||||
IdentifierInfo *get(llvm::StringRef Name) {
|
||||
IdentifierInfo *get(StringRef Name) {
|
||||
return get(Name.begin(), Name.end());
|
||||
}
|
||||
|
||||
|
@ -1180,14 +1180,14 @@ public:
|
|||
/// \brief Load the set of namespaces that are known to the external source,
|
||||
/// which will be used during typo correction.
|
||||
virtual void ReadKnownNamespaces(
|
||||
llvm::SmallVectorImpl<NamespaceDecl *> &Namespaces);
|
||||
SmallVectorImpl<NamespaceDecl *> &Namespaces);
|
||||
|
||||
/// \brief Load a selector from disk, registering its ID if it exists.
|
||||
void LoadSelector(Selector Sel);
|
||||
|
||||
void SetIdentifierInfo(unsigned ID, IdentifierInfo *II);
|
||||
void SetGloballyVisibleDecls(IdentifierInfo *II,
|
||||
const llvm::SmallVectorImpl<uint32_t> &DeclIDs,
|
||||
const SmallVectorImpl<uint32_t> &DeclIDs,
|
||||
bool Nonrecursive = false);
|
||||
|
||||
/// \brief Report a diagnostic.
|
||||
|
@ -1251,7 +1251,7 @@ public:
|
|||
|
||||
/// \brief Read a template argument array.
|
||||
void
|
||||
ReadTemplateArgumentList(llvm::SmallVector<TemplateArgument, 8> &TemplArgs,
|
||||
ReadTemplateArgumentList(SmallVector<TemplateArgument, 8> &TemplArgs,
|
||||
PerFileData &F, const RecordData &Record,
|
||||
unsigned &Idx);
|
||||
|
||||
|
@ -1362,7 +1362,7 @@ public:
|
|||
|
||||
// \brief Contains declarations that were loaded before we have
|
||||
// access to a Sema object.
|
||||
llvm::SmallVector<NamedDecl *, 16> PreloadedDecls;
|
||||
SmallVector<NamedDecl *, 16> PreloadedDecls;
|
||||
|
||||
/// \brief Retrieve the semantic analysis object used to analyze the
|
||||
/// translation unit in which the precompiled header is being
|
||||
|
|
|
@ -67,8 +67,8 @@ class VersionTuple;
|
|||
class ASTWriter : public ASTDeserializationListener,
|
||||
public ASTMutationListener {
|
||||
public:
|
||||
typedef llvm::SmallVector<uint64_t, 64> RecordData;
|
||||
typedef llvm::SmallVectorImpl<uint64_t> RecordDataImpl;
|
||||
typedef SmallVector<uint64_t, 64> RecordData;
|
||||
typedef SmallVectorImpl<uint64_t> RecordDataImpl;
|
||||
|
||||
friend class ASTDeclWriter;
|
||||
private:
|
||||
|
@ -205,7 +205,7 @@ private:
|
|||
/// to the corresponding offsets within the preprocessor block.
|
||||
std::vector<uint32_t> MacroDefinitionOffsets;
|
||||
|
||||
typedef llvm::SmallVector<uint64_t, 2> UpdateRecord;
|
||||
typedef SmallVector<uint64_t, 2> UpdateRecord;
|
||||
typedef llvm::DenseMap<const Decl *, UpdateRecord> DeclUpdateMap;
|
||||
/// \brief Mapping from declarations that came from a chained PCH to the
|
||||
/// record containing modifications to them.
|
||||
|
@ -228,7 +228,7 @@ private:
|
|||
/// headers. The declarations themselves are stored as declaration
|
||||
/// IDs, since they will be written out to an EXTERNAL_DEFINITIONS
|
||||
/// record.
|
||||
llvm::SmallVector<uint64_t, 16> ExternalDefinitions;
|
||||
SmallVector<uint64_t, 16> ExternalDefinitions;
|
||||
|
||||
/// \brief DeclContexts that have received extensions since their serialized
|
||||
/// form.
|
||||
|
@ -248,16 +248,16 @@ private:
|
|||
/// happen, but the ObjC AST nodes are designed this way), it will be
|
||||
/// serialized again. In this case, it is registered here, so that the reader
|
||||
/// knows to read the updated version.
|
||||
llvm::SmallVector<std::pair<serialization::DeclID, uint64_t>, 16>
|
||||
SmallVector<std::pair<serialization::DeclID, uint64_t>, 16>
|
||||
ReplacedDecls;
|
||||
|
||||
/// \brief Statements that we've encountered while serializing a
|
||||
/// declaration or type.
|
||||
llvm::SmallVector<Stmt *, 16> StmtsToEmit;
|
||||
SmallVector<Stmt *, 16> StmtsToEmit;
|
||||
|
||||
/// \brief Statements collection to use for ASTWriter::AddStmt().
|
||||
/// It will point to StmtsToEmit unless it is overriden.
|
||||
llvm::SmallVector<Stmt *, 16> *CollectedStmts;
|
||||
SmallVector<Stmt *, 16> *CollectedStmts;
|
||||
|
||||
/// \brief Mapping from SwitchCase statements to IDs.
|
||||
std::map<SwitchCase *, unsigned> SwitchCaseIDs;
|
||||
|
@ -280,7 +280,7 @@ private:
|
|||
unsigned NumVisibleDeclContexts;
|
||||
|
||||
/// \brief The offset of each CXXBaseSpecifier set within the AST.
|
||||
llvm::SmallVector<uint32_t, 4> CXXBaseSpecifiersOffsets;
|
||||
SmallVector<uint32_t, 4> CXXBaseSpecifiersOffsets;
|
||||
|
||||
/// \brief The first ID number we can use for our own base specifiers.
|
||||
serialization::CXXBaseSpecifiersID FirstCXXBaseSpecifiersID;
|
||||
|
@ -306,7 +306,7 @@ private:
|
|||
|
||||
/// \brief Queue of C++ base specifiers to be written to the AST file,
|
||||
/// in the order they should be written.
|
||||
llvm::SmallVector<QueuedCXXBaseSpecifiers, 2> CXXBaseSpecifiersToWrite;
|
||||
SmallVector<QueuedCXXBaseSpecifiers, 2> CXXBaseSpecifiersToWrite;
|
||||
|
||||
/// \brief Write the given subexpression to the bitstream.
|
||||
void WriteSubStmt(Stmt *S);
|
||||
|
@ -523,7 +523,7 @@ public:
|
|||
void AddCXXDefinitionData(const CXXRecordDecl *D, RecordDataImpl &Record);
|
||||
|
||||
/// \brief Add a string to the given record.
|
||||
void AddString(llvm::StringRef Str, RecordDataImpl &Record);
|
||||
void AddString(StringRef Str, RecordDataImpl &Record);
|
||||
|
||||
/// \brief Add a version tuple to the given record
|
||||
void AddVersionTuple(const VersionTuple &Version, RecordDataImpl &Record);
|
||||
|
|
|
@ -49,7 +49,7 @@ protected:
|
|||
virtual void MaterializeVisibleDecls(const DeclContext *DC);
|
||||
virtual ExternalLoadResult FindExternalLexicalDecls(const DeclContext *DC,
|
||||
bool (*isKindWeWant)(Decl::Kind),
|
||||
llvm::SmallVectorImpl<Decl*> &Result);
|
||||
SmallVectorImpl<Decl*> &Result);
|
||||
virtual void CompleteType(TagDecl *Tag);
|
||||
virtual void CompleteType(ObjCInterfaceDecl *Class);
|
||||
virtual void StartedDeserializing();
|
||||
|
|
|
@ -41,7 +41,7 @@ public:
|
|||
typedef const value_type *const_pointer;
|
||||
|
||||
private:
|
||||
typedef llvm::SmallVector<value_type, InitialCapacity> Representation;
|
||||
typedef SmallVector<value_type, InitialCapacity> Representation;
|
||||
Representation Rep;
|
||||
|
||||
struct Compare {
|
||||
|
|
|
@ -85,10 +85,10 @@ public:
|
|||
getOriginalNode(const ExplodedNode* N) = 0;
|
||||
};
|
||||
|
||||
BugReport(BugType& bt, llvm::StringRef desc, const ExplodedNode *errornode)
|
||||
BugReport(BugType& bt, StringRef desc, const ExplodedNode *errornode)
|
||||
: BT(bt), Description(desc), ErrorNode(errornode) {}
|
||||
|
||||
BugReport(BugType& bt, llvm::StringRef shortDesc, llvm::StringRef desc,
|
||||
BugReport(BugType& bt, StringRef shortDesc, StringRef desc,
|
||||
const ExplodedNode *errornode)
|
||||
: BT(bt), ShortDescription(shortDesc), Description(desc),
|
||||
ErrorNode(errornode) {}
|
||||
|
@ -109,9 +109,9 @@ public:
|
|||
// BugReporter.
|
||||
const Stmt* getStmt() const;
|
||||
|
||||
const llvm::StringRef getDescription() const { return Description; }
|
||||
const StringRef getDescription() const { return Description; }
|
||||
|
||||
const llvm::StringRef getShortDescription() const {
|
||||
const StringRef getShortDescription() const {
|
||||
return ShortDescription.empty() ? Description : ShortDescription;
|
||||
}
|
||||
|
||||
|
@ -198,14 +198,14 @@ public:
|
|||
|
||||
// FIXME: Collapse this with the default BugReport class.
|
||||
class RangedBugReport : public BugReport {
|
||||
llvm::SmallVector<SourceRange, 4> Ranges;
|
||||
SmallVector<SourceRange, 4> Ranges;
|
||||
public:
|
||||
RangedBugReport(BugType& D, llvm::StringRef description,
|
||||
RangedBugReport(BugType& D, StringRef description,
|
||||
ExplodedNode *errornode)
|
||||
: BugReport(D, description, errornode) {}
|
||||
|
||||
RangedBugReport(BugType& D, llvm::StringRef shortDescription,
|
||||
llvm::StringRef description, ExplodedNode *errornode)
|
||||
RangedBugReport(BugType& D, StringRef shortDescription,
|
||||
StringRef description, ExplodedNode *errornode)
|
||||
: BugReport(D, shortDescription, description, errornode) {}
|
||||
|
||||
~RangedBugReport();
|
||||
|
@ -222,7 +222,7 @@ public:
|
|||
|
||||
virtual void Profile(llvm::FoldingSetNodeID& hash) const {
|
||||
BugReport::Profile(hash);
|
||||
for (llvm::SmallVectorImpl<SourceRange>::const_iterator I =
|
||||
for (SmallVectorImpl<SourceRange>::const_iterator I =
|
||||
Ranges.begin(), E = Ranges.end(); I != E; ++I) {
|
||||
const SourceRange range = *I;
|
||||
if (!range.isValid())
|
||||
|
@ -243,12 +243,12 @@ private:
|
|||
Creators creators;
|
||||
|
||||
public:
|
||||
EnhancedBugReport(BugType& D, llvm::StringRef description,
|
||||
EnhancedBugReport(BugType& D, StringRef description,
|
||||
ExplodedNode *errornode)
|
||||
: RangedBugReport(D, description, errornode) {}
|
||||
|
||||
EnhancedBugReport(BugType& D, llvm::StringRef shortDescription,
|
||||
llvm::StringRef description, ExplodedNode *errornode)
|
||||
EnhancedBugReport(BugType& D, StringRef shortDescription,
|
||||
StringRef description, ExplodedNode *errornode)
|
||||
: RangedBugReport(D, shortDescription, description, errornode) {}
|
||||
|
||||
~EnhancedBugReport() {}
|
||||
|
@ -326,38 +326,38 @@ public:
|
|||
SourceManager& getSourceManager() { return D.getSourceManager(); }
|
||||
|
||||
virtual void GeneratePathDiagnostic(PathDiagnostic& pathDiagnostic,
|
||||
llvm::SmallVectorImpl<BugReport *> &bugReports) {}
|
||||
SmallVectorImpl<BugReport *> &bugReports) {}
|
||||
|
||||
void Register(BugType *BT);
|
||||
|
||||
void EmitReport(BugReport *R);
|
||||
|
||||
void EmitBasicReport(llvm::StringRef BugName, llvm::StringRef BugStr,
|
||||
void EmitBasicReport(StringRef BugName, StringRef BugStr,
|
||||
SourceLocation Loc,
|
||||
SourceRange* RangeBeg, unsigned NumRanges);
|
||||
|
||||
void EmitBasicReport(llvm::StringRef BugName, llvm::StringRef BugCategory,
|
||||
llvm::StringRef BugStr, SourceLocation Loc,
|
||||
void EmitBasicReport(StringRef BugName, StringRef BugCategory,
|
||||
StringRef BugStr, SourceLocation Loc,
|
||||
SourceRange* RangeBeg, unsigned NumRanges);
|
||||
|
||||
|
||||
void EmitBasicReport(llvm::StringRef BugName, llvm::StringRef BugStr,
|
||||
void EmitBasicReport(StringRef BugName, StringRef BugStr,
|
||||
SourceLocation Loc) {
|
||||
EmitBasicReport(BugName, BugStr, Loc, 0, 0);
|
||||
}
|
||||
|
||||
void EmitBasicReport(llvm::StringRef BugName, llvm::StringRef BugCategory,
|
||||
llvm::StringRef BugStr, SourceLocation Loc) {
|
||||
void EmitBasicReport(StringRef BugName, StringRef BugCategory,
|
||||
StringRef BugStr, SourceLocation Loc) {
|
||||
EmitBasicReport(BugName, BugCategory, BugStr, Loc, 0, 0);
|
||||
}
|
||||
|
||||
void EmitBasicReport(llvm::StringRef BugName, llvm::StringRef BugStr,
|
||||
void EmitBasicReport(StringRef BugName, StringRef BugStr,
|
||||
SourceLocation Loc, SourceRange R) {
|
||||
EmitBasicReport(BugName, BugStr, Loc, &R, 1);
|
||||
}
|
||||
|
||||
void EmitBasicReport(llvm::StringRef BugName, llvm::StringRef Category,
|
||||
llvm::StringRef BugStr, SourceLocation Loc,
|
||||
void EmitBasicReport(StringRef BugName, StringRef Category,
|
||||
StringRef BugStr, SourceLocation Loc,
|
||||
SourceRange R) {
|
||||
EmitBasicReport(BugName, Category, BugStr, Loc, &R, 1);
|
||||
}
|
||||
|
@ -369,7 +369,7 @@ private:
|
|||
|
||||
/// \brief Returns a BugType that is associated with the given name and
|
||||
/// category.
|
||||
BugType *getBugTypeForName(llvm::StringRef name, llvm::StringRef category);
|
||||
BugType *getBugTypeForName(StringRef name, StringRef category);
|
||||
};
|
||||
|
||||
// FIXME: Get rid of GRBugReporter. It's the wrong abstraction.
|
||||
|
@ -395,7 +395,7 @@ public:
|
|||
GRStateManager &getStateManager();
|
||||
|
||||
virtual void GeneratePathDiagnostic(PathDiagnostic &pathDiagnostic,
|
||||
llvm::SmallVectorImpl<BugReport*> &bugReports);
|
||||
SmallVectorImpl<BugReport*> &bugReports);
|
||||
|
||||
void addNotableSymbol(SymbolRef Sym) {
|
||||
NotableSymbols.insert(Sym);
|
||||
|
@ -465,7 +465,7 @@ class DiagBugReport : public RangedBugReport {
|
|||
std::list<std::string> Strs;
|
||||
FullSourceLoc L;
|
||||
public:
|
||||
DiagBugReport(BugType& D, llvm::StringRef desc, FullSourceLoc l) :
|
||||
DiagBugReport(BugType& D, StringRef desc, FullSourceLoc l) :
|
||||
RangedBugReport(D, desc, 0), L(l) {}
|
||||
|
||||
virtual ~DiagBugReport() {}
|
||||
|
@ -473,7 +473,7 @@ public:
|
|||
// FIXME: Move out-of-line (virtual function).
|
||||
SourceLocation getLocation() const { return L; }
|
||||
|
||||
void addString(llvm::StringRef s) { Strs.push_back(s); }
|
||||
void addString(StringRef s) { Strs.push_back(s); }
|
||||
|
||||
typedef std::list<std::string>::const_iterator str_iterator;
|
||||
str_iterator str_begin() const { return Strs.begin(); }
|
||||
|
|
|
@ -31,13 +31,13 @@ private:
|
|||
const std::string Category;
|
||||
bool SuppressonSink;
|
||||
public:
|
||||
BugType(llvm::StringRef name, llvm::StringRef cat)
|
||||
BugType(StringRef name, StringRef cat)
|
||||
: Name(name), Category(cat), SuppressonSink(false) {}
|
||||
virtual ~BugType();
|
||||
|
||||
// FIXME: Should these be made strings as well?
|
||||
llvm::StringRef getName() const { return Name; }
|
||||
llvm::StringRef getCategory() const { return Category; }
|
||||
StringRef getName() const { return Name; }
|
||||
StringRef getCategory() const { return Category; }
|
||||
|
||||
/// isSuppressOnSink - Returns true if bug reports associated with this bug
|
||||
/// type should be suppressed if the end node of the report is post-dominated
|
||||
|
@ -57,7 +57,7 @@ public:
|
|||
BuiltinBug(const char *name)
|
||||
: BugType(name, "Logic error"), desc(name) {}
|
||||
|
||||
llvm::StringRef getDescription() const { return desc; }
|
||||
StringRef getDescription() const { return desc; }
|
||||
};
|
||||
|
||||
} // end GR namespace
|
||||
|
|
|
@ -42,13 +42,13 @@ public:
|
|||
virtual ~PathDiagnosticClient() {}
|
||||
|
||||
virtual void
|
||||
FlushDiagnostics(llvm::SmallVectorImpl<std::string> *FilesMade = 0) = 0;
|
||||
FlushDiagnostics(SmallVectorImpl<std::string> *FilesMade = 0) = 0;
|
||||
|
||||
void FlushDiagnostics(llvm::SmallVectorImpl<std::string> &FilesMade) {
|
||||
void FlushDiagnostics(SmallVectorImpl<std::string> &FilesMade) {
|
||||
FlushDiagnostics(&FilesMade);
|
||||
}
|
||||
|
||||
virtual llvm::StringRef getName() const = 0;
|
||||
virtual StringRef getName() const = 0;
|
||||
|
||||
virtual void HandleDiagnostic(Diagnostic::Level DiagLevel,
|
||||
const DiagnosticInfo &Info);
|
||||
|
@ -181,7 +181,7 @@ private:
|
|||
PathDiagnosticPiece& operator=(const PathDiagnosticPiece &P);
|
||||
|
||||
protected:
|
||||
PathDiagnosticPiece(llvm::StringRef s, Kind k, DisplayHint hint = Below);
|
||||
PathDiagnosticPiece(StringRef s, Kind k, DisplayHint hint = Below);
|
||||
|
||||
PathDiagnosticPiece(Kind k, DisplayHint hint = Below);
|
||||
|
||||
|
@ -242,7 +242,7 @@ private:
|
|||
PathDiagnosticLocation Pos;
|
||||
public:
|
||||
PathDiagnosticSpotPiece(const PathDiagnosticLocation &pos,
|
||||
llvm::StringRef s,
|
||||
StringRef s,
|
||||
PathDiagnosticPiece::Kind k,
|
||||
bool addPosRange = true)
|
||||
: PathDiagnosticPiece(s, k), Pos(pos) {
|
||||
|
@ -261,7 +261,7 @@ class PathDiagnosticEventPiece : public PathDiagnosticSpotPiece {
|
|||
|
||||
public:
|
||||
PathDiagnosticEventPiece(const PathDiagnosticLocation &pos,
|
||||
llvm::StringRef s, bool addPosRange = true)
|
||||
StringRef s, bool addPosRange = true)
|
||||
: PathDiagnosticSpotPiece(pos, s, Event, addPosRange) {}
|
||||
|
||||
~PathDiagnosticEventPiece();
|
||||
|
@ -276,7 +276,7 @@ class PathDiagnosticControlFlowPiece : public PathDiagnosticPiece {
|
|||
public:
|
||||
PathDiagnosticControlFlowPiece(const PathDiagnosticLocation &startPos,
|
||||
const PathDiagnosticLocation &endPos,
|
||||
llvm::StringRef s)
|
||||
StringRef s)
|
||||
: PathDiagnosticPiece(s, ControlFlow) {
|
||||
LPairs.push_back(PathDiagnosticLocationPair(startPos, endPos));
|
||||
}
|
||||
|
@ -373,19 +373,19 @@ class PathDiagnostic : public llvm::FoldingSetNode {
|
|||
public:
|
||||
PathDiagnostic();
|
||||
|
||||
PathDiagnostic(llvm::StringRef bugtype, llvm::StringRef desc,
|
||||
llvm::StringRef category);
|
||||
PathDiagnostic(StringRef bugtype, StringRef desc,
|
||||
StringRef category);
|
||||
|
||||
~PathDiagnostic();
|
||||
|
||||
llvm::StringRef getDescription() const { return Desc; }
|
||||
llvm::StringRef getBugType() const { return BugType; }
|
||||
llvm::StringRef getCategory() const { return Category; }
|
||||
StringRef getDescription() const { return Desc; }
|
||||
StringRef getBugType() const { return BugType; }
|
||||
StringRef getCategory() const { return Category; }
|
||||
|
||||
typedef std::deque<std::string>::const_iterator meta_iterator;
|
||||
meta_iterator meta_begin() const { return OtherDesc.begin(); }
|
||||
meta_iterator meta_end() const { return OtherDesc.end(); }
|
||||
void addMeta(llvm::StringRef s) { OtherDesc.push_back(s); }
|
||||
void addMeta(StringRef s) { OtherDesc.push_back(s); }
|
||||
|
||||
PathDiagnosticLocation getLocation() const {
|
||||
assert(Size > 0 && "getLocation() requires a non-empty PathDiagnostic.");
|
||||
|
|
|
@ -405,7 +405,7 @@ private:
|
|||
|
||||
std::vector<CheckDeclFunc> BodyCheckers;
|
||||
|
||||
typedef llvm::SmallVector<CheckDeclFunc, 4> CachedDeclCheckers;
|
||||
typedef SmallVector<CheckDeclFunc, 4> CachedDeclCheckers;
|
||||
typedef llvm::DenseMap<unsigned, CachedDeclCheckers> CachedDeclCheckersMapTy;
|
||||
CachedDeclCheckersMapTy CachedDeclCheckersMap;
|
||||
|
||||
|
@ -439,7 +439,7 @@ private:
|
|||
};
|
||||
friend struct llvm::DenseMapInfo<CachedStmtCheckersKey>;
|
||||
|
||||
typedef llvm::SmallVector<CheckStmtFunc, 4> CachedStmtCheckers;
|
||||
typedef SmallVector<CheckStmtFunc, 4> CachedStmtCheckers;
|
||||
typedef llvm::DenseMap<CachedStmtCheckersKey, CachedStmtCheckers>
|
||||
CachedStmtCheckersMapTy;
|
||||
CachedStmtCheckersMapTy CachedStmtCheckersMap;
|
||||
|
@ -476,7 +476,7 @@ private:
|
|||
std::vector<CheckEndOfTranslationUnit> EndOfTranslationUnitCheckers;
|
||||
|
||||
struct EventInfo {
|
||||
llvm::SmallVector<CheckEventFunc, 4> Checkers;
|
||||
SmallVector<CheckEventFunc, 4> Checkers;
|
||||
bool HasDispatcher;
|
||||
EventInfo() : HasDispatcher(false) { }
|
||||
};
|
||||
|
|
|
@ -284,7 +284,7 @@ class BranchNodeBuilder {
|
|||
const CFGBlock* DstF;
|
||||
ExplodedNode* Pred;
|
||||
|
||||
typedef llvm::SmallVector<ExplodedNode*,3> DeferredTy;
|
||||
typedef SmallVector<ExplodedNode*,3> DeferredTy;
|
||||
DeferredTy Deferred;
|
||||
|
||||
bool GeneratedTrue;
|
||||
|
@ -426,7 +426,7 @@ protected:
|
|||
CoreEngine &engine;
|
||||
ExplodedNode *pred;
|
||||
ProgramPoint pp;
|
||||
llvm::SmallVector<ExplodedNode*, 2> sinksGenerated;
|
||||
SmallVector<ExplodedNode*, 2> sinksGenerated;
|
||||
|
||||
ExplodedNode *generateNodeImpl(const GRState *state, ExplodedNode *pred,
|
||||
ProgramPoint programPoint, bool asSink);
|
||||
|
@ -445,7 +445,7 @@ public:
|
|||
return engine.WList->getBlockCounter();
|
||||
}
|
||||
|
||||
const llvm::SmallVectorImpl<ExplodedNode*> &sinks() const {
|
||||
const SmallVectorImpl<ExplodedNode*> &sinks() const {
|
||||
return sinksGenerated;
|
||||
}
|
||||
};
|
||||
|
|
|
@ -97,7 +97,7 @@ public:
|
|||
|
||||
Environment removeDeadBindings(Environment Env,
|
||||
SymbolReaper &SymReaper, const GRState *ST,
|
||||
llvm::SmallVectorImpl<const MemRegion*>& RegionRoots);
|
||||
SmallVectorImpl<const MemRegion*>& RegionRoots);
|
||||
};
|
||||
|
||||
} // end GR namespace
|
||||
|
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче