Commit Graph

140789 Commits

Author SHA1 Message Date
Ulrich Weigand a49448515d * config/spu/spu.c (spu_expand_insv): Avoid undefined behavior.
From-SVN: r227974
2015-09-21 14:41:10 +00:00
Richard Biener b1e251ec9e passes.c (rest_of_decl_compilation): Do not call dwarf2out_early_global_decl for aliases.
2015-09-21  Richard Biener  <rguenther@suse.de>

	* passes.c (rest_of_decl_compilation): Do not call
	dwarf2out_early_global_decl for aliases.

	* g++.dg/ext/attr-alias-3.C: Add -g.

From-SVN: r227973
2015-09-21 14:12:58 +00:00
Richard Biener 9386cdeee6 re PR debug/67664 (Duplicate AT_const_value attributes in some c++ cases.)
2015-09-21  Richard Biener  <rguenther@suse.de>

	PR debug/67664
	* dwarf2out.c (add_location_or_const_value_attribute): Remove
	attribute parameter.  Early exit if either DW_AT_const_value
	or DW_AT_location are present already.
	(gen_variable_die): Adjust caller.
	(dwarf2out_late_global_decl): Likewise.

	* g++.dg/debug/dwarf2/pr67764.C: New testcase.

From-SVN: r227972
2015-09-21 14:02:27 +00:00
Oleg Endo ce89c02e86 re PR target/64345 ([SH] Improve single bit extraction)
testsuite/
	PR target/64345
	* gcc.target/sh/pr64345-1.c: Adjust expected insn counts for SH2A.

From-SVN: r227971
2015-09-21 13:49:07 +00:00
Oleg Endo 7dc5a9bb0d re PR target/67657 ([SH][5/6 Regression]: internal compiler error: in cselib_record_set, at cselib.c:2396 when compiling libjpeg-turbo)
gcc/
	PR target/67657
	* config/sh/sh.c (sh_remove_overlapping_post_inc,
	sh_peephole_emit_move_insn): Add new functions.
	* config/sh/sh-protos.h (sh_remove_overlapping_post_inc,
	sh_peephole_emit_move_insn): Declere them.
	* config/sh/sh.md: Use them in various peephole2 patterns.

From-SVN: r227969
2015-09-21 12:57:31 +00:00
Richard Biener 06da803c9f re PR middle-end/67651 (Optimizer assumes nothing can reside at address 0 despite -fno-delete-null-pointer-checks)
2015-09-21  Richard Biener  <rguenther@suse.de>

	PR middle-end/67651
	* rtlanal.c (nonzero_address_p): SYMBOL_REFs may have zero
	address with -fno-delete-null-pointer-checks.

From-SVN: r227968
2015-09-21 12:33:23 +00:00
Manuel López-Ibáñez 70b95cee51 Catch excess warning in gcc.dg/pragma-diag-5.c
We xfail at emitting the correct location, but we still need to catch the
warning.

2015-09-21 Manuel López-Ibáñez <manu@gcc.gnu.org>

	* gcc.dg/pragma-diag-5.c: Catch excess warning.

From-SVN: r227967
2015-09-21 12:26:18 +00:00
Jonathan Wakely 561cfdec25 Fix bootstrap error introduced in r227870
PR libstdc++/67647
	* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
	(basic_string::shrink_to_fit): Fix #endif placement.

From-SVN: r227966
2015-09-21 12:44:08 +01:00
Alan Lawrence 5e8edf67f8 [RS6000] Migrate from reduc_xxx to reduc_xxx_scal optabs
* config/rs6000/altivec.md (reduc_splus_<mode>): Rename to...
	(reduc_plus_scal_<mode>): ...this, add rs6000_expand_vector_extract.
	(reduc_uplus_v16qi): Remove.

	* config/rs6000/vector.md (VEC_reduc_name): Change "splus" to "plus".
	(reduc_<VEC_reduc_name>_v2df): Remove.
	(reduc_<VEC_reduc_name>_v4sf): Remove.
	(reduc_<VEC_reduc:VEC_reduc_name>_scal_<VEC_F:name>): New.

	* config/rs6000/vsx.md (vsx_reduc_<VEC_reduc_name>_v2df): Declare
	gen_ function by removing * prefix.
	(vsx_reduc_<VEC_reduc_name>_v4sf): Likewise.

