Commit Graph

136219 Commits

Author SHA1 Message Date
Matthew Wahab
ff9eac2965 [PATCH][libstdc++][Testsuite] isctype test fails for newlib.
libstdc++-v3/
2015-02-02  Matthew Wahab  <matthew.wahab@arm.com>

	PR libstdc++/64467
	* testsuite/28_regex/testsuiteraits/char/isctype.cc (test01): Add newlib
	special case for '\n'.
	* test01estsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.

From-SVN: r220392
2015-02-04 09:24:56 +00:00
Ilya Enkovich
283b44f96a varasm.c (do_assemble_alias): Follow transparent alias chain for target.
gcc/

	* varasm.c (do_assemble_alias): Follow transparent alias
	chain for target.
	(default_assemble_visibility): Follow transparent alias
	chain for decl name.

gcc/testsuite/

	* gcc.target/i386/chkp-hidden-def.c: New.

From-SVN: r220391
2015-02-04 08:26:49 +00:00
Thomas Preud'homme
cc9ef6a641 re PR middle-end/62103 (Incorrect folding of bitfield in a union on big endian targets)
2015-02-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR middle-end/62103
    * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
    to compute size of referenced value in the constant case.

    gcc/testsuite/
    PR middle-end/62103
    * gcc.c-torture/execute/bitfld-7.c: New test adapted from bitfld-6.c
    to use 24 bits for bitfield b.

From-SVN: r220390
2015-02-04 08:22:45 +00:00
Thomas Preud'homme
6a5fd0f8c1 re PR testsuite/64796 (effective target bswap64 globally caches target-specific use of lp64)
2015-02-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    PR testsuite/64796
    * lib/target-supports.exp (check_effective_target_bswap64): Do not
    cache result in a global variable.  Include all 32-bit targets for
    bswap64 tests.

From-SVN: r220388
2015-02-04 01:54:47 +00:00
GCC Administrator
b70695c530 Daily bump.
From-SVN: r220387
2015-02-04 00:16:10 +00:00
Steven G. Kargl
db78ae15d6 intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.
2015-02-03  Steven G. Kargl  <kargl@gcc.gnu.org>

	* intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.

From-SVN: r220381
2015-02-03 21:53:39 +00:00
Ian Lance Taylor
bfdd75a859 go/types: Remove unused testdata files.
The go/types package was removed in July 2013, but the
testdata files were accidentally left behind.

From-SVN: r220378
2015-02-03 21:39:27 +00:00
Jakub Jelinek
2a1d78d8f6 re PR rtl-optimization/64756 (wrong code at -O3 on x86_64-linux-gnu (in 32-bit mode))
PR rtl-optimization/64756
	* cse.c (invalidate_dest): New function.
	(cse_insn): Use it.  If dest != SET_DEST (sets[i].rtl) and
	HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
	invalidate and do not record it.

	* gcc.c-torture/execute/pr64756.c: New test.

