From 8792d9d5a6545fb938fe3bc92dc5825ee35c142d Mon Sep 17 00:00:00 2001 From: Nathan Ridge Date: Wed, 6 Jun 2018 09:02:57 -0400 Subject: [PATCH] Bug 535557 - Avoid setting a null lookup point in SizeofCalculator.sizeAndAlignment() Change-Id: I50974c7b74ef511aae96e2ce2a9a3b96ecbdb594 --- .../cdt/internal/core/dom/parser/SizeofCalculator.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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 394325854c5..699d450aa62 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 @@ public class SizeofCalculator { 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 @@ public class SizeofCalculator { } fields = classType.getDeclaredFields(); } finally { - CPPSemantics.popLookupPoint(); + if (ast != null) { + CPPSemantics.popLookupPoint(); + } } } else { fields = type.getFields();