From-SVN: r227965
2015-09-21 10:38:27 +00:00
Manuel López-Ibáñez 973dabae60 [PR middle-end/60832] Do not convert widest_int to tree just for printing it.
In do_warn_aggressive_loop_optimizations, we convert to a tree just to print a
widest_int. Apart from overly complicated, this results in printing '3u'
instead of just '3'.

Unfortunately, adding a printf-like conversion specifier would require making
pretty-print.c link with wide-int.cc, which will include a lot of new
dependencies into several other programs (gcov-tool for example). It would be
possible to add the conversion specifier to every FE pretty-printer, but this
still would require updating c-format.c, which is far from trivial. A simpler
approach is to convert to a string rather than to a tree.

In addition, "iteration 3 invokes undefined behavior within this loop" seems to
me clearer than "iteration 3 invokes undefined behavior; containing loop".

gcc/testsuite/ChangeLog:

2015-09-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR middle-end/60832
	* gcc.dg/pr53265.c: Update.

gcc/ChangeLog:

2015-09-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR middle-end/60832
	* tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations):
	Print i_bound without converting it to a tree.

From-SVN: r227964
2015-09-21 10:11:24 +00:00
Bilyan Borisov 6ad9ac8838 [ARM] Replacing variable swaps that use a temporary variable with a call to std::swap in gcc/config/arm/arm.c
On behalf of <bilyan.borisov@arm.com>

2015-09-21  Bilyan Borisov  <bilyan.borisov@arm.com>

	* config/arm/arm.c (thumb_output_move_mem_multiple): Replaced
	operands[4] operands[5] swap with std::swap, removed tmp variable.
	(arm_evpc_neon_vzip): Replaced in0/in1 and
	out0/out1 swaps with std::swap, removed x variable.
	(arm_evpc_neon_vtrn): Replaced in0/int1 and
	out0/out1 swaos with std::swap, removed x variable.
	(arm_expand_vec_perm_const_1): Replaced
	d->op0/d->op1 swap with std::swap, removed x variable.
	(arm_evpc_neon_vuzp): Replaced in0/in1 and
	out0/out1 swaps with std::swap, removed x variable.

From-SVN: r227963
2015-09-21 10:07:44 +00:00
Jonathan Yong 84fe5e5c41 cygwin.h (STARTFILE_SPEC): Explicitly search sysroot/usr/lib/32api for additional win32 libraries...
2015-09-21  Jonathan Yong  <10walls@gmail.com>

        * config/i386/cygwin.h (STARTFILE_SPEC): Explicitly search
        sysroot/usr/lib/32api for additional win32 libraries,
        fixes failing Cygwin bootstrapping.

From-SVN: r227962
2015-09-21 11:58:44 +02:00
Eric Botcazou b65ea4a760 * gcc.target/arm/stack-checking.c: Skip for Thumb1.
From-SVN: r227960
2015-09-21 08:16:32 +00:00
Oleg Endo 416418e6a2 invoke.texi (SH Options): Undocument SH5/SH64 related options.
gcc/
	* doc/invoke.texi (SH Options): Undocument SH5/SH64 related options.

From-SVN: r227959
2015-09-21 07:23:23 +00:00
Oleg Endo 1383eae791 re PR tree-optimization/59478 (Optimize variable access via byte copy)
gcc/testsuite/
	PR target/59478
	* gcc.target/sh/pr59478.c: New.

From-SVN: r227958
2015-09-21 01:43:50 +00:00
Oleg Endo 0a775f1a4b re PR target/67126 ([SH] gcc.target/sh/pr51244-12.c failures)
gcc/
	PR target/67126
	* config/sh/sh.md (*reg_lsb_t): Emit bld insn on SH2A.
	(*mov_t_msb_neg): Rewrite negc pattern.

gcc/testsuite/
	PR target/67126
	* gcc.target/sh/pr51244-12.c: Adjust testcase.
	* gcc.target/sh/pr54236-2.c: Likewise.

From-SVN: r227957
2015-09-21 00:17:22 +00:00
GCC Administrator 625c33c4e8 Daily bump.
From-SVN: r227956
2015-09-21 00:16:13 +00:00
Uros Bizjak 7f050a11fc re PR middle-end/67619 (ICE at -O1 and above on x86_64-linux-gnu in int_mode_for_mode, at stor-layout.c:425)
PR middle-end/67619
	* lib/target-supports.exp (check_effective_target_builtin_eh_return):
	New procedure.