From-SVN: r220377
2015-02-03 21:41:38 +01:00
Oleg Endo
3548abca02 re PR target/64660 ([SH] Convert atomic_fetch_<op> to atomic_<op>_fetch)
gcc/
	PR target/64660
	* config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
	atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
	atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
	atomic_nand<mode>_soft_tcb): New insns.
	(atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
	Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
	(define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
	Split into atomic_not_fetchsi_hard if operands[0] is unused.
	(atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
	Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
	(atomic_fetch_not<mode>_hard): Convert to insn_and_split.  Split into
	atomic_not<mode>_hard if operands[0] is unused.
	(atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
	insn_and_split.  Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
	if operands[0] is unused.
	(atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split.  Split
	into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
	(atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
	Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
	unused.
	(atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split.  Split
	into atomic_not<mode>_soft_tcb if operands[0] is unused.
	(atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
	insn_and_split.  Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
	if operands[0] is unused.
	(atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split.  Split
	into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
	(atomic_fetch_nandsi_hard): Convert to insn_and_split.  Split into
	atomic_nand_fetchsi_hard if operands[0] is unused.
	(atomic_fetch_nand<mode>_hard): Convert to insn_and_split.  Split into
	atomic_nand<mode>_hard if operands[0] is unused.
	(atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split.  Split
	into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
	(atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split.  Split
	into atomic_nand<mode>_soft_tcb if operands[0] is unused.
	(atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split.  Split
	into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
	(atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
	Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
	(atomic_not_fetch<mode>_hard): Convert to insn_and_split.  Split into
	atomic_not<mode>_hard if operands[0] is unused.
	(atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
	Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
	unused.
	(atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split.  Split
	into atomic_not<mode>_soft_tcb if operands[0] is unused.
	(atomic_nand_fetch<mode>_hard): Convert to insn_and_split.  Split into
	atomic_nand<mode>_hard if operands[0] is unused.
	(atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split.  Split
	into atomic_nand<mode>_soft_tcb if operands[0] is unused.

gcc/testsuite/
	PR target/64660
	* gcc.target/sh/pr64660-0.h: New.
	* gcc.target/sh/pr64660-1.c: New.
	* gcc.target/sh/pr64660-2.c: New.
	* gcc.target/sh/pr64660-3.c: New.
	* gcc.target/sh/pr64660-4.c: New.

From-SVN: r220376
2015-02-03 20:24:13 +00:00
David Malcolm
0ed4f01761 jit: option-logging
gcc/jit/ChangeLog:
	* jit-logging.h (gcc::jit::log_user::log): Make const.
	* jit-recording.c (gcc::jit::recording::context::set_str_option):
	Log the new value of the option.
	(gcc::jit::recording::context::set_int_option): Likewise.
	(gcc::jit::recording::context::set_bool_option): Likewise.
	(gcc::jit::recording::context::compile): Log the value of all
	options.
	(gcc::jit::recording::context::compile_to_file): Likewise.
	(gcc::jit::recording::context::log_all_options): New function.
	(gcc::jit::recording::context::log_str_option): New function.
	(gcc::jit::recording::context::log_int_option): New function.
	(gcc::jit::recording::context::log_bool_option): New function.
	* jit-recording.h (gcc::jit::recording::context::log_all_options):
	New function.
	(gcc::jit::recording::context::log_str_option): New function.
	(gcc::jit::recording::context::log_int_option): New function.
	(gcc::jit::recording::context::log_bool_option): New function.
	* docs/internals/test-hello-world.exe.log.txt: Update for above
	changes.

From-SVN: r220375
2015-02-03 19:28:24 +00:00
Paolo Carlini
457d0ace46 re PR c++/64877 (strange warning message from -Waddress)
/cp
2015-02-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/64877
	* typeck.c (cp_build_binary_op): Avoid spurious -Waddress warnings
	for generated expressions.

/testsuite
2015-02-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/64877
	* g++.dg/warn/Waddress-2.C: New.

From-SVN: r220374
2015-02-03 17:21:49 +00:00
David Malcolm
2cb844ce9c PR jit/64810: driver, arm, jit: configure-time default options
gcc/ChangeLog:
	PR jit/64810
	* Makefile.in (GCC_OBJS): Add gcc-main.o.
	* gcc-main.c: New file, containing "main" taken from gcc.c.
	* gcc.c (do_self_spec): Free decoded_options.
	(class driver): Move declaration to gcc.h.
	(main): Move declaration and implementation to new file
	gcc-main.c.
	(driver_get_configure_time_options): New function.
	* gcc.h (class driver): Move this declaration here, from
	gcc.c.
	(driver_get_configure_time_options): New declaration.

gcc/jit/ChangeLog:
	PR jit/64810
	* Make-lang.in (jit_OBJS): Add jit/jit-spec.o and gcc.o.
	(LIBGCCJIT_FILENAME): Add EXTRA_GCC_OBJS.
	* jit-playback.c: Include gcc.h.
	(gcc::jit::playback::context::compile): Move mutex acquisition
	to before the call to make_fake_args.
	(append_arg_from_driver): New function.
	(gcc::jit::playback::context::make_fake_args): On the first call,
	call into driver_get_configure_time_options to get configure-time
	default options and cache them.  Add them to the args for
	toplev::main.
	* jit-spec.c: New source file.
	* docs/internals/test-hello-world.exe.log.txt: Update to reflect
	above changes.

From-SVN: r220373
2015-02-03 17:19:58 +00:00
Jan Hubicka
ebc8f0bb3a ipa-inline-analysis.c (simple_edge_hints): Fix check for cross-module inlining.
* ipa-inline-analysis.c (simple_edge_hints): Fix check for
	cross-module inlining.
	* cgraph.h (cgraph_node): Add flag merged.
	* ipa-icf.c (sem_function::merge): Maintain it.

	* lto-symtab.c (lto_cgraph_replace_node): Maintain merged flag.

From-SVN: r220372
2015-02-03 16:57:20 +00:00
Richard Sandiford
901e59b2bd arm.c (thumb2_reorg): Test UNARY_P and BINARY_P instead of OBJECT_P.
gcc/
	* config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
	instead of OBJECT_P.

From-SVN: r220371
2015-02-03 14:18:38 +00:00
Segher Boessenkool
2944c91ccc re PR middle-end/61225 (Several new failures after r210458 on x86_64-*-* with -m32)
PR middle-end/61225
	gcc.target/i386/pr49095.c: XFAIL for ia32.

From-SVN: r220370
2015-02-03 13:15:32 +01:00
Eric Botcazou
aa47faf097 re PR target/62631 (gcc.dg/tree-ssa/ivopts-lt-2.c FAILs)
PR target/62631
	* config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
	(TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
	* config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
	int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.

From-SVN: r220369
2015-02-03 09:56:45 +00:00
Jakub Jelinek
76f0aa6c5a re PR other/63504 (Issues found by --enable-checking=valgrind)
PR other/63504
	* combine.c (reg_n_sets_max): New variable.
	(can_change_dest_mode, reg_nonzero_bits_for_combine,
	reg_num_sign_bit_copies_for_combine, get_last_value_validate,
	get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
	(try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
	(rest_of_handle_combine): Initialize reg_n_sets_max.

From-SVN: r220368
2015-02-03 10:39:19 +01:00
Dodji Seketeli
f8abc9ba2d PR preprocessor/64803 - __LINE__ inside macro is not constant
Consider the example code mentionned in this PR:

 $ cat -n test.c
      1	#define C(a, b) a ## b
      2	#define L(x) C(L, x)
      3	#define M(a) goto L(__LINE__); __LINE__; L(__LINE__):
      4	M(a /* --> this is the line of the expansion point of M.  */
      5	  ); /* --> this is the line of the end of the invocation of M.  */
 $

"cc1 -quiet -E test.c" yields:

 goto L5; 5; L4:
    ;

Notice how we have a 'L4' there, where it should be L5.  That is the issue.

My understanding is that during the *second* expansion of __LINE__
(the one between the two L(__LINE__)), builtin_macro() is called by
enter_macro_context() with the location of the expansion point of M
(which is at line 4).  Then _cpp_builtin_macro_text() expands __LINE__
into the line number of the location of the last token that has been
lexed, which is the location of the closing parenthesis of the
invocation of M, at line 5.  So that invocation of __LINE__ is
expanded into 5.

Now let's see why the last invocation of __LINE__ is expanded into 4.

In builtin_macro(), we have this code at some point:

   /* Set pfile->cur_token as required by _cpp_lex_direct.  */
   pfile->cur_token = _cpp_temp_token (pfile);
   cpp_token *token = _cpp_lex_direct (pfile);
   /* We should point to the expansion point of the builtin macro.  */
   token->src_loc = loc;

The first two statements insert a new token in the stream of lexed
token and pfile->cur_token[-1], is the "new" last token that has been
lexed.  But the location of pfile->cur_token[-1] is the same location
as the location of the "previous" pfile->cur_token[-1], by courtesy of
_cpp_temp_token().  So normally, in subsequent invocations of
builtin_macro(), the location of pfile->cur_token[-1] should always be
the location of the closing parenthesis of the invocation of M at line
5.  Except that that code in master now has the statement
"token->src_loc = loc;" on the next line.  That statement actually
sets the location of pfile->cur_token[-1] to 'loc'.  Which is the
location of the expansion point of M, which is on line 4.

So in the subsequent call to builtin_macro() (for the last expansion
of __LINE__ in L(__LINE__)), for _cpp_builtin_macro_text(),
pfile->cur_token[-1].src_loc is going to have a line number of 4.

I think the core issue here is that the location that is passed to
builtin_macro() from enter_macro_context() is not correct when we are
in presence of a top-most function-like macro invocation; in that
case, that location should be the location of the closing parenthesis
of the macro invocation.  Otherwise, if we are in presence of a a
top-most object-like macro invocation then the location passed down
to builtin_macro should be the location of the expansion point of the
macro.

That way, in the particular case of the input code above, the location
received by builtin_macro() will always have line number 5.

Boostrapped and tested on x86_64-unknown-linux-gnu against trunk.

libcpp/ChangeLog:

	* internal.h (cpp_reader::top_most_macro_node): New data member.
	* macro.c (enter_macro_context): Pass the location of the end of
	the top-most invocation of the function-like macro, or the
	location of the expansion point of the top-most object-like macro.
	(cpp_get_token_1): Store the top-most macro node in the new
	pfile->top_most_macro_node data member.
	(_cpp_pop_context): Clear the new cpp_reader::top_most_macro_node
	data member.

gcc/testsuite/ChangeLog:

	* gcc.dg/cpp/builtin-macro-1.c: New test case.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>

From-SVN: r220367
2015-02-03 10:26:46 +01:00
Ian Lance Taylor
18fbd1ecf1 re PR go/64836 (go.test/test/fixedbugs/issue4348.go FAILs)
PR go/64836
	PR go/64838

compiler: Use int64_t for backend type size and alignment.

Fixes 32-bit host 64-bit target cross-compilation.

	* go-gcc.cc (Gcc_backend::type_size): Change return type to
	int64_t.
	(Gcc_backend::type_alignment): Likewise.
	(Gcc_backend::type_field_alignment): Likewise.
	(Gcc_backend::type_field_offset): Likewise.
	(Gcc_backend::implicit_variable): Change alignment parameter type
	to int64_t.

From-SVN: r220364
2015-02-03 03:33:21 +00:00
Ville Voutilainen
879887f1d2 re PR c++/64901 (overriding final function defined out of line does not lead to an error)
PR c++/64901
	* decl.c (duplicate_decls): Also duplicate DECL_FINAL_P and
	DECL_OVERRIDE_P.

From-SVN: r220363
2015-02-02 21:49:42 -05:00
GCC Administrator
cf55ec5696 Daily bump.
From-SVN: r220362
2015-02-03 00:16:11 +00:00
Jan Hubicka
d67bce7ce8 ipa-inline.c (early_inliner): Skip inlining only in always_inlined...
* ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
	if some always_inline was inlined, apply changes before inlining
	heuristically.

	* g++.dg/ipa/devirt-37.C: Disable early inlining.

From-SVN: r220359
2015-02-02 23:46:31 +00:00
Bruno Loff
a4bb6959b8 c-parser.c (c_parser_declspecs): Call invoke_plugin_callbacks after processing enum declaration.
2015-02-02  Bruno Loff <bruno.loff@gmail.com>

	* c-parser.c (c_parser_declspecs): Call invoke_plugin_callbacks after
	processing enum declaration.

From-SVN: r220358
2015-02-02 16:18:56 -05:00
Jason Merrill
4c5cf0b29a * tree.c (handle_abi_tag_attribute): Diagnose invalid arguments.
From-SVN: r220356
2015-02-02 12:46:56 -05:00
Christophe Lyon
6f105c502c [ARM/AArch64][testsuite] Add vmax, vmin, vhadd, vhsub and vrhadd tests.
2015-02-02  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
	(_ARM_FPSRC): Add DN and AHP fields.
	(clean_results): Force DN=1 on AArch64.
	* gcc.target/aarch64/advsimd-intrinsics/binary_op_no64.inc: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vhadd.c: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vhsub.c: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vmax.c: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vmin.c: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vrhadd.c: New file.

From-SVN: r220353
2015-02-02 17:56:12 +01:00
Janis Johnson
a436ab274e MAINTAINERS (Various Maintainers: testsuite): Remove myself.
* MAINTAINERS (Various Maintainers: testsuite): Remove myself.
	(Write After Approval): Update address.

From-SVN: r220352
2015-02-02 16:40:20 +00:00
David Malcolm
c58bfeadfa PR jit/64810: fix for arm_option_override
gcc/ChangeLog:
	PR jit/64810
	* config/arm/arm.c (arm_option_override): Set
	arm_selected_arch/cpu/tune to NULL on entry.

From-SVN: r220351
2015-02-02 16:11:15 +00:00
Joseph Myers
0f323065dd Regenerate .pot files.
gcc/po:
	* gcc.pot: Regenerate.

libcpp/po:
	* cpplib.pot: Regenerate.

From-SVN: r220349
2015-02-02 16:07:12 +00:00
Tejas Belagod
3ff5d1f099 re PR target/64231 (SIGSEGV building glibc on aarch64-linux-gnu from r217852)
2015-02-02  Tejas Belagod  <tejas.belagod@arm.com>
	    Andrew Pinski  <pinskia@gcc.gnu.org>
	    Jakub Jelinek  <jakub@gcc.gnu.org>

	PR target/64231
	* config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
	integer typing for small model. Use IN_RANGE.


Co-Authored-By: Andrew Pinski <pinskia@gcc.gnu.org>
Co-Authored-By: Jakub Jelinek <jakub@gcc.gnu.org>

From-SVN: r220348
2015-02-02 15:54:59 +00:00
David Malcolm
16a71c501a PR jit/64810: support DImode on arm
gcc/jit/ChangeLog:
	PR jit/64810
	* dummy-frontend.c (jit_langhook_type_for_mode): Support
	TYPE_MODE (long_long_integer_type_node).

From-SVN: r220347
2015-02-02 15:21:16 +00:00
Richard Biener
7dd1f7ace3 tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
2015-02-02  Richard Biener  <rguenther@suse.de>

	* tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
	* tree-vrp.c (vrp_valueize_1): Likewise.

From-SVN: r220346
2015-02-02 15:01:28 +00:00
Andre Vehreschild
56d1b78a4a trans-decl.c (gfc_get_symbol_decl): Removed duplicate code.
* trans-decl.c (gfc_get_symbol_decl): Removed duplicate code.
	* trans-expr.c (gfc_conv_intrinsic_to_class): Fixed indentation.
	Fixed datatype of charlen to be a 32-bit int.

From-SVN: r220345
2015-02-02 10:59:47 +01:00
Alan Modra
e404a667bf rs6000.c (rs6000_call_aix): Use unspec rather than mem for toc_restore.
gcc/
	* config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
	than mem for toc_restore.
	* config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
	(call_indirect_aix, call_value_indirect_aix): Adjust to suit.
	(call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
gcc/testsuite/
	* gcc.target/powerpc/cprophard.c: New.

From-SVN: r220344
2015-02-02 17:46:11 +10:30
David Edelsohn
02d3e45e7a re PR libgomp/64635 (darwin produces libgomp-plugin-host_nonshm.1.dylib but tries to load libgomp-plugin-host_nonshm.so.1)
PR libgomp/64635
        * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
        Link with -lpthread.
        * config/aix/plugin-suffix.h: Delete.

From-SVN: r220341
2015-02-01 22:31:31 -05:00
David Edelsohn
353f8ac5c1 re PR target/64047 (ICE: Segmentation fault when compiling gcc.dg/torture/pr52429.c)
PR target/64047
        * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
        explicit default options.

From-SVN: r220340
2015-02-01 19:59:00 -05:00
GCC Administrator
fb96969992 Daily bump.
From-SVN: r220339
2015-02-02 00:16:18 +00:00
Andreas Tobler
f8d6fa7ea0 enum_9.f90: Use arm_eabi instead of arm*-*-linux*.
2015-02-01  Andreas Tobler  <andreast@gcc.gnu.org>

    * gfortran.dg/enum_9.f90: Use arm_eabi instead of arm*-*-linux*.
    * gfortran.dg/enum_10.f90: Likewise. Reorder dg-additional-sources.

From-SVN: r220330
2015-02-01 22:23:27 +01:00
Jan Hubicka
b730d1c991 re PR ipa/64872 (ICE: Segmentation fault during Chromium PGO build)
PR ipa/64872
	* ipa-utils.c (ipa_merge_profiles): Add release argument.
	* ipa-icf.c (sem_function::merge): Do not release body when merging.
	* ipa-utils.h (ipa_merge_profiles): Update prototype.

From-SVN: r220329
2015-02-01 18:46:14 +00:00
Jakub Jelinek
dfde35b359 re PR debug/64817 (compilation hangs at -O3 with -g enabled on x86_64-linux-gnu)
PR debug/64817
	* cfgexpand.c (deep_ter_debug_map): New variable.
	(avoid_deep_ter_for_debug): New function.
	(expand_debug_expr): If TERed SSA_NAME is in
	deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
	instead of trying to expand SSA_NAME's def stmt.
	(expand_debug_locations): When expanding debug bind
	of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
	temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
	value.
	(pass_expand::execute): Call avoid_deep_ter_for_debug on
	all debug bind stmts.  Delete deep_ter_debug_map after
	expand_debug_location if non-NULL and clear it.

	* gcc.dg/pr64817-1.c: New test.
	* gcc.dg/pr64817-2.c: New test.

From-SVN: r220320
2015-02-01 18:26:17 +01:00
Jonathan Wakely
516db2dd07 * src/c++11/futex.cc: Do not define for gthr-single.h targets.
From-SVN: r220319
2015-02-01 15:11:23 +00:00
Jonathan Wakely
13fc08e44e re PR libstdc++/64883 (FAIL: 17_intro/headers/c++*/all_attributes.cc (test for excess errors) on x86_64-apple-darwin10)
PR libstdc++/64883
	* include/c_global/cstdio (gets): Use __deprecated__ attribute instead
	of deprecated.
	* include/c_std/cstdio (gets): Likewise.
	* testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing
	with attributes used in darwin headers.

From-SVN: r220318
2015-02-01 15:11:08 +00:00
Oleg Endo
2b8427ca54 re PR target/64851 ([SH] Add atomic not)
gcc/
	PR target/64851
	* config/sh/sync.md (atomic_fetch_notsi_hard,
	atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
	atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
	atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
	atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
	atomic_not_fetch<mode>_soft_imask): New insns.

gcc/testsuite/
	PR target/64851
	* gcc.target/sh/pr64851-0.h: New
	* gcc.target/sh/pr64851-1.c: New
	* gcc.target/sh/pr64851-2.c: New
	* gcc.target/sh/pr64851-3.c: New
	* gcc.target/sh/pr64851-4.c: New

From-SVN: r220317
2015-02-01 11:12:47 +00:00
Maxim Kuvyrkov
63387a852e Fix scheduling undeterminism from sorting with DEBUG_INSNs
* haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
	(rank_for_schedule_debug): Split from ...
	(rank_for_schedule): ... this.
	(ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
	* sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.

From-SVN: r220316
2015-02-01 07:29:35 +00:00
Sandra Loosemore
b4fbcb1bf2 md.texi (Machine Constraints): Alphabetize table by target.
2015-01-31  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/md.texi (Machine Constraints): Alphabetize table by target.
	* doc/extend.texi (x86 Variable Attributes): Move section to
	correct alphabetization	after renaming.
	(x86 Type Attributes): Likewise.
	(Target Builtins): Re-alphabetize menu.
	(x86 Built-in Functions): Move section to correct alphabetization
	after renaming.
	(x86 transactional memory intrinsics): Likewise.
	* doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
	and x86 Windows Options in table and menu.
	(x86 Options): Move section to correct alphabetization after
	renaming.
	(x86 Windows Options): Likewise.

From-SVN: r220315
2015-01-31 21:11:30 -05:00
Sandra Loosemore
0353c564de Correct Changelog for r220309
From-SVN: r220314
2015-01-31 21:09:48 -05:00
Joseph Myers
db30e21cbf Always pass 0 or option number to gfc_warning*.
Similar to the issue with fatal_error that I fixed in
<https://gcc.gnu.org/ml/gcc-patches/2015-01/msg02690.html>, the
overloads of gfc_warning and gfc_warning_now (with and without a first
argument for an option number) also break gcc.pot regeneration because
xgettext expects the translated string argument to be in a fixed
position for a given function name.  This patch applies the
corresponding fix of always passing a first argument (option number or
0), just like the core diagnostic functions warning and warning_at,
and removing the problem overloads without it.

Bootstrapped with no regressions on x86_64-unknown-linux-gnu.

	* error.c (gfc_warning (const char *, ...), gfc_warning_now (const
	char *, ...)): Remove functions.
	* gfortran.h (gfc_warning (const char *, ...), gfc_warning_now
	(const char *, ...)): Remove declarations.
	* arith.c, check.c, data.c, decl.c, frontend-passes.c,
	interface.c, intrinsic.c, io.c, matchexp.c, module.c, openmp.c,
	options.c, parse.c, primary.c, resolve.c, scanner.c, symbol.c,
	trans-common.c, trans-const.c, trans-stmt.c: All callers of
	gfc_warning and gfc_warning_now changed to pass 0 or option number
	as first argument.

From-SVN: r220313
2015-02-01 00:29:54 +00:00
GCC Administrator
35fa7aa737 Daily bump.
From-SVN: r220312
2015-02-01 00:16:11 +00:00
Sandra Loosemore
7d47d0a1b8 extend.texi: Use "x86"...
2015-01-31  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
	preferred names of the architecture and its 32- and 64-bit
	variants.
	* doc/invoke.texi: Likewise.
	* doc/md.texi: Likewise.

From-SVN: r220309
2015-01-31 18:47:13 -05:00
John David Anglin
407028931a linux-atomic.c (__kernel_cmpxchg2): Change declaration of oldval and newval to const void *.
* config/pa/linux-atomic.c (__kernel_cmpxchg2): Change declaration of
	oldval and newval to const void *.  Fix typo.
	(FETCH_AND_OP_2): Use __atomic_load_n to load value.
	(FETCH_AND_OP_WORD): Likewise.
	(OP_AND_FETCH_WORD): Likewise.
	(COMPARE_AND_SWAP_2): Likewise.
	(__sync_val_compare_and_swap_4): Likewise.
	(__sync_lock_test_and_set_4): Likewise.
	(SYNC_LOCK_RELEASE_2): Likewise.
	Remove support for long long atomic operations.

From-SVN: r220307
2015-01-31 19:45:53 +00:00
Uros Bizjak
0d9a5f8adc re PR target/64882 (ICE on valid code at -O3 with -g enabled in simplify_subreg, at simplify-rtx.c:5681)
2015-01-31  Uros Bizjak  <ubizjak@gmail.com>

        PR target/64882
	* config/i386/predicates.md (address_no_seg_operand): Reject
	non-CONST_INT_P operands in invalid mode.

2015-01-31  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
	address_operand 0.  Rename from *prefetch_prefetchwt1_<mode>.
	* config/i386/predicates.md (address_no_seg_operand): Call
	address_operand with VOIDmode.
	(vsib_address_operand): Ditto.
	(address_mpx_no_base_operand): Ditto.
	(address_mpx_no_index_operand): Ditto.

testsuite/ChangeLog:

2015-01-31  Uros Bizjak  <ubizjak@gmail.com>

        PR target/64882
	* gcc.dg/torture/pr64882.c: New test.

From-SVN: r220306
2015-01-31 16:30:30 +01:00