Bug 535557 - Avoid setting a null lookup point in SizeofCalculator.sizeAndAlignment()
Change-Id: I50974c7b74ef511aae96e2ce2a9a3b96ecbdb594
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/SizeofCalculator.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/SizeofCalculator.java
index 3943258..699d450 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/SizeofCalculator.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/SizeofCalculator.java
@@ -291,7 +291,9 @@
int maxAlignment = 1;
IField[] fields;
if (type instanceof ICPPClassType) {
- CPPSemantics.pushLookupPoint(ast);
+ if (ast != null) {
+ CPPSemantics.pushLookupPoint(ast);
+ }
try {
ICPPClassType classType = (ICPPClassType) type;
for (ICPPBase base : classType.getBases()) {
@@ -315,7 +317,9 @@
}
fields = classType.getDeclaredFields();
} finally {
- CPPSemantics.popLookupPoint();
+ if (ast != null) {
+ CPPSemantics.popLookupPoint();
+ }
}
} else {
fields = type.getFields();