From-SVN: r227952
2015-09-20 20:07:58 +02:00
Kai Tietz 56547ff787 MAINTAINERS: Update email.
2015-09-20  Kai Tietz  <ktietz70@googlemail.com>

	* MAINTAINERS: Update email.

From-SVN: r227951
2015-09-20 19:33:05 +02:00
Wilco Dijkstra 9a4865db76 [AArch64][5/5] Cleanup immediate generation code in aarch64_internal_mov_immediate
2015-09-20  Wilco Dijkstra  <wdijkstr@arm.com>

	* config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Cleanup
	immediate generation code.

From-SVN: r227950
2015-09-20 16:46:12 +00:00
Wilco Dijkstra feca59ff11 [AArch64][4/5] Remove redundant code
2015-09-20  Wilco Dijkstra  <wdijkstr@arm.com>

	* config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Remove
	redundant immediate generation code.

From-SVN: r227949
2015-09-20 16:43:28 +00:00
Wilco Dijkstra 8fcbb4e328 [AArch64][3/5] Remove dead code
2015-09-20  Wilco Dijkstra  <wdijkstr@arm.com>

	* config/aarch64/aarch64.c (aarch64_bitmasks): Remove.
	(AARCH64_NUM_BITMASKS): Remove.
	(aarch64_bitmasks_cmp): Remove.
	(aarch64_build_bitmask_table): Remove.

From-SVN: r227948
2015-09-20 16:41:26 +00:00
Wilco Dijkstra 62c8d76c10 [AArch64][2/5] Improve aarch64_internal_mov_immediate by using faster algorithm
2015-09-20  Wilco Dijkstra  <wdijkstr@arm.com>

	* config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Replace
	slow immediate matching loops with a faster algorithm.

From-SVN: r227947
2015-09-20 16:37:39 +00:00
Wilco Dijkstra a64c73a2f0 [AArch64][1/5] Reimplement aarch64_bitmask_imm
2015-09-20  Wilco Dijkstra  <wdijkstr@arm.com>

	* config/aarch64/aarch64.c (aarch64_bitmask_imm): Reimplement using
	faster algorithm.

From-SVN: r227946
2015-09-20 16:34:44 +00:00
Oleg Endo e4bdea2f30 pr43417.c: Move target independent test to ...
gcc/testsuite/
	* gcc.target/sh/pr43417.c: Move target independent test to ...
	* gcc.c-torture/compile/pr43417.c: ... here.

