This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/32617] explow.c references DECL_ALIGN of a FUNCTION_DECL
- From: "geoffk at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 10 Jul 2007 23:09:06 -0000
- Subject: [Bug bootstrap/32617] explow.c references DECL_ALIGN of a FUNCTION_DECL
- References: <bug-32617-638@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from geoffk at gcc dot gnu dot org 2007-07-10 23:09 -------
Subject: Bug 32617
Author: geoffk
Date: Tue Jul 10 23:08:52 2007
New Revision: 126529
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=126529
Log:
2007-07-09 Geoffrey Keating <geoffk@apple.com>
PR 32617
* c-common.c (c_alignof_expr): Look at DECL_ALIGN of
FUNCTION_DECLs.
(handle_aligned_attribute): Allow use on FUNCTION_DECLs.
* varasm.c (assemble_start_function): Honor DECL_ALIGN
for FUNCTION_DECLs. Don't use align_functions_log if
DECL_USER_ALIGN.
* print-tree.c (print_node): Print DECL_ALIGN and DECL_USER_ALIGN
even for FUNCTION_DECLs.
* c-decl.c (merge_decls): Propagate DECL_ALIGN even for
FUNCTION_DECLs.
* tree.h (DECL_ALIGN): Update for new location of 'align'.
(DECL_FUNCTION_CODE): Update for new location and name of
'function_code'.
(DECL_OFFSET_ALIGN): Update for new location of 'off_align'.
(struct tree_decl_common): Move 'align' and 'off_align' out
of union, ensure they're still on a 32-bit boundary. Remove
other fields in union 'u1'.
(struct tree_function_decl): Add field 'function_code' replacing
'u1.f' in tree_decl_common.
* tree.c (build_decl_stat): Set initial value of DECL_ALIGN.
* doc/extend.texi (Function Attributes): Add 'aligned' attribute.
(Variable Attributes): Cross-reference 'aligned' attribute
to Function Attributes.
* flags.h (force_align_functions_log): Delete.
* toplev.c (force_align_functions_log): Delete.
Index: gcc/testsuite/ChangeLog
2007-07-09 Geoffrey Keating <geoffk@apple.com>
PR 32617
* gcc.c-torture/execute/align-3.c: New.
Index: gcc/java/ChangeLog
2007-07-09 Geoffrey Keating <geoffk@apple.com>
PR 32617
* lang.c (java_init): Remove setting of force_align_functions_log.
* class.c (add_method_1): Set DECL_ALIGN of non-static method
to cope with ptrmemfunc_vbit_in_pfn.
Index: gcc/cp/ChangeLog
2007-07-09 Geoffrey Keating <geoffk@apple.com>
PR 32617
* decl.c (cxx_init_decl_processing): Don't set
force_align_functions_log.
(grokfndecl): Honour ptrmemfunc_vbit_in_pfn.
* typeck.c (cxx_alignof_expr): When alignof is used on a plain
FUNCTION_DECL, return its alignment.
Added:
trunk/gcc/testsuite/gcc.c-torture/execute/align-3.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-common.c
trunk/gcc/c-decl.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/cp/typeck.c
trunk/gcc/doc/extend.texi
trunk/gcc/flags.h
trunk/gcc/java/ChangeLog
trunk/gcc/java/class.c
trunk/gcc/java/lang.c
trunk/gcc/print-tree.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/toplev.c
trunk/gcc/tree.c
trunk/gcc/tree.h
trunk/gcc/varasm.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32617