------- Comment #8 from hjl at gcc dot gnu dot org  2009-02-18 02:16 -------
Subject: Bug 39082

Author: hjl
Date: Wed Feb 18 02:16:03 2009
New Revision: 144257

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=144257
Log:
gcc/

2009-02-17  H.J. Lu  <hongjiu...@intel.com>

        PR target/39082
        * c.opt (Wabi): Support C and ObjC.
        (Wpsabi): New.

        * c-opts.c (c_common_handle_option): Handle OPT_Wabi.

        * config/i386/i386.c (classify_argument): Warn once about the ABI
        change when passing union with long double.

        * doc/invoke.texi: Update -Wabi for warning psABI changes.

gcc/testsuite/

2009-02-17  H.J. Lu  <hongjiu...@intel.com>

        PR target/39082
        * g++.dg/compat/struct-layout-1_generate.c (dg_options): Add
        -Wno-abi for x86.
        * gcc.dg/compat/struct-layout-1_generate.c (dg_options): Likewise.

        * gcc.target/i386/pr39082-1.c: New.

        * gcc.target/x86_64/abi/abi-x86_64.exp (additional_flags): Add
        -Wno-abi.

        * gcc.target/x86_64/abi/args.h (XMM_T): Add _m64 and _m128 if
        CHECK_M64_M128 is defined.
        (check_f_arguments): Add "do".
        (check_vector_arguments): New.
        (check_m64_arguments): Likewise.
        (check_m128_arguments): Likewise.

        * gcc.target/x86_64/abi/defines.h: Include <xmmintrin.h>.
        (CHECK_M64_M128): Define.

        * gcc.target/x86_64/abi/test_m64m128_returning.c: New.  Based
        on abitest.
        * gcc.target/x86_64/abi/test_passing_m64m128.c: Likewise.

        * gcc.target/x86_64/abi/test_passing_structs.c: Define __m128
        tests only if CHECK_M64_M128 is defined.

        * gcc.target/x86_64/abi/test_passing_structs.c (m128_struct): New.
        (m128_2_struct): Likewise.
        (check_struct_passing5): Likewise.
        (check_struct_passing6): Likewise.
        (main): Test struct with __m128 if CHECK_M64_M128 is defined.

        * gcc.target/x86_64/abi/test_passing_unions.c (un4): New.
        (un5): Likewise.
        (check_union_passing4): Likewise.
        (main): Test union with __m128 if CHECK_M64_M128 is defined.

Added:
    trunk/gcc/testsuite/gcc.target/i386/pr39082-1.c
    trunk/gcc/testsuite/gcc.target/x86_64/abi/test_m64m128_returning.c
    trunk/gcc/testsuite/gcc.target/x86_64/abi/test_passing_m64m128.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/c-opts.c
    trunk/gcc/c.opt
    trunk/gcc/config/i386/i386.c
    trunk/gcc/doc/invoke.texi
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c
    trunk/gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c
    trunk/gcc/testsuite/gcc.target/x86_64/abi/abi-x86_64.exp
    trunk/gcc/testsuite/gcc.target/x86_64/abi/args.h
    trunk/gcc/testsuite/gcc.target/x86_64/abi/defines.h
    trunk/gcc/testsuite/gcc.target/x86_64/abi/test_passing_structs.c
    trunk/gcc/testsuite/gcc.target/x86_64/abi/test_passing_unions.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39082

Reply via email to