From-SVN: r227945
2015-09-20 14:36:58 +00:00
Oleg Endo 82bb2eaead sh.exp (check_effective_target_sh4a, [...]): New effective target checks.
gcc/testsuite/
	* gcc.target/sh/sh.exp (check_effective_target_sh4a,
	check_effective_target_big_endian, check_effective_target_little_endian,
	check_effective_target_any_fpu, check_effective_target_double_fpu,
	check_effective_target_use_single_only_fpu,
	check_effective_target_default_single_fpu,
	check_effective_target_no_fpu, check_effective_target_has_xf_regs,
	check_effective_target_has_fsca, check_effective_target_has_fsrra,
	check_effective_target_has_fpchg, check_effective_target_has_dyn_shift,
	check_effective_target_fmovd_enabled,
	check_effective_target_has_privileged, check_effective_target_has_pref,
	check_effective_target_banked_r0r7_isr,
	check_effective_target_stack_save_isr): New effective target checks.
	* gcc.target/sh/pr51244-16.c: Merge into pr51244-15.c.
	* gcc.target/sh/pr51244-20-sh2a.c: Merge into pr51244-20.c.
	* gcc.target/sh/pr51244-3.c: Merge into pr51244-2.c
	* gcc.target/sh/pr54089-5.c: Merge into pr54089-4.c.
	* gcc.target/sh/20080410-1.c: Use new effective target checks.
	* gcc.target/sh/attr-isr-nosave_low_regs.c: Likewise.
	* gcc.target/sh/attr-isr.c: Likewise.
	* gcc.target/sh/fpul-usage-1.c: Likewise.
	* gcc.target/sh/hiconst.c: Likewise.
	* gcc.target/sh/mfmovd.c: Likewise.
	* gcc.target/sh/pr21255-3.c: Likewise.
	* gcc.target/sh/pr33135-1.c: Likewise.
	* gcc.target/sh/pr33135-2.c: Likewise.
	* gcc.target/sh/pr33135-3.c: Likewise.
	* gcc.target/sh/pr33135-4.c: Likewise.
	* gcc.target/sh/pr39423-2.c: Likewise.
	* gcc.target/sh/pr49880-4.c: Likewise.
	* gcc.target/sh/pr49880-5.c: Likewise.
	* gcc.target/sh/pr50749-sf-postinc-1.c: Likewise.
	* gcc.target/sh/pr50749-sf-postinc-2.c: Likewise.
	* gcc.target/sh/pr50749-sf-postinc-3.c: Likewise.
	* gcc.target/sh/pr50749-sf-postinc-4.c: Likewise.
	* gcc.target/sh/pr50749-sf-predec-1.c: Likewise.
	* gcc.target/sh/pr50749-sf-predec-2.c: Likewise.
	* gcc.target/sh/pr50749-sf-predec-3.c: Likewise.
	* gcc.target/sh/pr50749-sf-predec-4.c: Likewise.
	* gcc.target/sh/pr50751-2.c: Likewise.
	* gcc.target/sh/pr50751-3.c: Likewise.
	* gcc.target/sh/pr50751-5.c: Likewise.
	* gcc.target/sh/pr50751-6.c: Likewise.
	* gcc.target/sh/pr50751-8.c: Likewise.
	* gcc.target/sh/pr51244-15.c: Likewise.
	* gcc.target/sh/pr51244-2.c: Likewise.
	* gcc.target/sh/pr51244-20.c: Likewise.
	* gcc.target/sh/pr51244-6.c: Likewise.
	* gcc.target/sh/pr52483-4.c: Likewise.
	* gcc.target/sh/pr53511-1.c: Likewise.
	* gcc.target/sh/pr53512-1.c: Likewise.
	* gcc.target/sh/pr53512-2.c: Likewise.
	* gcc.target/sh/pr53512-3.c: Likewise.
	* gcc.target/sh/pr53512-4.c: Likewise.
	* gcc.target/sh/pr53513-1.c: Likewise.
	* gcc.target/sh/pr54089-2.c: Likewise.
	* gcc.target/sh/pr54089-3.c: Likewise.
	* gcc.target/sh/pr54089-4.c: Likewise.
	* gcc.target/sh/pr54602-2.c: Likewise.
	* gcc.target/sh/pr54602-3.c: Likewise.
	* gcc.target/sh/pr54602-4.c: Likewise.
	* gcc.target/sh/pr54680.c: Likewise.
	* gcc.target/sh/pr55303-1.c: Likewise.
	* gcc.target/sh/pr55303-2.c: Likewise.
	* gcc.target/sh/pr55303-3.c: Likewise.
	* gcc.target/sh/pr56547-1.c: Likewise.
	* gcc.target/sh/pr56547-2.c: Likewise.
	* gcc.target/sh/pr61195.c: Likewise.
	* gcc.target/sh/pr61996.c: Likewise.
	* gcc.target/sh/pr6526.c: Likewise.
	* gcc.target/sh/pragma-isr-nosave_low_regs.c: Likewise.
	* gcc.target/sh/pragma-isr-trapa2.c: Likewise.
	* gcc.target/sh/prefetch.c: Likewise.
	* gcc.target/sh/rte-delay-slot.c: Likewise.
	* gcc.target/sh/sh2a-band.c: Likewise.
	* gcc.target/sh/sh2a-bclr.c: Likewise.
	* gcc.target/sh/sh2a-bclrmem.c: Likewise.
	* gcc.target/sh/sh2a-bld.c: Likewise.
	* gcc.target/sh/sh2a-bor.c: Likewise.
	* gcc.target/sh/sh2a-bset.c: Likewise.
	* gcc.target/sh/sh2a-bsetmem.c: Likewise.
	* gcc.target/sh/sh2a-bxor.c: Likewise.
	* gcc.target/sh/sh2a-jsrn.c: Likewise.
	* gcc.target/sh/sh2a-movi20s.c: Likewise.
	* gcc.target/sh/sh2a-movrt.c: Likewise.
	* gcc.target/sh/sh2a-resbank.c: Likewise.
	* gcc.target/sh/sh2a-rtsn.c: Likewise.
	* gcc.target/sh/sh2a-tbr-jump.c: Likewise.
	* gcc.target/sh/sh4a-bitmovua.c: Likewise.
	* gcc.target/sh/sh4a-cosf.c: Likewise.
	* gcc.target/sh/sh4a-fsrra.c: Likewise.
	* gcc.target/sh/sh4a-memmovua.c: Likewise.
	* gcc.target/sh/sh4a-sincosf.c: Likewise.
	* gcc.target/sh/sh4a-sinf.c: Likewise.

