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:
Chris Lattner 2011-07-20 06:58:45 +00:00
Родитель 9594675cc1
Коммит 686775deca
120 изменённых файлов: 687 добавлений и 663 удалений

Просмотреть файл

@ -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

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше