Skip to content

Commit e52cb4c

Browse files
authored
Fix passing enum spec as nttp (#284)
Signed-off-by: acassagnes <acassagnes@bloomberg.net>
1 parent 2a32222 commit e52cb4c

2 files changed

Lines changed: 13 additions & 0 deletions

File tree

clang/lib/AST/APValue.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -587,6 +587,18 @@ static void profileReflection(llvm::FoldingSetNodeID &ID, APValue V) {
587587
ID.AddInteger(TDMS->BitWidth.value());
588588
return;
589589
}
590+
case ReflectionKind::EnumeratorSpec: {
591+
EnumeratorSpec *ES = V.getReflectedEnumeratorSpec();
592+
ID.AddString(ES->name);
593+
ID.AddBoolean(ES->hasValue);
594+
if (ES->hasValue)
595+
ID.AddInteger(ES->val);
596+
for (APValue *Ann : ES->annotations)
597+
Ann->Profile(ID);
598+
for (APValue *Attr : ES->attributes)
599+
Attr->Profile(ID);
600+
return;
601+
}
590602
case ReflectionKind::Object:
591603
case ReflectionKind::Value:
592604
llvm_unreachable("lowered value should never represent a value or object");

clang/lib/AST/ComputeDependence.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1010,6 +1010,7 @@ ExprDependence clang::computeDependence(CXXReflectExpr *E,
10101010
case ReflectionKind::Namespace:
10111011
case ReflectionKind::BaseSpecifier:
10121012
case ReflectionKind::DataMemberSpec:
1013+
case ReflectionKind::EnumeratorSpec:
10131014
case ReflectionKind::Attribute:
10141015
return ExprDependence::None;
10151016
case ReflectionKind::EntityProxy:

0 commit comments

Comments
 (0)