From-SVN: r227944
2015-09-20 14:09:36 +00:00
Jeff Law 7c3e70560b [PATCH] Fix 47679 by improving jump threading
PR tree-optimization/47679
	* tree-ssa-dom.c (record_temporary_equivalences): No longer static.
	* tree-ssa-dom.h (record_temporary_equivalences): Add prototype.
	* tree-ssa-threadedge.c: Include tree-ssa-dom.h.
	(thread_through_normal_block): Use record_temporary_equivalences.

        PR tree-optimization/47679
	* g++.dg/warn/Wuninitialized-6.C: New test.

From-SVN: r227942
2015-09-20 00:37:39 -06:00
Trevor Saunders 355fe0884b switch from gimple to gimple*
This renames the gimple_statement_base struct to gimple removes the
typedef of gimple_statement_base * to gimple, and then adjusts all of
the places that use the type.

gcc/ChangeLog:

2015-09-19  Trevor Saunders  <tbsaunde@tbsaunde.org>

	* coretypes.h (gimple): Change typedef to be a forward
	declaration.
	* gimple.h (gimple_statement_base): rename to gimple.
	* (all functions and types using gimple): Adjust.
	* *.[ch]: Likewise.

gcc/cp/ChangeLog:

2015-09-19  Trevor Saunders  <tbsaunde@tbsaunde.org>

	* cp-gimplify.c (gimplify_must_not_throw_expr): Adjust.

From-SVN: r227941
2015-09-20 00:52:59 +00:00
GCC Administrator e4f2a3e458 Daily bump.
From-SVN: r227940
2015-09-20 00:16:12 +00:00
Andrew Dixie 7e0d34b561 xcoff.h (EH_FRAME_IN_DATA_SECTION): Delete.
2015-09-19  Andrew Dixie  <andrewd@gentrack.com>
            David Edelsohn  <dje.gcc@gmail.com>

        * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): Delete.
        (ASM_PREFERRED_EH_DATA_FORMAT): Define.
        (EH_FRAME_THROUGH_COLLECT2): Define.
        (EH_TABLES_CAN_BE_READ_ONLY): Define.
        (ASM_OUTPUT_DWARF_PCREL): Define.
        (ASM_OUTPUT_DWARF_DATAREL): Define.

Co-Authored-By: David Edelsohn <dje.gcc@gmail.com>

From-SVN: r227937
2015-09-19 18:57:47 -04:00
Tim Shen 236d76c4a9 re PR libstdc++/67361 (std::regex_error::what() should say something about the error_code)
PR libstdc++/67361
	* include/bits/regex_error.h: Add __throw_regex_error that
	supports string.
	* include/bits/regex_automaton.h: Add more specific exception
	messages.
	* include/bits/regex_automaton.tcc: Likewise.
	* include/bits/regex_compiler.h: Likewise.
	* include/bits/regex_compiler.tcc: Likewise.
	* include/bits/regex_scanner.h: Likewise.
	* include/bits/regex_scanner.tcc: Likewise.

From-SVN: r227936
2015-09-19 20:56:27 +00:00
John David Anglin b8b71bc0d8 pa.c (pa_function_ok_for_sibcall): Remove special treatment of TARGET_ELF32.
* config/pa/pa.c (pa_function_ok_for_sibcall): Remove special treatment
	of TARGET_ELF32.

From-SVN: r227933
2015-09-19 18:32:28 +00:00
Ville Voutilainen 15eefe5738 Implement nested namespace definitions.
/cp
2015-09-18  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Implement nested namespace definitions.
	* parser.c (cp_parser_namespace_definition): Grok nested namespace
	definitions.

/testsuite
2015-09-18  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Implement nested namespace definitions.
	* g++.dg/cpp1z/nested-namespace-def1.C: New.
	* g++.dg/cpp1z/nested-namespace-def2.C: Likewise.
	* g++.dg/cpp1z/nested-namespace-def3.C: Likewise.
	* g++.dg/lookup/name-clash5.C: Adjust.
	* g++.dg/lookup/name-clash6.C: Likewise.

