aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/class.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index 612e0ac..793e5fc 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -3456,8 +3456,10 @@ finish_struct_1 (t)
if (DECL_MUTABLE_P (x) || TYPE_HAS_MUTABLE_P (type))
has_mutable = 1;
- if (! pod_type_p (type) || TYPE_PTRMEM_P (type)
- || TYPE_PTRMEMFUNC_P (type))
+ if (! pod_type_p (type)
+ /* For some reason, pointers to members are POD types themselves,
+ but are not allowed in POD structs. Silly. */
+ || TYPE_PTRMEM_P (type) || TYPE_PTRMEMFUNC_P (type))
non_pod_class = 1;
/* If any field is const, the structure type is pseudo-const. */