From 02d7065ff47470c8f5229dafae4a25819aabe523 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Tue, 7 Nov 2017 17:37:29 +0000 Subject: [PATCH] re PR c/53037 (warn_if_not_aligned(X)) PR c/53037 * stor-layout.c: Include attribs.h. (handle_warn_if_not_align): Replace test on TYPE_USER_ALIGN with explicit lookup of "aligned" attribute. From-SVN: r254503 --- gcc/ChangeLog | 7 +++++++ gcc/stor-layout.c | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3af06775113..27d52937dd8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2017-11-07 Eric Botcazou + + PR c/53037 + * stor-layout.c: Include attribs.h. + (handle_warn_if_not_align): Replace test on TYPE_USER_ALIGN with + explicit lookup of "aligned" attribute. + 2017-11-07 Andrew Waterman * config/riscv/riscv-protos.h (riscv_hard_regno_nregs): New diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c index 02739b0ed7f..7730ac33e4f 100644 --- a/gcc/stor-layout.c +++ b/gcc/stor-layout.c @@ -40,6 +40,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-inline.h" #include "dumpfile.h" #include "gimplify.h" +#include "attribs.h" #include "debug.h" /* Data type for the expressions representing sizes of data types. @@ -1106,7 +1107,7 @@ handle_warn_if_not_align (tree field, unsigned int record_align) if (!warn_if_not_align && warn_packed_not_aligned - && TYPE_USER_ALIGN (type)) + && lookup_attribute ("aligned", TYPE_ATTRIBUTES (type))) { warn_if_not_align = TYPE_ALIGN (type); opt_w = OPT_Wpacked_not_aligned; -- 2.30.2