Commit Graph

148946 Commits

Author SHA1 Message Date
Jonathan Wakely
08a53a2eda Add missing return to uninitialized_default_construct_n
* include/bits/stl_uninitialized.h
	(__uninitialized_default_novalue_n_1<true>): Add missing return.
	* testsuite/20_util/specialized_algorithms/memory_management_tools/
	1.cc: Check return values of uninitialized_xxx_n algorithms.

From-SVN: r241033
2016-10-12 12:20:35 +01:00
Jonathan Wakely
40571365a0 Remove 'return' from noreturn function
* libsupc++/nested_exception.h (throw_with_nested): Remove return.

From-SVN: r241032
2016-10-12 12:20:29 +01:00
Jonathan Wakely
164b41ebf3 Do not copy std:call_once arguments (LWG 2442)
* doc/xml/manual/intro.xml: Document LWG 2442 status.
	* include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
	[_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
	partial specialization to unpack args and forward to std::invoke.
	(call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
	instead of __bind_simple and __once_call_impl.
	(call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
	__bind_simple.
	* testsuite/30_threads/call_once/dr2442.cc: New test.

From-SVN: r241031
2016-10-12 12:20:25 +01:00
Martin Liska
a15ebbcde0 Add a helper function: create_tmp_reg_or_ssa_name
* gimple-fold.c (create_tmp_reg_or_ssa_name): New function.
	(gimple_fold_builtin_memory_op): Use the function.
	(gimple_fold_builtin_strchr): Likewise.
	(gimple_fold_builtin_strcat): Likewise.
	(gimple_build): Likewise.

From-SVN: r241030
2016-10-12 10:50:40 +00:00
Ed Schonberg
5b4c102959 sem_ch12.adb (Check_Formal_Package_Instance): Skip an internal formal entity without a parent only if...
2016-10-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Check_Formal_Package_Instance): Skip an internal
	formal entity without a parent only if the corresponding actual
	entity has a different kind.
	* exp_ch9.adb (Build_Class_Wide_Master): If the master is
	declared locally, insert the renaming declaration after the
	master declaration, to prevent access before elaboration in gigi.

From-SVN: r241029
2016-10-12 12:40:37 +02:00
Ed Schonberg
05662a060a contracts.adb (Analyze_Contracts): For a type declaration, analyze an iterable aspect when present.
2016-10-12  Ed Schonberg  <schonberg@adacore.com>                    

	* contracts.adb (Analyze_Contracts): For a type declaration, analyze
	an iterable aspect when present.

From-SVN: r241028
2016-10-12 12:38:17 +02:00
Nathan Sidwell
d5e7854c12 * diagnostic.c (diagnostc_report_diagnostic): Fix formatting.
From-SVN: r241027
2016-10-12 10:36:35 +00:00
Arnaud Charlet
393525afc3 [multiple changes]
2016-10-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Check_Formal_Package_Instance): Handle properly
	an instance of a formal package with defaults, when defaulted
	parameters include tagged private types and array types.

2016-10-12  Tristan Gingold  <gingold@adacore.com>

	* restrict.ads, restrict.adb (Restricted_Profile): Adjust
	comment, use Restricted_Tasking to compare restrictions.
	* s-rident.ads (Profile_Name): Add Restricted_Tasking and
	reorder literals.
	(Profile_Info): Set restrictions for Restricted_Tasking.

2016-10-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Analyze_Full_Type_Declaration): Set Ghost status
	of type before elaborating inherited operations, so that the
	Ghost status is set properly for them.
	* ghost.adb (Check_Ghost_Overriding): A ghost subprogram can
	override an abstract subprogram coming from an interface
	operation.

From-SVN: r241026
2016-10-12 12:33:08 +02:00
Eric Botcazou
f40dbd80eb re PR ada/64057 (possible issue in the shared implementation of Ada.Strings.Unbounded)
2016-10-12  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/64057
	* exp_ch5.adb (Is_Non_Local_Array): Return true for every array
	that is not a component or slice of an entity in the current
	scope.

