aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/tree.c3
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/g++.dg/ext/packed3.C2
4 files changed, 10 insertions, 4 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 0680fed..180c926 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2006-01-11 Nathan Sidwell <nathan@codesourcery.com>
+
+ * tree.c (lvalue_p_1): Any part of a COMPONENT_REF affects
+ packedness.
+
2006-01-06 Gabriel Dos Reis <gdr@integrablesolutions.net>
* parser.c (cp_parser_primary_expression): Document the grammar
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
index df59f50..96b461c 100644
--- a/gcc/cp/tree.c
+++ b/gcc/cp/tree.c
@@ -87,9 +87,6 @@ lvalue_p_1 (tree ref,
case COMPONENT_REF:
op1_lvalue_kind = lvalue_p_1 (TREE_OPERAND (ref, 0),
treat_class_rvalues_as_lvalues);
- /* In an expression of the form "X.Y", the packed-ness of the
- expression does not depend on "X". */
- op1_lvalue_kind &= ~clk_packed;
/* Look at the member designator. */
if (!op1_lvalue_kind
/* The "field" can be a FUNCTION_DECL or an OVERLOAD in some
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 202512c..efd6594e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2006-01-11 Nathan Sidwell <nathan@codesourcery.com>
+
+ * g++.dg/ext/packed3.C: Add expected packed error.
+
2006-01-11 Hans-Peter Nilsson <hp@axis.com>
PR target/25706
diff --git a/gcc/testsuite/g++.dg/ext/packed3.C b/gcc/testsuite/g++.dg/ext/packed3.C
index 3494ff4..880b5d9 100644
--- a/gcc/testsuite/g++.dg/ext/packed3.C
+++ b/gcc/testsuite/g++.dg/ext/packed3.C
@@ -20,6 +20,6 @@ struct __attribute__ ((packed)) Packed
void Foo (Packed &p)
{
Ref (p.i); // { dg-error "cannot bind packed field" "" { target { ! default_packed } } }
- Ref (p.u.i);
+ Ref (p.u.i); // { dg-error "cannot bind packed field" "" { target { ! default_packed } } }
Ref (p.u); // { dg-error "cannot bind packed field" "" { target { ! default_packed } } }
}