gcc

~vcs-imports/gcc/+git/gcc:hjl/iamcu/master

Last commit made on 2015-06-30
Get this branch:
git clone -b hjl/iamcu/master https://git.launchpad.net/~vcs-imports/gcc/+git/gcc

Branch merges

Branch information

Name:
hjl/iamcu/master
Repository:
lp:~vcs-imports/gcc/+git/gcc

Recent commits

cf73412... by hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>

IA MCU psABI support: testsuite

We run Intel MCU psABI tests on Linux/ia32 with -miamcu. Since Intel
MCU psABI has a different calling convention, the only Linux libc function
allowed is "abort".

asm-support.S contains some support functions as well as a subset of
soft-fp, which is written in assembly with x87 instructions, to provide
intrinsics needed by -miamcu so that Intel MCU psABI tests can run on
Linux.

 * gcc.target/i386/iamcu/abi-iamcu.exp: New file.
 * gcc.target/i386/iamcu/args.h: Likewise.
 * gcc.target/i386/iamcu/asm-support.S: Likewise.
 * gcc.target/i386/iamcu/defines.h: Likewise.
 * gcc.target/i386/iamcu/macros.h: Likewise.
 * gcc.target/i386/iamcu/test_3_element_struct_and_unions.c: Likewise.
 * gcc.target/i386/iamcu/test_basic_64bit_returning.c: Likewise.
 * gcc.target/i386/iamcu/test_basic_alignment.c: Likewise.
 * gcc.target/i386/iamcu/test_basic_array_size_and_align.c: Likewise.
 * gcc.target/i386/iamcu/test_basic_returning.c: Likewise.
 * gcc.target/i386/iamcu/test_basic_sizes.c: Likewise.
 * gcc.target/i386/iamcu/test_basic_struct_size_and_align.c: Likewise.
 * gcc.target/i386/iamcu/test_basic_union_size_and_align.c: Likewise.
 * gcc.target/i386/iamcu/test_bitfields.c: Likewise.
 * gcc.target/i386/iamcu/test_complex_returning.c: Likewise.
 * gcc.target/i386/iamcu/test_passing_floats.c: Likewise.
 * gcc.target/i386/iamcu/test_passing_integers.c: Likewise.
 * gcc.target/i386/iamcu/test_passing_structs.c: Likewise.
 * gcc.target/i386/iamcu/test_passing_structs_and_unions.c: Likewise.
 * gcc.target/i386/iamcu/test_passing_unions.c: Likewise.
 * gcc.target/i386/iamcu/test_struct_returning.c: Likewise.
 * gcc.target/i386/iamcu/test_varargs.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225199 138bc75d-0d04-0410-961f-82ee72b054a4

146896e... by hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>

IA MCU psABI support: changes to libraries

Patch in the bottom adds support of IA MCU psABI to libgcc (enables
soft-fp) and libdecnumber (enables it for IA MCU).

config/

 * dfp.m4 (enable_decimal_float): Also set to yes for
 i?86*-*-elfiamcu target.

gcc/

 * configure: Regenerated.

libdecnumber/

 * configure: Regenerated.

libgcc/

 * config.host: Support i[34567]86-*-elfiamcu target.
 * config/t-softfp-sfdftf: New file.
 * config/i386/32/t-iamcu: Likewise.
 * configure: Regenerated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225198 138bc75d-0d04-0410-961f-82ee72b054a4

1c26a2e... by hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>

IA MCU psABI support: GCC changes

This patch introduces basic IA MCU psABI support into GCC.

 * configure.ac (ospace_frag): Enable for i?86*-*-elfiamcu
 target.
 * configure: Regenerate.

