140798 Commits

Author SHA1 Message Date
Chung-Lin Tang
6bb4c3e2d8 re PR libgomp/67141 (wrong libgomp mutex initialisation order)
2015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>

	PR libgomp/67141
	* oacc-int.h (goacc_host_init): Add declaration.
	* oacc-host.c (goacc_host_init): Remove static and constructor attribute.
	* oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.

From-SVN: r227994
2015-09-22 06:45:22 +00:00
David S. Miller
dc2a24eddf Revert LRA SPARC changes for now.
gcc/

	PR/67622
	Revert:
	2015-09-11  David S. Miller  <davem@davemloft.net>

		* config/sparc/constraints.md: Make "U" constraint a real register
		constraint.
		* config/sparc/sparc.c (TARGET_LRA_P): Define.
		(D_MODES, DF_MODES): Add missing cast.
		(TF_MODES, TF_MODES_NO_S): Include T_MODE.
		(OF_MODES, OF_MODES_NO_S): Include O_MODE.
		(sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory
		cost to 8.
		* config/sparc/sparc.h (PROMOTE_MODE): Define.
		* config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
		provide these insn when flag_pic.

	2015-09-17  David S. Miller  <davem@davemloft.net>

		* config/sparc/sparc-protos.h (sparc_secondary_memory_needed):
		Declare.
		* config/sparc/sparc.c (sparc_secondary_memory_needed): New
		function.
		* config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it.
		(HARD_REGNO_CALLER_SAVE_MODE): Define.
		* config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44)
		(setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi)
		(embmedany_losum, embmedany_brsum, embmedany_textuhi)
		(embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not
		provide when flag_pic.

From-SVN: r227993
2015-09-21 20:52:45 -07:00
GCC Administrator
36d0586f56 Daily bump.
From-SVN: r227992
2015-09-22 00:16:12 +00:00
James Bowman
131314e14a [FT32] fixes for the default hardware startup
libgcc/
        * config/ft32/crti-hw.S: Use __PMSIZE to allow configurable
        memory layout. Deal correctly with BSS region larger than 32K.
        Handle a watchdog reset like a power-on reset. Clean up unused
        code.

From-SVN: r227986
2015-09-21 22:31:53 +00:00
Steven G. Kargl
6ff560cc25 resolve.c (nonscalar_typebound_assign): Fix typos in comment.
2015-09-21  Steven G. Kargl  <kargl@gcc.gnu.org>

	* resolve.c (nonscalar_typebound_assign): Fix typos in comment.

From-SVN: r227985
2015-09-21 21:40:26 +00:00
Steven G. Kargl
e2eb0806ea re PR fortran/67615 (ICE on using arithmetic if with array instead of scalar)
2015-09-21  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/67615
	* resolve.c (gfc_resolve_code): Check for scalar expression in 
	arithmetic-if.


2015-09-21  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/67615
	* gfortran.dg/pr67615.f90: new test.

From-SVN: r227981
2015-09-21 18:09:13 +00:00
Jeff Law
d7b00a16de [PATCH] Fix undefined behavior in h8300 backend
* config/h8300/h8300.md (andsi3_ashift_n_lower): Avoid undefined
	behavior.

	* gcc.target/h8300/andsi3_ashift_n_lower.c: New test.

From-SVN: r227978
2015-09-21 11:09:53 -06:00
Ville Voutilainen
bdaaa8b70f Complete the implementation of N4230, Nested namespace definition.
/c-family
2015-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Complete the implementation of N4230, Nested namespace definition.
	* c-cppbuiltin.c: Add __cpp_namespace_attributes and
	__cpp_nested_namespace_definitions.

/cp
2015-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Complete the implementation of N4230, Nested namespace definition.
	* parser.c (cp_parser_namespace_definition): Support namespace
	attributes both before and after the namespace identifier.

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

	Complete the implementation of N4230, Nested namespace definition.
	* g++.dg/cpp1y/feat-cxx11-neg.C: Add tests for C++17 namespace
	attributes and nested namespace definitions.
	* g++.dg/cpp1y/feat-cxx98-neg.C: Likewise.
	* g++.dg/cpp1z/feat-cxx1z.C: Likewise.
	* g++.dg/cpp1y/feat-cxx14-neg.C: New.
	* g++.dg/cpp1z/namespace-attribs.C: Likewise.
	* g++.dg/cpp1z/nested-namespace-def1.C: Add tests for attributes
	appearing before the namespace identifier.

From-SVN: r227977
2015-09-21 18:50:30 +03:00
Manuel López-Ibáñez
87b470b363 Handle lines encoded into several maps in linemap_position_for_loc_and_offset
linemap_position_for_loc_and_offset() tries to generate a location_t
encoding a column offset from the current location, for example, point
to a certain character inside a string. This is trivial to do when the
new location "fits within" the map of the original location. However,
it may happen that the (long) line corresponding to the original
location is encoded in several maps, thus the new location should
actually be encoded in a subsequent map from the original location.
This patch detects this case and adjusts the map correspondingly.

(This shows that the line-map representation is quite wasteful in this
case, because line-maps always start at column 0. That is, map[0]
highest location may encode up to line 8 column 80, then
map[1]->start_location starts encoding at line 8 column 0. Thus, there
are two location_t values that point to the same source location.)

libcpp/ChangeLog:

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

	PR c/66415
	* line-map.c (linemap_position_for_loc_and_offset): Handle the
	case of long lines encoded in multiple maps.

gcc/testsuite/ChangeLog:

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

	PR c/66415
	* gcc.dg/cpp/pr66415-1.c: Test column number.

From-SVN: r227975
2015-09-21 14:52:09 +00:00
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