aboutsummaryrefslogtreecommitdiff
path: root/odb/pragma.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-09-22 20:01:05 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-09-22 20:01:05 +0200
commit8b9a887632d4599390ec48d3265ed284eb7a1005 (patch)
tree9a82f745597a224513aae8035659b5c2ae3ebfcd /odb/pragma.cxx
parentdeb66e801114f0da21c4e381a6d9864b9dd779fe (diff)
Handle pragmas for fundamental types and template instantiations
Use main type variant as a key in pragma map.
Diffstat (limited to 'odb/pragma.cxx')
-rw-r--r--odb/pragma.cxx9
1 files changed, 7 insertions, 2 deletions
diff --git a/odb/pragma.cxx b/odb/pragma.cxx
index 771e33e..8226495 100644
--- a/odb/pragma.cxx
+++ b/odb/pragma.cxx
@@ -76,8 +76,13 @@ parse_scoped_name (tree& t,
// Get the actual type if this is a TYPE_DECL.
//
- if (is_type && TREE_CODE (decl) == TYPE_DECL)
- decl = TREE_TYPE (decl);
+ if (is_type)
+ {
+ if (TREE_CODE (decl) == TYPE_DECL)
+ decl = TREE_TYPE (decl);
+
+ decl = TYPE_MAIN_VARIANT (decl);
+ }
return decl;
}