From-SVN: r227932
2015-09-19 07:44:01 +03:00
Jeff Law 8e33db8fc0 [PATCH] avail_expr_stack is no longer file scoped
PR tree-optimization/47679
        * tree-ssa-dom.c (avail_exprs_stack): No longer file scoped.  Move
        it here ...
        (dom_opt_dom_walker): New private member holding the avail_exprs_stack
        object.  Update constructor.
        (pass_dominator::execute):  Corresponding chagnes to declaration
        and initialization of avail_exprs_stack.  Update constructor call
        for dom_opt_dom_walker object.
        (lookup_avail_expr, record_cond): Accept additional argument.  Pass
        it down to children as needed.
        (record_equivalences_from_incoming_edge): Likewise.
        (eliminate_redundant_computations): Likewise.
        (record_equivalences_from_stmt): Likewise.
        (simplify_stmt_for_jump_threading): Likewise.
        (record_temporary_equivalences): Likewise.
        (optimize_stmt): Likewise.
        (dom_opt_dom_walker::thread_across_edge): Update access to
        avail_exprs_stack object and pass it to children as needed.
        (dom_opt_dom_walker::before_dom_children): Similarly.
        (dom_opt_dom_walker::after_dom_children): Similarly.
        * tree-ssa-threadedge.c (pfn_simplify): New typedef.
        (record_temporary_equivalences_from_stmts_at_dest): Use new typedef.
        Add avail_expr_stack argument.  Pass it to children as needed.
        (dummy_simplify): Likewise.
        (simplify_control_stmt_condition): Likewise.
        (thread_around_empty_blocks): Likewise.
        (thread_through_normal_block): Likewise.
        (thread_across_edge): Likewise.
        * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
        * tree-vrp.c (simplify_stmt_for_jump_threading): Update.

From-SVN: r227931
2015-09-18 20:56:15 -06:00
GCC Administrator 8788ec9417 Daily bump.
From-SVN: r227929
2015-09-19 00:16:11 +00:00
Manuel López-Ibáñez eaa797e8d5 Misplaced return in previous commit.
2015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* c-pragma.c (handle_pragma_diagnostic): Fix wrong return.

From-SVN: r227924
2015-09-18 22:34:53 +00:00
Manuel López-Ibáñez c4914de618 Use explicit locations for some warnings in c-pragma.c.
gcc/cp/ChangeLog:

2015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* parser.c (pragma_lex): Add loc argument. Rearrange the code to
	make it more similar to the C version.

gcc/c-family/ChangeLog:

2015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* c-pragma.c (handle_pragma_diagnostic): Use explicit location
	when warning.
	* c-pragma.h (pragma_lex): Add optional loc argument.

gcc/c/ChangeLog:

2015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* c-parser.c (pragma_lex): Add loc argument.

gcc/testsuite/ChangeLog:

2015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* gcc.dg/pragma-diag-5.c: New test.

From-SVN: r227923
2015-09-18 19:36:19 +00:00
Jeff Law edfc92491b [PATCH] const_and_copies is no longer file scoped
PR tree-optimization/47679
	* tree-ssa-dom.c (const_and_copies): No longer file scoped.  Move
	it here ...
	(dom_opt_dom_walker): New private member holding the const_and_copies
	object.  Update constructor.
	(pass_dominator::execute): Corresponding changes to declaration
	and initialization of const_and_copies.  Update constructor call
	for the dom_opt_dom_walker object.
	(record_temporary_equivalences): Accept const_and_copies argument
	pass it down to children as needed.
	(record_equality): Likewise.
	(record_equivalences_from_incoming_edge): Likewise.
	(cprop_into_successor_phis, optimize_stmt): Likewise.
	(eliminate_redundant_computations): Likewise.
	(dom_opt_dom_walker::thread_across_edge): Update access to
	const_and_copies object and pass it to children as needed.
	(dom_opt_dom_walker::before_dom_children): Similarly.
	(dom_opt_dom_walker::after_dom_children): Similarly.

