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();