diff options
Diffstat (limited to 'core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/includes/BindingClassifier.java')
-rw-r--r-- | core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/includes/BindingClassifier.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/includes/BindingClassifier.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/includes/BindingClassifier.java index 2888a80c54c..f4ec8dde397 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/includes/BindingClassifier.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/includes/BindingClassifier.java @@ -74,6 +74,7 @@ import org.eclipse.cdt.core.dom.ast.ICompositeType; import org.eclipse.cdt.core.dom.ast.IEnumeration; import org.eclipse.cdt.core.dom.ast.IFunction; import org.eclipse.cdt.core.dom.ast.IFunctionType; +import org.eclipse.cdt.core.dom.ast.IMacroBinding; import org.eclipse.cdt.core.dom.ast.IParameter; import org.eclipse.cdt.core.dom.ast.IPointerType; import org.eclipse.cdt.core.dom.ast.IProblemBinding; @@ -858,7 +859,11 @@ public class BindingClassifier { for (IASTPreprocessorMacroExpansion macroExpansion : tu.getMacroExpansions()) { IASTPreprocessorMacroDefinition macroDefinition = macroExpansion.getMacroDefinition(); IASTName name = macroDefinition.getName(); - defineBinding(name.getBinding()); + IMacroBinding macroBinding = (IMacroBinding) name.getBinding(); + // Ignore trivial macros like '#define false false' + if (!CharArrayUtils.equals(name.getSimpleID(), macroBinding.getExpansion())) { + defineBinding(macroBinding); + } } return PROCESS_CONTINUE; } |