[Bug c++/69560] x86_64: alignof(uint64_t) produces incorrect results with -m32

jason at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Apr 23 20:50:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69560

--- Comment #21 from Jason Merrill <jason at gcc dot gnu.org> ---
Author: jason
Date: Mon Apr 23 20:49:38 2018
New Revision: 259578

URL: https://gcc.gnu.org/viewcvs?rev=259578&root=gcc&view=rev
Log:
        PR c++/69560 - wrong alignof(double) on x86.

        CWG 1879 - Inadequate definition of alignment requirement.
        * cp-tree.h (ALIGNOF_EXPR_STD_P): New.
        * typeck.c (cxx_sizeof_or_alignof_type): Add std_alignof parm.
        (cxx_sizeof_expr, cxx_sizeof_nowarn, cxx_alignas_expr)
        (cxx_alignof_expr): Pass it.
        * parser.c (cp_parser_unary_expression): Pass it.
        * pt.c (tsubst_copy): Copy it.
        (tsubst_copy_and_build): Pass it.
        * decl.c (fold_sizeof_expr): Pass it.

Added:
    trunk/gcc/testsuite/g++.dg/abi/align2.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/decl.c
    trunk/gcc/cp/parser.c
    trunk/gcc/cp/pt.c
    trunk/gcc/cp/typeck.c
    trunk/libcc1/libcp1plugin.cc


More information about the Gcc-bugs mailing list