From-SVN: r241025
2016-10-12 12:32:53 +02:00
Pierre-Marie de Rodat
b4a9ef2f4d DWARF: space-optimize loc. descr. for integer literals on 32-bit targets
This enhances location description generation so that the generated
opcodes for integer literals are as space-efficient when HOST_WIDE_INT
is 64-bits large than when it's 32-bits large. In particular, this
reduces the size of the opcodes generated to produce big unsigned
literals using small literal integers instead.

gcc/

	* dwarf2out.c (int_loc_descriptor): Generate opcodes for another
	equivalent 32-bit constant (modulo 2**32) when that yields
	smaller instructions.
	(size_of_int_loc_descriptor): Update accordingly.

gcc/testsuite/

	* gnat.dg/debug8.adb: New testcase.

From-SVN: r241024
2016-10-12 08:38:49 +00:00
Pierre-Marie de Rodat
c0dbd22d2e DWARF: fix scoping for descriptions of local types
In Ada, it is possible to have nested subprograms in the following
configuration:

    procedure Parent is
       type T;
       [...]
       procedure Child (Value : T) is
       begin
          [...]
       end Child;
    begin
       [...]
    end Parent;

As we currently generate debugging information for Child first before
Parent, the debug info for T appears in global scope since the DIE for
Parent does not exist yet.

This patch makes sure that when we generate early debug info for a
nested function, we trigger generation for the parent function first.

gcc/

	* dwarf2out.c (dwarf2out_early_global_decl): For nested
	functions, call dwarf2out_decl on the parent function first.

gcc/testsuite/

	* gnat.dg/debug9.adb: New testcase.

From-SVN: r241023
2016-10-12 08:29:01 +00:00
Richard Biener
7d7f92889b match.pd ((X /[ex] A) * A -> X): Remove unnecessary constraint on the conversion.
2016-10-12  Richard Biener  <rguenther@suse.de>

	* match.pd ((X /[ex] A) * A -> X): Remove unnecessary constraint
	on the conversion.

From-SVN: r241022
2016-10-12 07:16:01 +00:00
Richard Biener
8a7c91cd62 2016-10-12 Richard Biener <rguenther@suse.de>
* tree-ssa-propagate.c
	(substitute_and_fold_dom_walker::before_dom_children): Do not
	ignore ASSERT_EXPRs but only preserve them.
	* tree-vrp.c (remove_range_assertions): Deal with ASSERT_EXPRs
	that have been propagated into.
	(vrp_finalize): Enable DCE for substitute_and_fold.

	* gcc.dg/tree-ssa/vrp35.c: Adjust.
	* gcc.dg/tree-ssa/vrp36.c: Likewise.
	* gcc.dg/tree-ssa/vrp46.c: Likewise.

From-SVN: r241021
2016-10-12 07:10:07 +00:00
Richard Biener
7dc2f5f123 re PR middle-end/77920 (186.crafty doesn't compile)
2016-10-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/77920
	* tree-vrp.c (simplify_div_or_mod_using_ranges): Simplify.
	(simplify_min_or_max_using_ranges): Pass in gsi and use it.
	(simplify_abs_using_ranges): Likewise.
	(simplify_conversion_using_ranges): Likewise.
	(simplify_stmt_using_ranges): Adjust.

	* gcc.dg/torture/pr77920.c: New testcase.

From-SVN: r241020
2016-10-12 07:08:49 +00:00
Jakub Jelinek
4a8b97cb8a re PR tree-optimization/77929 (ICE: verify_gimple failed (error: non-trivial conversion at assignment))
PR tree-optimization/77929
	* tree-ssa-reassoc.c (optimize_range_tests_var_bound): Handle
	(*ops)[ranges[i].idx]->op != ranges[i].exp case.

	* gcc.c-torture/compile/pr77929.c: New test.

From-SVN: r241019
2016-10-12 09:07:33 +02:00
Aaron Sawdey
83d3ca2849 re PR target/77934 (pattern for mtvsrdd needs to use b constraint not r)
2016-10-12  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>

	PR target/77934
	* config/rs6000/vmx.md (vsx_concat_<mode>): The mtvsrdd instruction
	needs a base register for arg 1.

From-SVN: r241017
2016-10-11 21:12:06 -05:00
GCC Administrator
9833e9315b Daily bump.
From-SVN: r241016
2016-10-12 00:16:12 +00:00
Jakub Jelinek
70f6d5e19b gcc/
* common.opt (Wimplicit-fallthrough) Turn into alias to
	-Wimplicit-fallthrough=3.  Remove EnabledBy.
	(Wimplicit-fallthrough=): New option.
	* gimplify.c (warn_implicit_fallthrough_r): Use
	OPT_Wimplicit_fallthrough_ instead of OPT_Wimplicit_fallthrough.
	* doc/invoke.texi (-Wimplicit-fallthrough): Document as alias
	to -Wimplicit-fallthrough=3.
	(-Wimplicit-fallthrough=): Document.
gcc/c-family/
	* c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
	(Wimplicit-fallthrough=): Enable for these languages by -Wextra.
	* c-opts.c (sanitize_cpp_opts): Initialize
	cpp_opts->cpp_warn_implicit_fallthrough.
gcc/testsuite/
	* c-c++-common/Wimplicit-fallthrough-25.c: New test.
	* c-c++-common/Wimplicit-fallthrough-26.c: New test.
	* c-c++-common/Wimplicit-fallthrough-27.c: New test.
	* c-c++-common/Wimplicit-fallthrough-28.c: New test.
	* c-c++-common/Wimplicit-fallthrough-29.c: New test.
	* c-c++-common/Wimplicit-fallthrough-30.c: New test.
	* c-c++-common/Wimplicit-fallthrough-31.c: New test.
	* c-c++-common/Wimplicit-fallthrough-32.c: New test.
	* c-c++-common/Wimplicit-fallthrough-33.c: New test.
libcpp/
	* include/cpplib.h (struct cpp_options): Add
	cpp_warn_implicit_fallthrough.
	* init.c (cpp_create_reader): Initialize it to 0.
	* lex.c (fallthrough_comment_p): Handle different
	cpp_warn_implicit_fallthrough levels.  Whitespace fixes.

From-SVN: r241013
2016-10-12 01:19:06 +02:00
Eric Botcazou
4803de58c5 sparc.c (emit_scc_insn): Remove direct support for EQ and GEU in DImode if TARGET_SUBXC.
* config/sparc/sparc.c (emit_scc_insn): Remove direct support for EQ
	and GEU in DImode if TARGET_SUBXC.
	* config/sparc/sparc.md (seqdi<W:mode>_zero): Remove TARGET_SUBXC.
	(seqdi<W:mode>_zero_subxc): Delete.
	(neg_seqdi<W:mode>_zero): Remove TARGET_VIS3.
	(neg_seqdi<W:mode>_zero_vis3): Delete.
	(plus_seqdi<W:mode>_zero): Likewise.
	(minus_seqdi<W:mode>_zero): Likewise.
	(plus_plus_sltu<W:mode>): Accept only register.
	(addx<W:mode>): Likewise.
	(plus_sltu<W:mode>_vis3): Likewise.
	(plus_plus_sltu<W:mode>_vis3): Likewise.
	(neg_sgeu<W:mode>_vis3): Delete.
	(minus_sgeu<W:mode>_vis3): Likewise.
	(addxc<W:mode>): Accept only registers.
	(neg_sltu<W:mode>_subxc): Write %%g0 instead of 0.
	(minus_neg_sltu<W:mode>_subxc): Accept only register.
	(neg_plus_sltu<W:mode>_subxc): Likewise.
	(minus_sltu<W:mode>_subxc): Write %%g0 instead of 0.
	(minus_minus_sltu<W:mode>_subxc): Accept only register.
	(sgeu<W:mode>_insn_subxc): Delete.
	(plus_sgeu<W:mode>_subxc): Likewise.
	(subxc<W:mode>): Accept only register.
	(scc splitter): Split always GEU again.

From-SVN: r241012
2016-10-11 22:22:38 +00:00
Jakub Jelinek
0a4613f0c5 iresolve.c (is_trig_resolved, [...]): Formatting fixes.
* iresolve.c (is_trig_resolved, resolve_trig_call): Formatting fixes.
	* simplify.c (simplify_trig_call, degrees_f, radians_f,
	gfc_simplify_atrigd, gfc_simplify_cotan): Likewise.

From-SVN: r241010
2016-10-11 23:45:34 +02:00
Jeff Law
1fdf74c7c9 re PR tree-optimization/77424 (Identical statements in if-else branches)
PR tree-optimization/77424
	* tree-ssa-threadupdate.c (thread_through_all_blocks): Remove
	dead conditionals.  Assert that all e->aux fields are NULL.

From-SVN: r241009
2016-10-11 15:41:51 -06:00
Steven G. Kargl
f6cf4810e9 re PR fortran/77942 (ICE: Floating point exception, in gfc_simplify_cshift, at fortran/simplify.c:1845)
2016-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/77942
	* simplify.c (gfc_simplify_cshift): Check for zero.

2016-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/77942
	* gfortran.dg/pr77942.f90

From-SVN: r241008
2016-10-11 21:03:04 +00:00
Eric Botcazou
2560723055 system-linux-armeb.ads (Backend_Overflow_Checks): Change to True.
* system-linux-armeb.ads (Backend_Overflow_Checks): Change to True.
	* system-linux-mips.ads (Backend_Overflow_Checks): Likewise.
	* system-linux-mips64el.ads (Backend_Overflow_Checks): Likewise.
	* system-linux-mipsel.ads (Backend_Overflow_Checks): Likewise.
	* system-linux-sparcv9.ads (Backend_Overflow_Checks): Likewise.
	* system-rtems.ads: Likewise.

From-SVN: r241003
2016-10-11 19:50:31 +00:00
David Malcolm
acda0629ff Split print_rtx into subroutines
gcc/ChangeLog:
	* print-rtl.c (print_rtx): Rename "i" to "idx".  Split out the
	operand-printing "switch" statement into...
	(print_rtx_operand_code_0): ...this new function, ...
	(print_rtx_operand_code_e): ...this new function, ...
	(print_rtx_operand_codes_E_and_V): ...this new function, ...
	(print_rtx_operand_code_i): ...this new function, ...
	(print_rtx_operand_code_r): ...this new function, ...
	(print_rtx_operand_code_u): ...this new function, ...
	(print_rtx_operand): ...and this new function.

From-SVN: r241002
2016-10-11 19:19:05 +00:00
Fritz Reese
ec08df86cb Fix bad commit for -fdec-math.
2016-10-11  Fritz Reese  <fritzoreese@gmail.com>

Fix bad commit for -fdec-math.

	* iresolve.c (get_radians, get_degrees): Fix sloppy commit.
	* simplify.c (degrees_f, radians_f): Ditto.

From-SVN: r241001
2016-10-11 18:44:05 +00:00
Jerry DeLisle
e8e5329d0c simplify.c (radians_f): Fix mpdr_mod.
2016-10-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* simplify.c (radians_f): Fix mpdr_mod.
	* ireolce.c (get_degrees): Declare tmp.

From-SVN: r241000
2016-10-11 18:31:50 +00:00
Andris Pavenis
91f2eb13cb adaint.c: Include process.h, signal.h, dir.h and utime.h for DJGPP.
2016-10-11  Andris Pavenis  <andris.pavenis@iki.fi>

	* adaint.c: Include process.h, signal.h, dir.h and utime.h for DJGPP.
	ISALPHA: include <ctype.h> and define to isalpha for DJGPP when IN_RTS is defined.
	(DIR_SEPARATOR) define to '\\' for DJGPP.
	(__gnat_get_file_names_case_sensitive): return 0 for DJGPP unless
	overriden in environment
	(__gnat_is_absolute_path): Support MS-DOS style absolute paths for DJGPP.
	(__gnat_portable_spawn): Use spewnvp for DJGPP.
	(__gnat_portable_no_block_spawn): Use spawnvp for DJGPP.
	(__gnat_portable_wait): Return 0 for DJGPP.

From-SVN: r240999
2016-10-11 21:24:45 +03:00
Andris Pavenis
a5297b0470 Makefile.in (LIBGNAT_TARGET_PAIRS): Define for DJGPP target
2016-10-11  Andris Pavenis  <andris.pavenis@iki.fi>

	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Define for DJGPP target
	(EH_MECHANISM): Define to -gcc for DJGPP
	* system-djgpp.ads: New file

From-SVN: r240998
2016-10-11 21:19:07 +03:00
Andris Pavenis
4f100fd7db ctrl_c.c: Do not use macro SA_RESTART for DJGPP.
2016-10-11  Andris Pavenis  <andris.pavenis@iki.fi>

	* ctrl_c.c: Do not use macro SA_RESTART for DJGPP.
	* gsocket.h: Do not support sockets for DJGPP.
	* init.c (__gnat_install_handler): Implememt for DJGPP
	* sysdep.c: Include <io.h> for DJGPP
	(_setmode): Define to setmode for DJGPP
	(__gnat_set_mode): Add implementation for DJGPP
	(__gnat_localtime_tzoff): Use localtime_r for DJGPP
	* terminals.c: Add DJGPP to list of unsupported platforms.
	* env.c (__gnat_clearenv): use _gnat_unsetenv on all entries for DJGPP

From-SVN: r240997
2016-10-11 21:12:52 +03:00
Uros Bizjak
a32fc2165b alpha-passes.def: New file.
* config/alpha/alpha-passes.def: New file.
	* config/alpha/t-alpha: New file.
	* config/alpha/alpha-protos.h (gcc::context, rtl_opt_pass): Declare.
	(make_pass_handle_trap_shadows): New prototype.
	(make_pass_align_insns): Ditto.
	* config/alpha/alpha.c (alpha_option_override): Don't register
	passes here.
	* config.gcc (alpha*-*-*) Add alpha/t-alpha to tmake_file.

From-SVN: r240996
2016-10-11 18:30:45 +02:00
Michael Meissner
66d76fc91e re PR target/77924 (-mfloat128-type change broke AIX)
2016-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/77924
	* config/rs6000/rs6000.c (rs6000_init_builtins): Only create the
	distinct __ibm128 IBM extended double type if long doubles are
	128-bits and the default format for long double is IEEE 128-bit.

From-SVN: r240994
2016-10-11 14:12:09 +00:00
Ian Lance Taylor
207f844e6e configure: redirect -fsplit-stack compilation to dev/null
Avoid an error message in the middle of the configure output.
    
    Patch by Eric Botcazou.
    
    Reviewed-on: https://go-review.googlesource.com/30813

From-SVN: r240993
2016-10-11 13:13:17 +00:00
Richard Biener
a26ff5b549 dwarf2out.c (DEBUG_STR_OFFSETS_SECTION): Remove conditional.
2016-10-11  Richard Biener  <rguenther@suse.de>

	* dwarf2out.c (DEBUG_STR_OFFSETS_SECTION): Remove conditional.
	(init_sections_and_labels): Use DEBUG_DWO_STR_OFFSETS_SECTION.
	(verify_die): New function.
	(dwarf2out_finish): Call it.
	(output_line_info): Handle case of -gsplit-dwarf without
	DWARF2_ASM_LINE_DEBUG_INFO.

From-SVN: r240992
2016-10-11 12:56:49 +00:00
Richard Biener
b13ff1f5e2 re PR debug/77931 (PASS->FAIL: gdb.cp/namespace.exp: print ina)
2016-10-11  Richard Biener  <rguenther@suse.de>

	PR debug/77931
	* gimple-low.c (lower_gimple_bind): Handle arbitrary common
	sub-chains of BLOCK_VARS and gimple_bind_vars.

From-SVN: r240991
2016-10-11 12:52:44 +00:00
Venkataramanan Kumar
1d0eabee39 Fix integer load reservation for -march=znver1
2016-10-11  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>

	* config/i386/znver1.md : Fix imov/imovx load type reservations.

From-SVN: r240990
2016-10-11 11:49:32 +00:00
Fritz Reese
8e8c2744fa New flag -fdec-math for COTAN and degree trig intrinsics.
2016-10-11  Fritz Reese  <fritzoreese@gmail.com>

New flag -fdec-math for COTAN and degree trig intrinsics.

	gcc/fortran/
	* lang.opt: New flag -fdec-math.
	* options.c (set_dec_flags): Enable with -fdec.
	* invoke.texi, gfortran.texi, intrinsic.texi: Update documentation.
	* intrinsics.c (add_functions, do_simplify): New intrinsics
	with -fdec-math.
	* gfortran.h (gfc_isym_id): New isym GFC_ISYM_COTAN.
	* gfortran.h (gfc_resolve_atan2d, gfc_resolve_cotan,
	gfc_resolve_trigd, gfc_resolve_atrigd): New prototypes.
	* iresolve.c (resolve_trig_call, get_degrees, get_radians,
	is_trig_resolved, gfc_resolve_cotan, gfc_resolve_trigd,
	gfc_resolve_atrigd, gfc_resolve_atan2d): New functions.
	* intrinsics.h (gfc_simplify_atan2d, gfc_simplify_atrigd,
	gfc_simplify_cotan, gfc_simplify_trigd): New prototypes.
	* simplify.c (simplify_trig_call, degrees_f, radians_f,
	gfc_simplify_cotan, gfc_simplify_trigd, gfc_simplify_atrigd,
	gfc_simplify_atan2d): New functions.

	gcc/testsuite/gfortran.dg/
	* dec_math.f90: New testsuite.

From-SVN: r240989
2016-10-11 11:21:07 +00:00
Eric Botcazou
9760fbe005 Minor tweaks
From-SVN: r240988
2016-10-11 10:37:24 +00:00
Nathan Sidwell
fbf4c5021d * MAINTAINERS: Update email address.
From-SVN: r240987
2016-10-11 10:36:33 +00:00
Senthil Kumar Selvaraj
ddefad9a08 Fix gcc.dg/tree-ssa/pr59597.c failure for avr
Declare loop index variable j as a 32 bit int instead of assuming ints 
are 32 bits. The smaller int size on the avr makes prior passes optimize
away the loop exit check (j < 10000000), as the constant is outside
the range of a 16 bit int.

gcc/testsuite/ChangeLog

2016-10-11  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	* gcc.dg/tree-ssa/pr59597.c: Typedef  __INT32_TYPE__ to i32.
	(main): Declare j as i32 instead of int.

From-SVN: r240986
2016-10-11 10:35:57 +00:00
Pierre-Marie de Rodat
656b031126 exp_dbug.adb (Debug_Renaming_Declaration): Process underlying types.
* exp_dbug.adb (Debug_Renaming_Declaration): Process underlying types.
	Emit GNAT encodings for object renamings involving record components
	whose normalized bit offset is not null.
	* uintp.h (UI_No_Uint): Declare.
	* gcc-interface/gigi.h (can_materialize_object_renaming_p): New.
	* gcc-interface/utils.c (can_materialize_object_renaming_p): New
	function.
	* gcc-interface/trans.c (gnat_to_gnu) <N_Object_Renaming_Declaration>:
	In code generation mode, materialize all renamings as long as they need
	debug info and we are not optimizing.

From-SVN: r240985
2016-10-11 10:35:43 +00:00
Jonathan Wakely
4bb4acee68 Optimise std::list::assign(initializer_list<T>) slightly
* include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
	_M_assign_dispatch directly with correct tag.

From-SVN: r240984
2016-10-11 11:33:41 +01:00
Jonathan Wakely
0470fad0d6 Simplify std::rethrow_if_nested definition
* doc/xml/manual/intro.xml: Document LWG 2484 status.
	* libsupc++/nested_exception.h (_Throw_with_nested_impl)
	(_Throw_with_nested_helper): Remove.
	(__throw_with_nested_impl): New overloaded functions to implement
	throw_with_nested logic.
	(throw_with_nested): Call __throw_with_nested_impl.
	(_Rethrow_if_nested_impl): Remove
	(__rethrow_if_nested_impl): New overloaded functions to implement
	rethrow_if_nested logic.
	(rethrow_if_nested): Call __rethrow_if_nested_impl.
	* testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
	problem cases from LWG 2484.

From-SVN: r240983
2016-10-11 11:33:36 +01:00
Jonathan Wakely
bf1de1ac98 Enable printers and xmethods for std::__cxx11::list
* python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
	Register printer for std::__cxx11::list.
	* python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
	std::__cxx11::list as well as std::list.

From-SVN: r240982
2016-10-11 11:33:29 +01:00
Jonathan Wakely
7571121f10 Remove redundant const qualifliers from string_view
* include/experimental/string_view (basic_string_view::_S_compare):
	Remove redundant const from return type.
	* include/std/string_view (basic_string_view:_S_compare): Likewise.

From-SVN: r240981
2016-10-11 11:33:24 +01:00
Jonathan Wakely
2c15eace95 More noexcept for standard mutex types and locks
* include/bits/std_mutex.h (mutex::native_handle)
	(lock_guard(mutex_type&, adopt_lock_t)
	(unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
	* include/std/mutex (recursive_mutex, timed_mutex)
	(recursive_timed_mutex): Likewise.

From-SVN: r240980
2016-10-11 11:33:16 +01:00
Thomas Preud'homme
e7b08761c7 PR77710: fix triplet in builtin-sprintf-warn-4.c
2016-10-11  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/testsuite/
    PR testsuite/PR77710
    * gcc.dg/tree-ssa/builtin-sprintf-warn-4.c: Use *-*-* as catch-all
    target triplet instead of *-*-*-*.

From-SVN: r240979
2016-10-11 10:26:10 +00:00
Pierre-Marie de Rodat
08ef2c1677 utils2.c (build_binary_op): Add a NO_FOLD argument.
* gcc-interface/utils2.c (build_binary_op): Add a NO_FOLD
	argument.  Disable folding when true.
	* gcc-interface/gigi.h (choices_to_gnu): Remove declaration.
	(build_binary_op): Update signature and comment.
	* gcc-interface/decl.c (choices_to_gnu): Make static.  Disable
	folding for all calls to build_binary_op.

From-SVN: r240978
2016-10-11 10:19:39 +00:00
Tristan Gingold
abb3ea16fa fe.h (Constant_Value): Declare.
* fe.h (Constant_Value): Declare.
	* gcc-interface/decl.c (compile_time_known_address_p): Also consider
	references to constants.

From-SVN: r240977
2016-10-11 10:11:49 +00:00
Eric Botcazou
87e25aac8e trans.c (gnat_to_gnu): Adjust comment.
* gcc-interface/trans.c (gnat_to_gnu) <N_Op_Add>: Adjust comment.
	<N_Op_Minus>: Add comment and missing guard.
	* gcc-interface/trans.c (build_binary_op_trapv): Use an explicit test.

From-SVN: r240976
2016-10-11 10:03:49 +00:00
Eric Botcazou
9fd7cd44d6 utils.c (type_unsigned_for_rm): New predicate.
* gcc-interface/utils.c (type_unsigned_for_rm): New predicate.
	(make_type_from_size): Use it.
	(unchecked_convert): Likewise.  Do not skip the extension step if the
	source type is not integral.

From-SVN: r240975
2016-10-11 09:52:35 +00:00