gcc/

 * config.gcc: Support i[34567]86-*-elfiamcu target.
 * config/i386/iamcu.h: New.
 * config/i386/i386.opt: Add -miamcu.
 * doc/invoke.texi: Document -miamcu.
 * common/config/i386/i386-common.c (ix86_handle_option): Turn
 off x87/MMX/SSE/AVX codegen for -miamcu.
 * config/i386/i386-c.c (ix86_target_macros_internal): Define
 __iamcu/__iamcu__ for -miamcu.
 * config/i386/i386.h (PREFERRED_STACK_BOUNDARY_DEFAULT): Set
 to MIN_STACK_BOUNDARY if TARGET_IAMCU is true.
 (BIGGEST_ALIGNMENT): Set to 32 if TARGET_IAMCU is true.
 * config/i386/i386.c (ix86_option_override_internal): Ignore and
 warn -mregparm for Intel MCU. Turn on -mregparm=3 for Intel
 MCU by default. Default long double to 64-bit for Intel MCU.
 Turn on -freg-struct-return for Intel MCU. Issue an error when
 -miamcu is used in 64-bit or x32 mode or if x87, MMX, SSE or
 AVX is turned on.
 (function_arg_advance_32): Pass value whose size is no larger
 than 8 bytes in registers for Intel MCU.
 (function_arg_32): Likewise.
 (ix86_return_in_memory): Return value whose size is no larger
 than 8 bytes in registers for Intel MCU.
 (iamcu_alignment): New function.
 (ix86_data_alignment): Call iamcu_alignment if TARGET_IAMCU is
 true.
 (ix86_local_alignment): Don't increase alignment for Intel MCU.
 (x86_field_alignment): Return iamcu_alignment if TARGET_IAMCU is
 true.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225197 138bc75d-0d04-0410-961f-82ee72b054a4

754e086... by mpolacek <mpolacek@138bc75d-0d04-0410-961f-82ee72b054a4>

 * match.pd (~x | x): Don't use tree_nop_conversion_p. Build
 the final expression with the operand's type and then convert
 it to the type of the expression.

 * gcc.dg/fold-ior-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225196 138bc75d-0d04-0410-961f-82ee72b054a4

48bd2be... by mpolacek <mpolacek@138bc75d-0d04-0410-961f-82ee72b054a4>

 * match.pd (X - (X / Y) * Y): Use convert1 and convert2. Convert
 both operands of the resulting expression.

 * gcc.dg/fold-minus-6.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225195 138bc75d-0d04-0410-961f-82ee72b054a4

6870ed4... by vries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>

Run testsuite/libgomp.oacc-c++/c++.exp at -O2 by default

2015-06-30 Tom de Vries <email address hidden>

 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
 already set. Use DEFAULT_CFLAGS in dg-runtest.
 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
 "-O2".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225194 138bc75d-0d04-0410-961f-82ee72b054a4

02b9d35... by jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>

 PR debug/66653
 * decl2.c (is_late_template_attribute): True for tls_model.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225193 138bc75d-0d04-0410-961f-82ee72b054a4

800478e... by jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>

 PR debug/66653
 * cp-tree.h (CP_DECL_THREAD_LOCAL_P): New.
 (DECL_GNU_TLS_P): Use DECL_LANG_SPECIFIC field.
 (SET_DECL_GNU_TLS_P): New.
 * call.c (make_temporary_var_for_ref_to_temp): Use
 CP_DECL_THREAD_LOCAL_P.
 (set_up_extended_ref_temp): Likewise.
 * decl.c (duplicate_decls, expand_static_init): Likewise.
 (redeclaration_error_message, grokvardecl): Likewise.
 (start_decl, register_dtor_fn, grokdeclarator): Likewise.
 * decl2.c (get_guard, var_needs_tls_wrapper): Likewise.
 (handle_tls_init): Likewise.
 * pt.c (tsubst_decl, tsubst_copy_and_build): Likewise.
 * semantics.c (finish_id_expression): Likewise.
 (handle_omp_array_sections_1, finish_omp_clauses): Likewise.
 (finish_omp_threadprivate): Likewise.
 * tree.c (decl_storage_duration): Likewise.
 * cp-gimplify.c (omp_var_to_track): Likewise.
 (cp_genericize_r): Check that it matches DECL_THREAD_LOCAL_P.
 * lex.c (retrofit_lang_decl): Return if DECL_LANG_SPECIFIC is
 already set.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225192 138bc75d-0d04-0410-961f-82ee72b054a4

f01bcbf... by redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>

 * doc/Makefile.am (stamp-pdf-doxygen): Grep for LaTeX errors in log.
 * doc/Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225191 138bc75d-0d04-0410-961f-82ee72b054a4

376fa1e... by redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>

 * include/bits/stl_pair.h: Replace class keyword with typename.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225190 138bc75d-0d04-0410-961f-82ee72b054a4