1. 30 Jun, 2015 34 commits
    • PR jit/66628: add gcc_jit_context_add_command_line_option · fa22c20d
      gcc/jit/ChangeLog:
      	PR jit/66628
      	* docs/cp/topics/contexts.rst (Additional command-line options):
      	New section.
      	* docs/topics/compatibility.rst: New file.
      	* docs/topics/contexts.rst (Additional command-line options): New
      	section.
      	* docs/topics/index.rst: Add compatibility.rst.
      	* docs/_build/texinfo/libgccjit.texi: Regenerate.
      	* jit-playback.c (make_fake_args): Add call to
      	append_command_line_options.
      	* jit-recording.c: Within namespace gcc::jit...
      	(recording::context::~context): Free the optnames within
      	m_command_line_options.
      	(recording::context::set_bool_option): Likewise.
      	(recording::context::add_command_line_option): New method.
      	(recording::context::append_command_line_options): New method.
      	(recording::context::dump_reproducer_to_file): Add command-line
      	options.
      	* jit-recording.h: Within namespace gcc::jit...
      	(recording::context::add_command_line_option): New method.
      	(recording::context::append_command_line_options): New method.
      	(recording::context::m_command_line_options): New field.
      	* libgccjit++.h (gccjit::context::add_command_line_option): New
      	method.
      	* libgccjit.c (gcc_jit_context_add_command_line_option): New API
      	entrypoint.
      	* libgccjit.h (gcc_jit_context_add_command_line_option): New API
      	entrypoint.
      	(LIBGCCJIT_HAVE_gcc_jit_context_add_command_line_option): New
      	macro.
      	* libgccjit.map: Put existing symbols within LIBGCCJIT_ABI_0; add
      	LIBGCCJIT_ABI_1 and gcc_jit_context_add_command_line_option.
      
      gcc/testsuite/ChangeLog:
      	PR jit/66628
      	* jit.dg/all-non-failing-tests.h: Add note about
      	test-extra-options.c.
      	* jit.dg/test-extra-options.c: New testcase.
      
      From-SVN: r225205
      David Malcolm committed
    • fixes to gcc_jit_context_dump_reproducer_to_file · a6314e15
      gcc/jit/ChangeLog:
      	* jit-recording.c
      	(gcc::jit::recording::context::dump_reproducer_to_file):
      	Add pragma to generated reproducers to disable -Wunused-variable.
      	Fix handling of NULL string options.
      
      From-SVN: r225204
      David Malcolm committed
    • jit: fix some .rst issues in docs · adb6d84b
      gcc/jit/ChangeLog:
      	* docs/cp/topics/expressions.rst: Remove stray semicolon.
      	* docs/cp/topics/functions.rst: Remove stray backslash.
      	* docs/_build/texinfo/libgccjit.texi: Regenerate.
      
      From-SVN: r225203
      David Malcolm committed
    • Add missed test · 633cdd72
      From-SVN: r225201
      Vladimir Makarov committed
    • re PR debug/66691 (ICE on valid code at -O3 with -g enabled in simplify_subreg,… · ef87312e
      re PR debug/66691 (ICE on valid code at -O3 with -g enabled in simplify_subreg, at simplify-rtx.c:5744)
      
      2015-06-30  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR debug/66691
      	* lra-int.h (lra_substitute_pseudo): Add a parameter.
      	(lra_substitute_pseudo_within_insn): Ditto.
      	* lra.c (lra_substitute_pseudo): Add a parameter.  Simplify subreg
      	of constant.
      	(lra_substitute_pseudo_within_insn): Add a parameter.  Transfer it
      	to lra_substitute_pseudo.
      	* lra-lives.c (process_bb_lives): Add an argument to
      	lra_substitute_pseudo_within_insn call.
      	* lra-constraints.c (inherit_reload_reg, split_reg): Add an
      	argument to lra_substitute_pseudo and
      	lra_substitute_pseudo_within_insn calls.
      	(remove_inheritance_pseudos, undo_optional_reloads): Ditto.
      
      2015-06-30  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR debug/66691
      	* gcc.target/i386/pr66691.c: New.
      
      From-SVN: r225200
      Vladimir Makarov committed
    • IA MCU psABI support: testsuite · 8b970b6e
      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.
      
      From-SVN: r225199
      H.J. Lu committed
    • IA MCU psABI support: changes to libraries · cb78b51c
      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.
      
      From-SVN: r225198
      H.J. Lu committed
    • IA MCU psABI support: GCC changes · d9063947
      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.
      
      From-SVN: r225197
      H.J. Lu committed
    • match.pd (~x | x): Don't use tree_nop_conversion_p. · 3db55b2b
      	* 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.
      
      From-SVN: r225196
      Marek Polacek committed
    • match.pd (X - (X / Y) * Y): Use convert1 and convert2. · d3bc1d1b
      	* 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.
      
      From-SVN: r225195
      Marek Polacek committed
    • Run testsuite/libgomp.oacc-c++/c++.exp at -O2 by default · b451c271
      2015-06-30  Tom de Vries  <tom@codesourcery.com>
      
      	* 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".
      
      From-SVN: r225194
      Tom de Vries committed
    • re PR debug/66653 (ice in gen_type_die_with_usage, at dwarf2out.c:20876) · 47297e51
      	PR debug/66653
      	* decl2.c (is_late_template_attribute): True for tls_model.
      
      From-SVN: r225193
      Jason Merrill committed
    • re PR debug/66653 (ice in gen_type_die_with_usage, at dwarf2out.c:20876) · 3048c0c7
      	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.
      
      From-SVN: r225192
      Jason Merrill committed
    • Makefile.am (stamp-pdf-doxygen): Grep for LaTeX errors in log. · 5ea37bca
      	* doc/Makefile.am (stamp-pdf-doxygen): Grep for LaTeX errors in log.
      	* doc/Makefile.in: Regenerate.
      
      From-SVN: r225191
      Jonathan Wakely committed
    • Implement N4387, "Improving pair and tuple", and LWG 2367. · bf7818bf
      2015-06-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
      
      	Implement N4387, "Improving pair and tuple", and LWG 2367.
      
      	* include/bits/stl_pair.h (_ConstructiblePair,
      	_ImplicitlyConvertiblePair, _MoveConstructiblePair,
      	_ImplicitlyMoveConvertiblePair): New.
      	(pair()): Constrain it.
      	(pair(const _T1&, const _T2&), pair(const pair<_U1, _U2>&),
      	pair(_U1&&, const _T2&), pair(const _T1&, _U2&&), pair(_U1&&, _U2&&),
      	pair(pair<_U1, _U2>&&)): Make conditionally explicit.
      	* include/std/tuple (_TC, tuple::_TC2, tuple::TCC, tuple::TMC): New.
      	(tuple()): Constrain it.
      	(tuple(const _UElements&...), tuple(_UElements&&...),
      	tuple(const tuple<_UElements...>&), tuple(tuple<_UElements...>&&),
      	tuple(allocator_arg_t, const _Alloc&, const _UElements&...),
      	tuple(allocator_arg_t, const _Alloc&, _UElements&&...),
      	tuple(allocator_arg_t, const _Alloc&, const tuple<_UElements...>&),
      	tuple(allocator_arg_t, const _Alloc&, tuple<_UElements...>&&),
      	tuple(const pair<_U1, _U2>&), tuple(pair<_U1, _U2>&&),
      	tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&),
      	tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&)): Make
      	conditionally explicit.
      	* include/experimental/functional (__boyer_moore_array_base): Name
      	array type explicitly instead of using an empty braced-init-list.
      	* testsuite/20_util/pair/cons/explicit_construct.cc: New.
      	* testsuite/20_util/pair/piecewise.cc: Use piecewise_construct.
      	* testsuite/20_util/pair/requirements/dr2367.cc: New.
      	* testsuite/20_util/tuple/cons/explicit_construct.cc: New.
      	* testsuite/20_util/tuple/requirements/dr2367.cc: New.
      
      From-SVN: r225189
      Ville Voutilainen committed
    • Implement N4197 - Adding u8 character literals · fe95b036
      
      
      libcpp:
      
      2015-06-30  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	Implement N4197 - Adding u8 character literals
      	* include/cpplib.h (UTF8CHAR, UTF8CHAR_USERDEF): New cpp tokens;
      	(struct cpp_options): Add utf8_char_literals.
      	* init.c (struct lang_flags): Add utf8_char_literals;
      	(struct lang_flags lang_defaults): Add column for utf8_char_literals.
      	* macro.c (stringify_arg()): Treat CPP_UTF8CHAR token; 
      	* expr.c (cpp_userdef_char_remove_type(), cpp_userdef_char_add_type()):
      	Treat CPP_UTF8CHAR_USERDEF, CPP_UTF8CHAR tokens;
      	(cpp_userdef_char_p()): Treat CPP_UTF8CHAR_USERDEF token;
      	(eval_token(), _cpp_parse_expr()): Treat CPP_UTF8CHAR token.
      	* lex.c (lex_string(), _cpp_lex_direct()): Include CPP_UTF8CHAR tokens.
      	* charset.c (converter_for_type(), cpp_interpret_charconst()):
      	Treat CPP_UTF8CHAR token.
      
      
      gcc/c-family:
      
      2015-06-30  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	Implement N4197 - Adding u8 character literals
      	* c-family/c-ada-spec.c (print_ada_macros()): Treat CPP_UTF8CHAR
      	like CPP_CHAR.
      	* c-family/c-common.c (c_parse_error()): print CPP_UTF8CHAR
      	and CPP_UTF8CHAR_USERDEF tokens.
      	* c-family/c-lex.c (c_lex_with_flags()): Treat CPP_UTF8CHAR_USERDEF
      	and CPP_UTF8CHAR tokens; (lex_charconst()): Treat CPP_UTF8CHAR token.
      
      
      gcc/cp:
      
      2015-06-30  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	Implement N4197 - Adding u8 character literals
      	* parser.c (cp_parser_primary_expression()): Treat CPP_UTF8CHAR
      	and CPP_UTF8CHAR_USERDEF tokens;
      	(cp_parser_parenthesized_expression_list()): Treat CPP_UTF8CHAR token.
      
      
      gcc/testsuite:
      
      2015-06-30  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	Implement N4197 - Adding u8 character literals
      	* g++.dg/cpp1z/utf8.C: New.
      	* g++.dg/cpp1z/utf8-neg.C: New.
      	* g++.dg/cpp1z/udlit-utf8char.C: New.
      
      From-SVN: r225185
      Edward Smith-Rowland committed
    • fold-const.c (fold_binary_loc): Move ~x & ~y -> ~(x | y) and ~x | ~y -> ~(x & y)... · 5b00d921
      2015-06-30  Richard Biener  <rguenther@suse.de>
      
      	* fold-const.c (fold_binary_loc): Move ~x & ~y -> ~(x | y) and
      	~x | ~y -> ~(x & y), (x & CST) ^ (x & CST2) -> (x & CST) | (x & CST2),
      	(X | Y) ^ X -> Y & ~ X, ~X ^ ~Y to X ^ Y and ~X ^ C to X ^ ~C ...
      	* match.pd: ... to patterns here.
      
      From-SVN: r225184
      Richard Biener committed
    • * configure: Regenerate. · d6280855
      From-SVN: r225183
      Jonathan Wakely committed
    • re PR tree-optimization/66704 (ICE in tree-vectorizer at tree-ssanames.c:457) · b89dfa17
      2015-06-30  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/66704
      	* tree-vect-data-refs.c (vect_setup_realignment): Use
      	make_ssa_name for non-SSA name source.
      
      From-SVN: r225182
      Richard Biener committed
    • Run testsuite/libgomp.c++/c++.exp at -O2 by default · f8e89d9f
      2015-06-30  Tom de Vries  <tom@codesourcery.com>
      
      	* testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
      	already set.  Use DEFAULT_CFLAGS in dg-runtest.
      	* testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
      	* testsuite/libgomp.c++/pr64824.C: Same.
      	* testsuite/libgomp.c++/pr64868.C: Same.
      	* testsuite/libgomp.c++/pr66199-1.C: Same.
      	* testsuite/libgomp.c++/pr66199-2.C: Same.
      	* testsuite/libgomp.c++/target-2.C: Same.
      	* testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
      	-std=<standard> option.
      	* testsuite/libgomp.c++/udr-11.C: Same.
      	* testsuite/libgomp.c++/udr-12.C: Same.
      	* testsuite/libgomp.c++/udr-13.C: Same.
      	* testsuite/libgomp.c++/udr-14.C: Same.
      	* testsuite/libgomp.c++/udr-15.C: Same.
      	* testsuite/libgomp.c++/udr-16.C: Same.
      	* testsuite/libgomp.c++/udr-17.C: Same.
      	* testsuite/libgomp.c++/udr-18.C: Same.
      	* testsuite/libgomp.c++/udr-19.C: Same.
      	* testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
      	* testsuite/libgomp.c++/simd-1.C: Same.
      	* testsuite/libgomp.c++/simd-2.C: Same.
      	* testsuite/libgomp.c++/simd-3.C: Same.
      	* testsuite/libgomp.c++/simd-4.C: Same.
      	* testsuite/libgomp.c++/simd-5.C: Same.
      	* testsuite/libgomp.c++/simd-6.C: Same.
      	* testsuite/libgomp.c++/simd-7.C: Same.
      	* testsuite/libgomp.c++/simd-8.C: Same.
      	* testsuite/libgomp.c++/simd-9.C: Same.
      	* testsuite/libgomp.c++/simd10.C: Same.
      	* testsuite/libgomp.c++/simd11.C: Same.
      	* testsuite/libgomp.c++/simd12.C: Same.
      	* testsuite/libgomp.c++/simd13.C: Same.
      
      From-SVN: r225181
      Tom de Vries committed
    • re PR middle-end/66702 (#pragma omp declare simd uniform and linear issues) · 3446fe48
      	PR middle-end/66702
      	* omp-low.c (simd_clone_adjust): Handle addressable linear
      	or uniform parameters or non-gimple type uniform parameters.
      
      	* testsuite/libgomp.c++/pr66702-1.C: New test.
      	* testsuite/libgomp.c++/pr66702-2.C: New test.
      
      From-SVN: r225179
      Jakub Jelinek committed
    • fold-const.c (fold_unary_loc): Move abs(abs(x)) -> abs(x)... · b14a9c57
      2015-06-30  Richard Biener  <rguenther@suse.de>
      
      	* fold-const.c (fold_unary_loc): Move abs(abs(x)) -> abs(x),
      	~ (-A) to A - 1, ~ (A - 1) or ~ (A + -1) to -A and some cases of
      	~(X ^ Y) to ~X ^ Y or X ^ ~Y if ~X or ~Y simplify to ...
      	* match.pd: ... here.
      	Add a few cases of A - B -> A + (-B) when B "easily" negates.
      	Move (x & y) | x -> x and friends before
      	(x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2).
      
      From-SVN: r225178
      Richard Biener committed
    • * gcc.dg/fold-ior-2.c (fn4): Swap operands. · ebc30bf9
      From-SVN: r225174
      Marek Polacek committed
    • leon.md (leon_load): Enable for all LEON variants if -mfix-ut699 is not specified. · ce7623ba
      	* config/sparc/leon.md (leon_load): Enable for all LEON variants if
      	-mfix-ut699 is not specified.
      	(leon3_load): Rename into...
      	(ut699_load): ...this.  Enable for all LEON variants if -mfix-ut699
      	is specified.
      
      From-SVN: r225173
      Eric Botcazou committed
    • Add parloops-exit-first-loop-alt-{5,6,7}.c · 8a36714a
      2015-06-30  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.dg/parloops-exit-first-loop-alt-5.c: New test.
      	* gcc.dg/parloops-exit-first-loop-alt-6.c: New test.
      	* gcc.dg/parloops-exit-first-loop-alt-7.c: New test.
      	* gcc.dg/parloops-exit-first-loop-alt.c: Update comment.
      
      	* testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
      	* testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
      	* testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
      	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
      
      From-SVN: r225172
      Tom de Vries committed
    • fold-const.c (fold_binary_loc): Move ~X | X folding ... · a4398a30
      	* fold-const.c (fold_binary_loc): Move ~X | X folding ...
      	* match.pd: ... here.
      
      	* gcc.dg/fold-ior-2.c: New test.
      
      From-SVN: r225164
      Marek Polacek committed
    • target-insns.def (canonicalize_funcptr_for_compare): Add. · 582554e3
      2015-06-30  Richard Biener  <rguenther@suse.de>
      
      	* target-insns.def (canonicalize_funcptr_for_compare): Add.
      	* fold-const.c (build_range_check): Replace uses of
      	HAVE_canonicalize_funcptr_for_compare.
      	(fold_widened_comparison): Likewise.
      	(fold_sign_changed_comparison): Likewise.
      	* dojump.c: Include "target.h".
      	(do_compare_and_jump): Replace uses of
      	HAVE_canonicalize_funcptr_for_compare and
      	gen_canonicalize_funcptr_for_compare.
      	* expr.c (do_store_flag): Likewise.
      
      From-SVN: r225163
      Richard Biener committed
    • Use max_loop_iterations in transform_to_exit_first_loop_alt · 4f75d608
      2015-06-30  Tom de Vries  <tom@codesourcery.com>
      
      	PR tree-optimization/66652
      	* tree-parloops.c (try_transform_to_exit_first_loop_alt): Use
      	max_loop_iterations to determine if nit + 1 overflows.
      
      	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
      	using restrict pointers.
      	(main): Add arguments to calls to f.
      	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
      
      	* gcc.dg/parloops-exit-first-loop-alt-pr66652.c: New test.
      	* gcc.dg/parloops-exit-first-loop-alt-3.c (f):  Rewrite using restrict
      	pointers.
      	* gcc.dg/parloops-exit-first-loop-alt.c: Same.
      
      From-SVN: r225162
      Tom de Vries committed
    • tree-vrp.c (register_edge_assert_for_2): Also register asserts for dominating conversion results. · 4fe65172
      2015-06-30  Richard Biener  <rguenther@suse.de>
      
      	* tree-vrp.c (register_edge_assert_for_2): Also register
      	asserts for dominating conversion results.
      
      From-SVN: r225161
      Richard Biener committed
    • lex.c (search_line_sse42): New main loop using asm flag outputs. · dc6bcf52
      	* lex.c (search_line_sse42) [__GCC_ASM_FLAG_OUTPUTS__]: New main
      	loop using asm flag outputs.
      
      From-SVN: r225160
      Uros Bizjak committed
    • tree-ssa-loop-ivopts.c (record_sub_use): Don't reset ssa_name field in struct iv. · 7e6a6f0d
      
      	* tree-ssa-loop-ivopts.c (record_sub_use): Don't reset ssa_name
      	field in struct iv.
      
      From-SVN: r225159
      Bin Cheng committed
    • re PR target/66509 (the new clang-based assembler in Xcode 7 on 10.11 fails on… · 005f915e
      re PR target/66509 (the new clang-based assembler in Xcode 7 on 10.11 fails on the libjava/java/lang/reflect/natArray.cc file from FSF gcc 5.1 at -m32)
      
      	PR target/66509
      	* configure.ac: Fix filds and fildq test for 64-bit.
      	* configure: Regenerated.
      
      From-SVN: r225158
      Jack Howarth committed
    • Daily bump. · b54a2189
      From-SVN: r225157
      GCC Administrator committed
  2. 29 Jun, 2015 6 commits
    • nvptx.md (nvptx_reorg_subreg): New fn, broken out of ... · 517665b3
      	* config/nvptx/nvptx.md (nvptx_reorg_subreg): New fn, broken out of ...
      	(nvptx_reorg): Here.  Keep the non-subreg pieces.
      
      From-SVN: r225154
      Nathan Sidwell committed
    • re PR c++/65977 (Constexpr should be allowed in declaration of friend template specialization) · 71506d41
      /cp
      2015-06-29  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/65977
      	* decl.c (grokfndecl): Allow constexpr declarations of friend
      	template specializations.
      
      /testsuite
      2015-06-29  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/65977
      	* g++.dg/cpp0x/constexpr-friend-3.C: New.
      	* g++.dg/cpp0x/constexpr-friend-2.C: Adjust.
      
      From-SVN: r225148
      Paolo Carlini committed
    • Use PIE_SPEC/NO_PIE_SPEC for crtend.o/crtendS.o · 9b552079
      We need to link with crtend.o and crtendS.o properly for GCC configured
      to generate PIE by default.
      
      	* config/gnu-user.h (GNU_USER_TARGET_ENDFILE_SPEC): Use
      	PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
      
      From-SVN: r225144
      H.J. Lu committed
    • stl_iterator_base_types.h (_Iter_base): Limit definition to pre-C++11 mode. · 24167c42
      2015-06-29  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/bits/stl_iterator_base_types.h (_Iter_base): Limit definition
      	to pre-C++11 mode.
      	* include/debug/functions.h
      	(__gnu_debug::__valid_range, __gnu_debug::__base): Move...
      	* include/debug/safe_iterator.h
      	(__gnu_debug::_Sequence_traits): New.
      	(__gnu_debug::__get_distance_from_begin): New.
      	(__gnu_debug::__get_distance_to_end): New.
      	(__gnu_debug::_Safe_iterator<>::_M_valid_range): Expose iterator range
      	distance information. Add optional check_dereferenceable parameter,
      	default true.
      	(__gnu_debug::_Distance_precision, __gnu_debug::__get_distance): Move
      	default definition...
      	(__gnu_debug::__get_distance): New overload for _Safe_iterator.
      	(__gnu_debug::__unsafe): Likewise.
      	* include/debug/helper_functions.h: ...here. New.
      	(__gnu_debug::__unsafe): New helper function to remove safe iterator
      	layer.
      	* include/debug/stl_iterator.h: New. Include latter.
      	* include/bits/stl_iterator.h: Include latter in debug mode.
      	* include/debug/stl_iterator.tcc: Adapt.
      	* include/debug/safe_local_iterator.h (__gnu_debug::__get_distance): Add
      	overload for _Safe_local_iterator.
      	(__gnu_debug::__unsafe): Likewise.
      	* include/debug/safe_local_iterator.tcc: Adapt.
      	* include/debug/macros.h (__glibcxx_check_valid_range2): New.
      	(__glibcxx_check_insert_range): Add _Dist parameter.
      	(__glibcxx_check_insert_range_after): Likewise.
      	(__glibcxx_check_string, __glibcxx_check_string_len): Implement using
      	_GLIBCXX_DEBUG_PEDASSERT.
      	* include/debug/deque (deque<>::assign): Remove iterator debug layer
      	when possible.
      	(deque<>::insert): Likewise.
      	* include/debug/forward_list (__glibcxx_check_valid_fl_range): New.
      	(forward_list<>::splice_after): Use latter.
      	(forward_list<>::assign): Remove iterator debug layer when possible.
      	(forward_list<>::insert_after): Likewise.
      	(__gnu_debug::_Sequence_traits<>): Partial specialization.
      	* include/debug/list (list<>::assign): Remove iterator debug layer when
      	possible.
      	(list<>::insert): Likewise.
      	[__gnu_debug::_Sequence_traits<>]: Partial specialization pre C++11 ABI.
      	* include/debug/map.h (map<>::insert): Remove iterator debug layer when
      	possible.
      	* include/debug/multimap.h (multimap<>::insert): Likewise.
      	* include/debug/set.h (set<>::insert): Likewise.
      	* include/debug/multiset.h (multiset<>::insert): Likewise.
      	* include/debug/string (basic_string<>::append, basic_string<>::assign,
      	basic_string<>::insert, basic_string<>::replace): Likewise.
      	* include/debug/unordered_map
      	(unordered_map<>::insert, unordered_multimap<>::insert): Likewise.
      	* include/debug/unordered_set
      	(unordered_set<>::insert, unordered_multiset<>insert): Likewise.
      	* include/debug/vector
      	(vector<>::assign, vector<>::insert): Likewise.
      	* include/Makefile.am: Add new debug headers.
      	* include/Makefile.in: Regenerate.
      
      From-SVN: r225143
      François Dumont committed
    • re PR ada/63310 (Ada bootstrap error with -fcompare-debug) · 755c71fa
      	PR ada/63310
      	* gcc-interface/utils.c (gnat_write_global_declarations): Always
      	build the dummy global variable if code was generated.
      
      From-SVN: r225139
      Eric Botcazou committed
    • i386.md (*jcc_1): Use %! · 94f11af1
      	* config/i386/i386.md (*jcc_1): Use %! in asm template.
      	Set attribute "length_nobnd" instead of "length".
      	(*jcc_2): Ditto.
      	(jump): Ditto.
      	(*jcc_1_bnd, *jcc_2_bnd, jump_bnd): Remove insn patterns.
      
      From-SVN: r225138
      Uros Bizjak committed