From-SVN: r227922
2015-09-18 13:33:48 -06:00
Jeff Law 1b2fe7d3f7 [PATCH] avail_exprs is no longer file scoped
* tree-ssa-dom.c (avail_exprs): No longer file scoped.  Bury
	it into the avail_exprs_stack class.
	(pass_dominator::execute): Corresponding changes to declaration
	and initialization of avail_exprs.  Pass avail_exprs to
	dump_dominator_optimization_stats.
	(record_cond): Extract avail_exprs from avail_exprs_stack.
	(lookup_avail_expr): Similarly.
	(htab_staticstics): Remove unnecessary prototype.  Move to earlier
	position in file.
	(dump_dominator_optimization_stats): Make static and prototype.
	Add argument for the hash table to dump.
	(debug_dominator_optimization_stats): Remove.
	* tree-ssa-dom.h (dump_dominator_optimization_stats): Remove
	prototype.
	(debug_dominator_optimization_stats): Similarly.
	* tree-ssa-scopedtables.h (class avail_exprs_stack): Add missing
	"void" in prototype for pop_to_marker method.  Add accessor method
	for the underlying avail_exprs table.

	* tree-ssa-threadedge.c: Remove trailing whitespace.

From-SVN: r227921
2015-09-18 13:12:22 -06:00
John David Anglin 5877e54ea0 pa-protos.h (pa_cint_ok_for_move): Change argument type to unsigned.
* config/pa/pa-protos.h (pa_cint_ok_for_move): Change argument type to
	unsigned.
	(pa_ldil_cint_p): Likewise.
	* config/pa/pa.c (pa_cint_ok_for_move): likewise.
	(pa_ldil_cint_p): Likewise. Change signed casts to unsigned.
	Update callers.
	* config/pa/pa.md: Likewise.

From-SVN: r227920
2015-09-18 18:56:10 +00:00
David Malcolm 57eb2d70a6 Move diagnostic_show_locus and friends out into a new source file
gcc/ChangeLog:
	* Makefile.in (OBJS-libcommon): Add diagnostic-show-locus.o.
	* diagnostic.c (adjust_line): Move to diagnostic-show-locus.c.
	(diagnostic_show_locus): Likewise.
	(diagnostic_print_caret_line): Likewise.
	* diagnostic-show-locus.c: New file.

From-SVN: r227915
2015-09-18 18:27:44 +00:00
David Edelsohn 54f0c25b30 Update copyright.
From-SVN: r227912
2015-09-18 14:14:45 -04:00
David Edelsohn 7e704eb4d6 dwarf2out.c (switch_to_eh_frame_section): Add ATTRIBUTE_UNUSED to "back" parameter.
* dwarf2out.c (switch_to_eh_frame_section): Add ATTRIBUTE_UNUSED to
        "back" parameter. Declare label in #if block.

From-SVN: r227911
2015-09-18 14:03:26 -04:00
Uros Bizjak dcd7a7dfce re PR middle-end/67619 (ICE at -O1 and above on x86_64-linux-gnu in int_mode_for_mode, at stor-layout.c:425)
PR middle-end/67619
	* except.c (expand_builtin_eh_return): Use copy_addr_to_reg to copy
	the address to a register.

testsuite/ChangeLog:

	PR middle-end/67619
	* gcc.dg/torture/pr67619.c: New test.

From-SVN: r227909
2015-09-18 18:27:51 +02:00
Jeff Law a502f7b6e4 [PATCH] Break out phi-only cprop into its own file
PR tree-optimization/47679
	* Makefile.in (OBJS): Add tree-ssa-phionlycprop.o
	* tree-ssa-dom.c: Remove unnecessary header includes.
	(remove_stmt_or_phi): Moved from here into tree-ssa-phionlycprop.c
	(get_rhs_or_phi_arg, get_lhs_or_phi_result): Likewise.
	(propagate_rhs_into_lhs, eliminate_const_or_copy): Likewise.
	(eliminate_degenerate_phis_1, pass_phi_only_cprop): Likewise.
	(pass_phi_only_cprop::execute): Likewise.
	(make_pass_phi_only_cprop): Likewise.
	* tree-ssa-phionlycprop.c: New file with moved code.  Eliminate
	uses of file scoped statics by passing the required objects
	as parameters wherever needed.

From-SVN: r227908
2015-09-18 09:29:01 -06:00
Andrew Dixie e707a2dd66 aix61.h (STARTFILE_SPEC): Add crtdbase.o.
* config/rs6000/aix61.h (STARTFILE_SPEC): Add crtdbase.o.
        * config/rs6000/rs6000-protos.h (rs6000_asm_output_dwarf_pcrel):
        Declare.
        (rs6000_asm_output_dwarf_datarel): Declare.

Co-Authored-By: David Edelsohn <dje.gcc@gmail.com>

