diff --git a/core/org.eclipse.cdt.ui/plugin.properties b/core/org.eclipse.cdt.ui/plugin.properties
index 356cea095b7..191ab498eb4 100644
--- a/core/org.eclipse.cdt.ui/plugin.properties
+++ b/core/org.eclipse.cdt.ui/plugin.properties
@@ -334,6 +334,10 @@ HideUsingDirective.description= Hides using directives
HideMacroDirective.label= Macro directive
HideMacroDirective.description= Hides Macro directives
+HideAnonymousStruct.label= Anonymous structs and enums
+HideAnonymousStruct.navigator.label= C/C++ anonymous structs and enums
+HideAnonymousStruct.description= Hides all anonymous structs and enums
+
ForwardDeclarationFilter.label= Forward declaration
ForwardDeclarationFilter.description= Hides forward declarations, unless found in a header file.
diff --git a/core/org.eclipse.cdt.ui/plugin.xml b/core/org.eclipse.cdt.ui/plugin.xml
index 1a725d0292a..5862843fc1a 100644
--- a/core/org.eclipse.cdt.ui/plugin.xml
+++ b/core/org.eclipse.cdt.ui/plugin.xml
@@ -135,6 +135,14 @@
class="org.eclipse.cdt.internal.ui.filters.NonCElementFilter"
id="org.eclipse.cdt.internal.ui.CView.NonCElementFilter">
+
+
+
+
+
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/filters/AnonymousStructFilter.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/filters/AnonymousStructFilter.java
new file mode 100644
index 00000000000..b2d9ddc8df2
--- /dev/null
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/filters/AnonymousStructFilter.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2011, 2011 Andrew Gvozdev and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Andrew Gvozdev - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.cdt.internal.ui.filters;
+
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerFilter;
+
+import org.eclipse.cdt.internal.core.model.CElement;
+import org.eclipse.cdt.internal.core.model.Enumeration;
+import org.eclipse.cdt.internal.core.model.Structure;
+
+/**
+ * Filters out anonymous structs and enums.
+ */
+public class AnonymousStructFilter extends ViewerFilter {
+ /**
+ * Returns the result of this filter, when applied to the
+ * given inputs.
+ *
+ * @return Returns true if element should be included in filtered set
+ */
+ @Override
+ public boolean select(Viewer viewer, Object parent, Object element) {
+ if (element instanceof Structure || element instanceof Enumeration) {
+ return !((CElement) element).getElementName().isEmpty();
+ }
+ return true;
+ }
+}
\ No newline at end of file