зеркало из https://github.com/microsoft/clang-1.git
rename "virtual location" of a macro to "instantiation location".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62315 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
0c21e84b82
Коммит
88054dee04
|
@ -437,7 +437,7 @@ source code of the program. Important design points include:</p>
|
|||
|
||||
<p>In practice, the SourceLocation works together with the SourceManager class
|
||||
to encode two pieces of information about a location: it's spelling location
|
||||
and it's virtual location. For most tokens, these will be the same. However,
|
||||
and it's instantiation location. For most tokens, these will be the same. However,
|
||||
for a macro expansion (or tokens that came from a _Pragma directive) these will
|
||||
describe the location of the characters corresponding to the token and the
|
||||
location where the token was used (i.e. the macro instantiation point or the
|
||||
|
|
|
@ -187,9 +187,9 @@ namespace SrcMgr {
|
|||
/// the token came from. An actual macro SourceLocation stores deltas from
|
||||
/// these positions.
|
||||
class MacroIDInfo {
|
||||
SourceLocation VirtualLoc, SpellingLoc;
|
||||
SourceLocation InstantiationLoc, SpellingLoc;
|
||||
public:
|
||||
SourceLocation getVirtualLoc() const { return VirtualLoc; }
|
||||
SourceLocation getInstantiationLoc() const { return InstantiationLoc; }
|
||||
SourceLocation getSpellingLoc() const { return SpellingLoc; }
|
||||
|
||||
/// get - Return a MacroID for a macro expansion. VL specifies
|
||||
|
@ -198,7 +198,7 @@ namespace SrcMgr {
|
|||
/// come from). Both VL and PL refer to normal File SLocs.
|
||||
static MacroIDInfo get(SourceLocation VL, SourceLocation SL) {
|
||||
MacroIDInfo X;
|
||||
X.VirtualLoc = VL;
|
||||
X.InstantiationLoc = VL;
|
||||
X.SpellingLoc = SL;
|
||||
return X;
|
||||
}
|
||||
|
@ -384,7 +384,7 @@ public:
|
|||
// File locations work.
|
||||
if (Loc.isFileID()) return Loc;
|
||||
|
||||
return MacroIDs[Loc.getMacroID()].getVirtualLoc();
|
||||
return MacroIDs[Loc.getMacroID()].getInstantiationLoc();
|
||||
}
|
||||
|
||||
/// getSpellingLoc - Given a SourceLocation object, return the spelling
|
||||
|
|
|
@ -2488,6 +2488,7 @@ QualType ASTContext::mergeTypes(QualType LHS, QualType RHS) {
|
|||
//===----------------------------------------------------------------------===//
|
||||
// Integer Predicates
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
unsigned ASTContext::getIntWidth(QualType T) {
|
||||
if (T == BoolTy)
|
||||
return 1;
|
||||
|
|
|
@ -166,7 +166,7 @@ SourceLocation SourceManager::getInstantiationLoc(SourceLocation SpellingLoc,
|
|||
|
||||
// The instanitation point and source SpellingLoc have to exactly match to
|
||||
// reuse (for now). We could allow "nearby" instantiations in the future.
|
||||
if (LastOne.getVirtualLoc() != InstantLoc ||
|
||||
if (LastOne.getInstantiationLoc() != InstantLoc ||
|
||||
LastOne.getSpellingLoc().getFileID() != SpellingLoc.getFileID())
|
||||
continue;
|
||||
|
||||
|
@ -480,13 +480,13 @@ FileIDInfo FileIDInfo::ReadVal(llvm::Deserializer& D) {
|
|||
}
|
||||
|
||||
void MacroIDInfo::Emit(llvm::Serializer& S) const {
|
||||
S.Emit(VirtualLoc);
|
||||
S.Emit(InstantiationLoc);
|
||||
S.Emit(SpellingLoc);
|
||||
}
|
||||
|
||||
MacroIDInfo MacroIDInfo::ReadVal(llvm::Deserializer& D) {
|
||||
MacroIDInfo I;
|
||||
I.VirtualLoc = SourceLocation::ReadVal(D);
|
||||
I.InstantiationLoc = SourceLocation::ReadVal(D);
|
||||
I.SpellingLoc = SourceLocation::ReadVal(D);
|
||||
return I;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче