diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/MultiMacroExpansionExplorer.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/MultiMacroExpansionExplorer.java index b34bd9ab332..5a7d4b5a535 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/MultiMacroExpansionExplorer.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/MultiMacroExpansionExplorer.java @@ -134,12 +134,15 @@ public class MultiMacroExpansionExplorer extends MacroExpansionExplorer { private void addLocations(IASTPreprocessorMacroDefinition[] defs, final Map result) { for (IASTPreprocessorMacroDefinition def : defs) { - IASTFileLocation loc= def.getFileLocation(); - if (loc != null) { - final IBinding binding= def.getName().getBinding(); - if (binding instanceof IMacroBinding) { - loc= new ASTFileLocation(loc.getFileName(), loc.getNodeOffset(), loc.getNodeLength()); - result.put((IMacroBinding) binding, loc); + IASTName name= def.getName(); + if (name != null) { + IASTFileLocation loc= name.getFileLocation(); + if (loc != null) { + final IBinding binding= name.getBinding(); + if (binding instanceof IMacroBinding) { + loc= new ASTFileLocation(loc.getFileName(), loc.getNodeOffset(), loc.getNodeLength()); + result.put((IMacroBinding) binding, loc); + } } } }