From-SVN: r227907
2015-09-18 10:20:01 -04:00
Andrew Dixie 04218b3564 config.host (powerpc-ibm-aix*): Add crtdbase.o to extra_parts.
libgcc/
        * config.host (powerpc-ibm-aix*): Add crtdbase.o to extra_parts.
        * config/rs6000/crtdbase.S: New file.
        * config/rs6000/t-aix-cxa: Build crtdbase.o.

gcc/
        * defaults.h (EH_FRAME_SECTION_NAME): Depend on
        EH_FRAME_THROUGH_COLLECT2.
        * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add case for
        DW_EH_PE_datarel.
        * dwarf2out.c (switch_to_eh_frame_section): Use a read-only section
        even if EH_FRAME_SECTION_NAME is undefined.  Restrict special
        collect2 labels to EH_FRAME_THROUGH_COLLECT2.
        * except.c (switch_to_exception_section): Use a read-only section
        even if EH_FRAME_SECTION_NAME is undefined.
        * system.h (EH_FRAME_IN_DATA_SECTION): Poison.
        * collect2.c (write_c_file_stat): Provide dbase on AIX.
        (scan_prog_file): Don't export __dso_handle nor
        __gcc_unwind_dbase.
        * config/rs6000/aix.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
        (EH_TABLES_CAN_BE_READ_ONLY): Define.
        (ASM_OUTPUT_DWARF_PCREL): Define.
        (ASM_OUTPUT_DWARF_DATAREL): Define.
        (EH_FRAME_THROUGH_COLLECT2): Define.
        (EH_FRAME_IN_DATA_SECTION): Delete.
        * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_pcrel): New.
        (rs6000_aix_asm_output_dwarf_datarel): New.
        (rs6000_xcoff_asm_init_sections): Don't set exception_section.
        * config/spu/spu-elf.h (EH_FRAME_IN_DATA_SECTION): Delete.
        (EH_FRAME_THROUGH_COLLECT2): Define.
        * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Delete.
        (EH_FRAME_THROUGH_COLLECT2): Define.
        (EH_TABLES_CAN_BE_READ_ONLY): Define.
        * doc/tm.texi.in (EH_FRAME_IN_DATA_SECTION): Delete.
        (EH_FRAME_THROUGH_COLLECT2): New.
        (ASM_OUTPUT_DWARF_DATAREL): New.
        * doc/tm.texi: Regenerate.

Co-Authored-By: David Edelsohn <dje.gcc@gmail.com>

From-SVN: r227906
2015-09-18 10:10:36 -04:00
Richard Biener 8cd60b238b dwarf2out.c (append_entry_to_tmpl_value_parm_die_table): Assert we're in early phase.
2015-09-18  Richard Biener  <rguenther@suse.de>

	* dwarf2out.c (append_entry_to_tmpl_value_parm_die_table): Assert
	we're in early phase.
	(schedule_generic_params_dies_gen): Likewise.
	(gen_remaining_tmpl_value_param_die_attribute): Do only as much
	work as possible, retaining unhandled cases.
	(gen_scheduled_generic_parms_dies): Set early-dwarf flag and
	clear out generic_type_instances at the end.
	(dwarf2out_finish): Move call to gen_scheduled_generic_parms_dies...
	(dwarf2out_early_finish): ... here.  Do most of
	gen_remaining_tmpl_value_param_die_attribute here.

From-SVN: r227905
2015-09-18 12:59:32 +00:00
Jonathan Wakely 7215aaedd6 Fix errors due to extra includes in extc++.h
* include/precompiled/extc++.h: Fix bootstrap error due to
	unconditional inclusion of <ext/enc_filebuf.h>.
	* include/ext/random: Check for definition of UINT32_C.

From-SVN: r227902
2015-09-18 12:21:05 +01:00
Alan Lawrence d0f4e7fcdb completely_scalarize arrays as well as records.
gcc/:
    
	PR tree-optimization/67283
	* tree-sra.c (type_consists_of_records_p): Rename to...
	(scalarizable_type_p): ...this, add case for ARRAY_TYPE.
	(completely_scalarize_record): Rename to...
	(completely_scalarize): ...this, add ARRAY_TYPE case, move some code to:
	(scalarize_elem): New.
	(analyze_all_variable_accesses): Follow renamings.
    
gcc/testsuite/:
    
	* gcc.dg/tree-ssa/sra-15.c: New.
	* gcc.dg/tree-ssa/sra-16.c: New.

From-SVN: r227901
2015-09-18 10:55:11 +00:00