aboutsummaryrefslogtreecommitdiff
path: root/odb
diff options
context:
space:
mode:
Diffstat (limited to 'odb')
-rw-r--r--odb/parser.cxx12
1 files changed, 10 insertions, 2 deletions
diff --git a/odb/parser.cxx b/odb/parser.cxx
index 7286fca..69d9b28 100644
--- a/odb/parser.cxx
+++ b/odb/parser.cxx
@@ -890,15 +890,23 @@ collect (tree ns)
{
case TYPE_DECL:
{
- if (DECL_NAME (decl) != NULL_TREE)
- decls_.insert (decl);
+ // Skip special type declarations.
+ //
+ if (DECL_NAME (decl) == NULL_TREE)
+ continue;
+ tree type (TREE_TYPE (decl));
+ if (LAMBDA_TYPE_P (type))
+ continue;
+
+ decls_.insert (decl);
break;
}
case TEMPLATE_DECL:
{
if (DECL_CLASS_TEMPLATE_P (decl))
decls_.insert (decl);
+
break;
}
default: