2018-07-12 Richard Biener <rguenther@suse.de>
PR c/86453
* c-attribs.c (handle_packed_attribute): Do not build a variant
type with TYPE_PACKED, instead ignore the attribute if we may
not apply to the original type.
* g++.dg/warn/pr86453.C: New testcase.
From-SVN: r262575
+2018-07-12 Richard Biener <rguenther@suse.de>
+
+ PR c/86453
+ * c-attribs.c (handle_packed_attribute): Do not build a variant
+ type with TYPE_PACKED, instead ignore the attribute if we may
+ not apply to the original type.
+
2018-07-10 Jakub Jelinek <jakub@redhat.com>
PR c++/86443
if (TYPE_P (*node))
{
if (!(flags & (int) ATTR_FLAG_TYPE_IN_PLACE))
- *node = build_variant_type_copy (*node);
- TYPE_PACKED (*node) = 1;
+ {
+ warning (OPT_Wattributes,
+ "%qE attribute ignored for type %qT", name, *node);
+ *no_add_attrs = true;
+ }
+ else
+ TYPE_PACKED (*node) = 1;
}
else if (TREE_CODE (*node) == FIELD_DECL)
{
+2018-07-12 Richard Biener <rguenther@suse.de>
+
+ PR c/86453
+ * g++.dg/warn/pr86453.C: New testcase.
+
2018-07-12 Richard Biener <rguenther@suse.de>
PR middle-end/86479
--- /dev/null
+// { dg-do compile }
+// { dg-additional-options "-flto" { target lto } }
+struct X {
+ int *__attribute__((aligned(2), packed)) a; // { dg-warning "attribute ignored" }
+} b;