Commit Graph

138793 Commits

Author SHA1 Message Date
Tom de Vries
1b7f61ebc8 Fix try_transform_to_exit_first_loop_alt
2015-06-08  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/66442
	* gimple-iterator.h (gimple_seq_nondebug_singleton_p): Add function.
	* tree-parloops.c (try_transform_to_exit_first_loop_alt): Return false
	if the loop latch is not a singleton.  Use
	gimple_seq_nondebug_singleton_p instead of gimple_seq_singleton_p.

From-SVN: r224218
2015-06-08 11:53:27 +00:00
Jonathan Wakely
aa4e0c43bc re PR libstdc++/66417 (std::codecvt_utf16<char32_t, 0x10FFFF, std::codecvt_mode::generate_header> generates incorrect output)
PR libstdc++/66417
	* src/c++11/codecvt.cc (write_utf16_code_point): Use adjust_byte_order
	for single UTF-16 units.
	* testsuite/22_locale/codecvt/codecvt_utf16/66417.cc: New.

From-SVN: r224217
2015-06-08 12:09:17 +01:00
Marek Polacek
d216b2e085 re PR sanitizer/66452 ([UBSAN] *.Lubsan_data0' defined but not used)
PR sanitizer/66452
	* toplev.c (check_global_declaration): Don't warn about artificial
	decls.

	* g++.dg/ubsan/pr66452.C: New test.

From-SVN: r224216
2015-06-08 10:35:24 +00:00
Aldy Hernandez
02de9c16f0 objc-runtime-shared-support.c (build_module_descriptor): Set TREE_USED on UOBJC_MODULES_decl.
* objc-runtime-shared-support.c (build_module_descriptor): Set
	TREE_USED on UOBJC_MODULES_decl.

From-SVN: r224213
2015-06-08 10:15:34 +00:00
Joseph Myers
2e188017ff * sv.po: Update.
From-SVN: r224211
2015-06-08 10:42:56 +01:00
Tom de Vries
88d91afd82 Don't dump low gimple functions in gimple dump
2015-06-08  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/66436
	* cgraphunit.c (cgraph_node::analyze): Don't dump function to gimple
	dump file.
	* gimplify.c: Add tree-dump.h include.
	(gimplify_function_tree): Dump function to gimple dump file.
	* stor-layout.c (finalize_size_functions): Don't dump function to gimple
	dump file.

	* gcc.dg/gomp/dump-new-function-2.c: New test.
	* gcc.dg/gomp/dump-new-function-3.c: Same.
	* gcc.dg/gomp/dump-new-function.c: Same.

From-SVN: r224210
2015-06-08 08:57:50 +00:00
Tom de Vries
9452ef0663 Add debug msg to dump_file in add_new_function
2015-06-08  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/66435
	* cgraphunit.c (cgraph_node::add_new_function): Dump message on new
	function.

	* gcc.dg/gomp/notify-new-function-2.c: New test.
	* gcc.dg/gomp/notify-new-function-3.c: Same.
	* gcc.dg/gomp/notify-new-function.c: Same.

From-SVN: r224209
2015-06-08 08:57:39 +00:00
Eric Botcazou
bd75ff94b2 Add missing file.
From-SVN: r224208
2015-06-08 07:28:30 +00:00
John Marino
90af599007 configure.ac (*-*-dragonfly*): New configuration.
gnattools/
	* configure.ac (*-*-dragonfly*): New configuration.
	* configure: Regenerate.
gcc/ada/
	* a-intnam-dragonfly.ads: New.
	* s-osinte-dragonfly.adb: Likewise.
	* s-osinte-dragonfly.ads: Likewise.
	* system-dragonfly-x86_64.ads: Likewise.
	* adaint.c: Add BSD macros.
	* cstreams.c: Likewise.
	* gsocket.h: Likewise.
	* link.c: Likewise.
	* socket.c: Likewise.
	* env.c: Add __DragonFly__, remove __FreeBSD__ macro.
	* init.c: Add __DragonFly__, change __gnat_install_handler
	prototype from empty to void.
	* initialize.c: Add __DragonFly__.
	* sysdep.c: Likewise.
	* s-osinte-freebsd.adb: Use __get_errno instead of __error.
	* tracebak.c: Set unwinder for i386 BSD.
	* gcc-interface/Makefile.in: Add x86_64 DragonFly, tweak
	x86_64 FreeBSD and x86 FreeBSD.

From-SVN: r224207
2015-06-08 07:27:56 +00:00
GCC Administrator
1dbb8d2d3d Daily bump.
From-SVN: r224206
2015-06-08 00:16:14 +00:00
Jan Hubicka
d1fe5b0686 Fix my previous commit.
From-SVN: r224202
2015-06-08 00:13:40 +00:00
Jan Hubicka
ccb5ad373f alias.c (get_alias_set): Be ready for TYPE_CANONICAL of ptr_type_node to not be ptr_to_node.
* alias.c (get_alias_set): Be ready for TYPE_CANONICAL
	of ptr_type_node to not be ptr_to_node.
	* tree.c (gimple_types_compatible_p): Do not match TREE_CODE of
	TREE_TYPE of pointers.
	* gimple-expr.c (useless_type_conversion): Reorder the check for
	function pointers and TYPE_CANONICAL.
	* lto.c (hash_canonical_type): Do not hash TREE_CODE of TREE_TYPE of
	pointers.
	* gfortran.dg/lto/bind_c-1_0.f90: New testcase.
	* gfortran.dg/lto/bind_c-1_1.c: New testcase.
	* gcc.dg/lto/c-compatible-types_0.c: Rename to ...
	* gcc.dg/lto/c-compatible-types-1_0.c: this one; fix template
	* gcc.dg/lto/c-compatible-types_1.c: Rename to ...
	* gcc.dg/lto/c-compatible-types-1_1.c: this one; harden for
	-fshort-enum.

From-SVN: r224201
2015-06-07 21:30:58 +00:00
François Dumont
d7b35f22be stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to outer scope and rename to ...
2015-06-07  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to
	outer scope and rename to ...
	(std::__hash_is_transparent<>): ... this.
	* include/debug/stl_map.h (map::find<>,
	map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
	member function templates to perform heterogeneous lookup.
	* include/debug/stl_multimap.h (multimap::find<>,
	multimap::lower_bound<>, multimap::upper_bound<>,
	multimap::equal_range<>): Likewise.
	* include/debug/stl_multiset.h (multiset::find<>,
	multiset::lower_bound<>, multiset::upper_bound<>,
	multiset::equal_range<>): Likewise.
	* include/debug/stl_set.h (set::find<>,
	set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
	* include/profile/stl_map.h (map::find<>, map::count<>,
	map::lower_bound<>, map::upper_bound<>, map::equal_range<>): Likewise.
	* include/profile/stl_multimap.h (multimap::find<>, multimap::count<>,
	multimap::lower_bound<>, multimap::upper_bound<>,
	multimap::equal_range<>): Likewise.
	* include/profile/stl_multiset.h (multiset::find<>, multiset::count<>,
	multiset::lower_bound<>, multiset::upper_bound<>,
	multiset::equal_range<>): Likewise.
	* include/profile/stl_set.h (set::find<>, set::count<>,
	set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
	* testsuite/23_containers/map/operations/1.cc: Check const variants.
	* testsuite/23_containers/multimap/operations/1.cc: Likewise.
	* testsuite/23_containers/multiset/operations/1.cc: Likewise.
	* testsuite/23_containers/set/operations/1.cc: Likewise.

From-SVN: r224200
2015-06-07 20:45:57 +00:00
GCC Administrator
3d2c9e18ff Daily bump.
From-SVN: r224198
2015-06-07 00:16:16 +00:00
John David Anglin
08b5b29ea7 re PR bootstrap/66319 (gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)')
PR bootstrap/66319
	* config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin
	defines.  Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++.
	Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or
	later.
	* config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise.
	Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901,
	_INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520,
	_INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++
	and non iso if unix2003.

From-SVN: r224192
2015-06-06 18:33:06 +00:00
Thomas Koenig
7dde99260b re PR fortran/47359 (Recursive functions of intrinsic names generates invalid assembler)
2015-06-06  Thomas Koenig  <tkoenig@netcologne.de>

	PR fortran/47359
	* ChangeLog: Correct PR number in previous commit.

From-SVN: r224191
2015-06-06 16:16:03 +00:00
Thomas Koenig
cbf560d708 re PR fortran/47359 (Recursive functions of intrinsic names generates invalid assembler)
2015-06-06  Thomas Koenig  <tkoenig@netcologne.de>

	PR fortran/47359
	* arith.c (eval_intrinsic_op): Set warn flag for
	gfc_type_convert_binary if -Wconversion or -Wconversion-extra
	are set.
	(wprecision_real_real): New function.
	(wprecision_int_real): New function.
	(gfc_int2int): If -fno-range-check and -Wconversion are specified
	and it is a narrowing conversion, warn.
	(gfc_int2real): If there is a change in value for the conversion,
	warn.
	(gfc_int2complex):  Likewise.
	(gfc_real2int): If there is a fractional part to the real number,
	warn with -Wconversion, otherwise warn with -Wconversion-extra.
	(gfc_real2real): Emit warning if the constant was changed by
	conversion with either -Wconversion or -Wconversion-extra.  With
	-Wconversion-extra, warn if no warning was issued earlier.
	(gfc_real2complex):  Likewise.
	(gfc_complex2int): For -Wconversion or -Wconversion-extra, if
	there was an imaginary part, warn; otherwise, warn for change in
	value.  Warn with -Wconversion-extra if no other warning was
	issued.
	(gfc_complex2real): For -Wconversion or -Wconversion-extra, if
	there was an imaginary part, warn; otherwise, warn for change in
	value. Warn with -Wconversion-extra if no other warning was
	issued.
	(gfc_complex2complex):  For -Wconversion, warn if the value of
	either the real or the imaginary part was changed.  Warn for
	-Wconversion-extra if no prior warning was issued.
	* expr.c (gfc_check_assign):  Remove check for change in value.
	* primary.c (match_real_constant): For -Wconversion-extra, check
	against a number in which the last non-zero digit has been
	replaced with a zero.  If the number compares equal, warn.
	* intrinsic.c (gfc_convert_type_warn):  Do not warn about constant
	conversions.

2015-06-06  Thomas Koenig  <tkoenig@netcologne.de>

	PR fortran/47359
	* gfortran.dg/array_constructor_type_17.f03: Adjust error message.
	* gfortran.dg/warn_conversion.f90: Add warning for change in value
	for assignment.
	* gfortran.dg/warn_conversion_3.f90: Add warnings.
	* gfortran.dg/warn_conversion_5.f90: New test.
	* gfortran.dg/warn_conversion_6.f90: New test.
	* gfortran.dg/warn_conversion_7.f90: New test.

From-SVN: r224190
2015-06-06 16:12:39 +00:00
Aldy Hernandez
5a7929c860 * dwarf2out.c (gen_lexical_block_die): Initialize stmt_die.
From-SVN: r224189
2015-06-06 15:16:02 +00:00
Richard Sandiford
e67d1102e0 emit-rtl.c, [...]: Replace rtx base types with more derived ones.
gcc/
	* emit-rtl.c, expr.c, gcse.c, optabs.c, optabs.h, print-rtl.c,
	rtl.h, bb-reorder.c, builtins.c, calls.c, cfgbuild.c, cfgexpand.c,
	cfgrtl.c, cilk-common.c, config/i386/i386.md, cse.c, dwarf2cfi.c,
	except.c, final.c, function.c, gcse-common.c, genemit.c,
	haifa-sched.c, ifcvt.c, jump.c, loop-invariant.c, loop-iv.c,
	lra-constraints.c, lra.c, reload1.c, resource.c, rtlanal.c,
	sched-deps.c, sched-ebb.c, sel-sched-ir.c, sel-sched.c,
	shrink-wrap.c, stmt.c, store-motion.c: Replace rtx base types with
	more derived ones.

From-SVN: r224187
2015-06-06 13:14:45 +00:00
Eric Botcazou
ad42dbbeba Add missing entry.
From-SVN: r224185
2015-06-06 07:49:11 +00:00
Eric Botcazou
0f50b3db8a utils.c (note_types_used_by_globals): Tweak comment.
* gcc-interface/utils.c (note_types_used_by_globals): Tweak comment.
	* gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.

From-SVN: r224184
2015-06-06 07:44:03 +00:00
Mikhail Maltsev
bb5c49564f Promote types of rtl expressions to rtx_insn in gen_split and gen_peephole2
* combine.c (combine_split_insns): Remove cast.
	* config/bfin/bfin.c (hwloop_fail): Add cast in try_split call.
	* config/sh/sh.c (sh_try_split_insn_simple): Remove cast.
	* config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Add cast.
	* emit-rtl.c (try_split): Promote type of trial argument to rtx_insn.
	* genemit.c (gen_split): Change return type of generated functions to
	rtx_insn.
	* genrecog.c (get_failure_return): Use NULL instead of NULL_RTX.
	(print_subroutine_start): Promote rtx to rtx_insn in gen_split_* and
	gen_peephole2_* functions.
	(print_subroutine, main): Likewise.
	* recog.c (peephole2_optimize): Remove cast.
	(peep2_next_insn): Promote return type to rtx_insn.
	* recog.h (peep2_next_insn): Fix prototype.
	* rtl.h (try_split, split_insns): Likewise.

From-SVN: r224183
2015-06-06 05:39:16 +00:00
DJ Delorie
2bc43588af msp430.c (msp430_asm_integer): Support addition and subtraction too.
* config/msp430/msp430.c (msp430_asm_integer): Support addition
and subtraction too.

From-SVN: r224182
2015-06-06 01:15:16 -04:00
GCC Administrator
9feddb7149 Daily bump.
From-SVN: r224181
2015-06-06 00:16:17 +00:00
Kaz Kojima
852776b330 re PR libstdc++/6641 (-D__USE_MALLOC doesn't link)
PR target/6641
* Split Snd constraint into Sid and Ssd.  Disparage Sid/z alternative
  of *mov<mode> insn to avoid spill failure.

From-SVN: r224177
2015-06-05 23:36:26 +00:00
Steven G. Kargl
d012125dd7 re PR fortran/66347 (Seg fault (ICE) on compile)
2015-06-05  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66347
	* resolve.c (apply_default_init_local): Do not dereference a NULL
	pointer.

2015-06-05  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66347
	* gfortran.dg/blockdata_9.f: New test.

From-SVN: r224175
2015-06-05 23:01:22 +00:00
David Malcolm
e475345168 Remove jit_langhook_post_compilation_parsing_cleanups
gcc/jit/ChangeLog:
	* dummy-frontend.c
	(jit_langhook_post_compilation_parsing_cleanups): Remove.
	(LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): Remove
	* jit-playback.c (gcc::jit::playback::context::new_global): Add
	call to varpool_node::finalize_decl.
	(gcc::jit::playback::context::finalize_global_decls): Remove.
	* jit-playback.h
	(gcc::jit::playback::context::finalize_global_decls): Remove.

From-SVN: r224173
2015-06-05 21:20:07 +00:00
Thomas Koenig
9c3e121b01 re PR fortran/66385 (ICE: FORALL writing multiple elements of one array)
2015-06-05  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/66385
	* frontend-passes.c (combine_array_constructor): Return early if
	inside a FORALL loop.

2015-06-05  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/66385
	* gfortran.dg/forall_17.f90:  New test.

From-SVN: r224172
2015-06-05 20:51:08 +00:00
David Malcolm
e7547bc697 Fix build of jit after debug-early merger
gcc/jit/ChangeLog:
	* dummy-frontend.c (jit_langhook_write_globals): Rename to...
	(jit_langhook_post_compilation_parsing_cleanups): ...this, and
	eliminate calls to finalize_compilation_unit and
	write_global_decls_2.
	(LANG_HOOKS_WRITE_GLOBALS): Rename to...
	(LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): ...this and
	redirect from jit_langhook_write_globals to
	jit_langhook_post_compilation_parsing_cleanups.
	* jit-playback.c
	(gcc::jit::playback::context::write_global_decls_1): Rename to...
	(gcc::jit::playback::context::finalize_global_decls): ...this.
	(gcc::jit::playback::context::write_global_decls_1): Delete.
	* jit-playback.h
	(gcc::jit::playback::context::write_global_decls_1): Rename to...
	(gcc::jit::playback::context::finalize_global_decls): ...this.
	(gcc::jit::playback::context::write_global_decls_1): Delete.

From-SVN: r224170
2015-06-05 20:23:19 +00:00
Aldy Hernandez
47d201f03d * jcf-parse.c: Include toplev.h.
From-SVN: r224168
2015-06-05 19:40:40 +00:00
Jason Merrill
39f383b700 re PR c++/66405 (ICE: in tsubst, at cp/pt.c:11984)
PR c++/66405
	* pt.c (argument_pack_element_is_expansion_p): Return 2 if
	the expansion has extra args.
	(use_pack_expansion_extra_args_p): Return true in that case.

From-SVN: r224163
2015-06-05 15:14:02 -04:00
Jason Merrill
85d9a29915 re PR c++/66405 (ICE: in tsubst, at cp/pt.c:11984)
PR c++/66405
	* pt.c (type_dependent_expression_p): EXPR_PACK_EXPANSION is
	dependent even if it has a type.

From-SVN: r224162
2015-06-05 15:13:56 -04:00
Aldy Hernandez
d7438551ff Merge debug-early branch into mainline.
* dwarf2out.c: Remove deferred_locations*.
	(dwarf2_debug_hooks): Add early_finish hook.
	Remove global_decl hook.
	Add early_global_decl and late_global_decl hook.
	New global early_dwarf.
	New structure set_early_dwarf.
	(output_die): Indicate whether a DIE was generated early
	when generating assembly with -dA.
	(struct limbo_die_struct): Document created_for field.
	Remove file_table_last_lookup.
	(remove_AT): Return TRUE if successful.
	(remove_child_TAG): Clear die_parent.
	(reparent_child): New function abstracted from...
	(splice_child_die): ...here.
	(new_die): ICE if a DIE ends up in limbo too late.
	(check_die): New.
	(defer_location): Remove.
	(add_subscript_info): Reuse DW_TAG_subrange_type if available.
	(fill_variable_array_bounds): New.
	(decl_start_label): Call fill_variable_array_bounds.
	(gen_formal_parameter_die): Rewrite to reuse previously generated
	DIEs.
	(gen_subprogram_die): Same.
	(gen_variable_die): Same.
	(gen_const_die): Same.
	(gen_label_die): Same.
	(gen_lexical_block_die): Same.
	(decl_will_get_specification_p): New.
	(local_function_static): New.
	(gen_struct_or_union_type_die): Fill in variable-length fields.
	(gen_typedef_die): Fill in variable-length typedefs.
	(gen_tagged_type_die): Gracefully return on error_mark_node.
	Handle re-entrancy.
	(gen_type_die_with_usage): Handle variable-length types.
	Remove duplicate code for ARRAY_TYPE case.
	(process_scope_var): Only process imported modules during early
	dwarf.
	(dwarf2out_early_global_decl): New.
	(dwarf2out_late_global_decl): Rename from dwarf2out_global_decl.
	(dwarf2out_type_decl): Set early_dwarf while calling
	dwarf2out_decl.
	(dwarf2out_decl): Verify that we did not recreate a previously
	generated DIE.
	Do not return on DECL_EXTERNALs in VAR_DECLs.
	Abstract some code to local_function_static.
	(lookup_filename): Remove use of file_table_last_lookup.
	Gracefully exit on missing file_name.
	(dwarf2out_finish): Verify limbo list.
	Remove deferred_locations_list use.
	Move deferred_asm_name and limbo flushing to...
	(dwarf2out_early_finish): ...here.  New.
	(dwarf2out_c_finalize): Remove set of deferred_location_list,
	deferred_asm_name, and file_table_last_lookup.
	* cgraph.h (referred_to_p): Add default argument.
	* cgraphunit.c (referred_to_p): Add and handle include_self
	argument.
	(analyze_functions): Add first_time argument.
	Call check_global_declaration for all symbols.
	Call late_global_decl for nodes for moribund nodes.
	(finalize_compilation_unit): Add new argument to
	analyze_functions.
	Call early_global_decl for functions.
	Call early_finish debug hook.
	* dbxout.c (dbxout_early_global_decl): New.
	(dbxout_late_global_decl): New.  Adapted from dbxout_global_decl.
	(dbx_debug_hooks): Add new hooks.
	(xcoff_debug_hooks): Same.
	* debug.c (do_nothing_debug_hooks): Add early_finish field.
	Add early and late debug hooks.
	Remove global_decl hook.
	* debug.h (struct gcc_debug_hooks): Add early_finish,
	early_global_decl, and late_global_decl fields.
	Remove global_decl field.
	Document gcc_debug_hooks.
	* gengtype.c (output_typename): Remove.
	* godump.c (go_early_global_decl): New.
	(go_late_global_decl): New.
	(go_global_decl): Remove.
	(dump_go_spec_init): Remove global_decl.  Add
	{early,late}_global_decl.
	* langhooks-def.h (LANG_HOOKS_WRITE_GLOBALS): Remove.
	(LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New.
	* langhooks.c (lhd_warn_unused_global_decl): Adjust comment.
	(write_global_declarations): Remove.
	(global_decl_processing): New.
	* langhooks.h (struct lang_hooks_for_decls): Remove
	final_write_globals field.
	Add post_compilation_parsing_cleanups field.
	* passes.c (rest_of_decl_compilation): Call early_global_decl.
	* sdbout.c: Add early and late_global_decl hooks.  Remove
	sdbout_global_decl hook.
	Add early_finish field for sdb_debug_hooks.
	(sdbout_global_decl): Remove.
	(sdbout_early_global_decl): New.
	(sdbout_late_global_decl): New.
	* timevar.def (TV_PHASE_LATE_PARSING_CLEANUPS): New.
	* toplev.c (check_global_declaration): Rename from
	check_global_declaration_1.
	Adapt to use symtab infrastructure.
	(check_global_declarations): Remove.
	(emit_debug_global_declarations): Remove.
	(compile_file): Remove call to final_write_globals langhook.
	Run the actual compilation process.
	Perform any post compilation parser cleanups.
	Generate late debug info.
	* toplev.h (check_global_declaration): New.
	(check_global_declaration_1): Remove.
	(check_global_declarations): Remove.
	(write_global_declarations): Remove.
	(emit_debug_global_declarations): Remove.
	(global_decl_processing): New.
	* tree-core.h (struct tree_block): Add DIE field.
	* tree.h (BLOCK_DIE): New.
	* vmsdbgout.c (vmsdbgout_global_decl): Remove function and its use
	throughout.
	(vmsdbgout_early_global_decl): New.
	(vmsdbgout_late_global_decl): New.
	Add early_finish debug hook field to vmsdbg_debug_hooks.
	Remove vmsdbgout_decl to vmsdbgout_function_decl.
	Add early and late_global_decl debug hooks.

From-SVN: r224161
2015-06-05 18:44:53 +00:00
Jonathan Wakely
46ba128114 status_cxx2017.xml: Update status tables.
* doc/xml/manual/status_cxx2017.xml: Update status tables.
	* doc/html/manual/*: Regenerate.
	* include/std/type_traits (bool_constant): Define.
	* testsuite/20_util/bool_constant/requirements.cc: New.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Likewise.

From-SVN: r224160
2015-06-05 18:17:53 +01:00
Steven G. Kargl
e5609c8fee [multiple changes]
2015-06-03  Russell Whitesides  <russelldub@gmail.com>
	    Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/40958
	PR fortran/60780
	PR fortran/66377
	* module.c (load_equiv): Add check for loading duplicate EQUIVALENCEs
	from different modules.  Eliminate the pruning of unused
	equivalence-objects


2015-06-03  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66377
	gfortran.dg/equiv_9.f90: New test.

From-SVN: r224159
2015-06-05 16:54:53 +00:00
Jonathan Wakely
712266515f shared_mutex (__shared_mutex_pthread, [...]): New helper types implementing the shared mutex requirements.
* include/std/shared_mutex (__shared_mutex_pthread,
	__shared_mutex_cv): New helper types implementing the shared mutex
	requirements.
	(shared_mutex): New type for C++17.
	(shared_timed_mutex): Derive from one of the new helper types.
	* testsuite/30_threads/shared_mutex/cons/1.cc: New.
	* testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
	* testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
	* testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
	New.
	* testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
	* testsuite/30_threads/shared_mutex/try_lock/2.cc: New.

From-SVN: r224158
2015-06-05 17:31:05 +01:00
Julian Brown
e918809cd0 print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings.
2015-06-05  Julian Brown  <julian@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings.
	* config/t-sysroot-suffix (sysroot-suffix.h): Pass MULTILIB_REUSE
	to print-sysroot-suffix.sh script.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>

From-SVN: r224156
2015-06-05 12:01:45 -04:00
Jonathan Wakely
9bbcf8b85b Fix date of ChangeLog entry.
From-SVN: r224155
2015-06-05 17:00:04 +01:00
Tom de Vries
7c82d82716 Add transform_to_exit_first_loop_alt
2015-06-05  Tom de Vries  <tom@codesourcery.com>

	merge from gomp4 branch:
	2015-05-28  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/65443
	* tree-parloops.c (replace_imm_uses, replace_uses_in_bb_by)
	(replace_uses_in_bbs_by, transform_to_exit_first_loop_alt)
	(try_transform_to_exit_first_loop_alt): New function.
	(transform_to_exit_first_loop): Use
	try_transform_to_exit_first_loop_alt.

	* gcc.dg/parloops-exit-first-loop-alt-2.c: New test.
	* gcc.dg/parloops-exit-first-loop-alt-3.c: New test.
	* gcc.dg/parloops-exit-first-loop-alt.c: New test.

	* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.

From-SVN: r224154
2015-06-05 15:57:34 +00:00
Ville Voutilainen
ddb63209a8 Add __is_nothrow_swappable and take it into use.
2015-06-04  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Add __is_nothrow_swappable and take it into use.
	* include/bits/algorithmfwd.h (swap): Only declare for C++98 mode.
	* include/bits/move.h (swap): Add constraints in C++11 and later.
	* include/bits/stl_pair.h (swap): Use __is_nothrow_swappable
	for the free swap function for pair.
	* include/bits/stl_queue.h (swap): Use __is_nothrow_swappable
	for the free swap functions for queue and priority_queue.
	* include/bits/stl_stack.h (swap): Use __is_nothrow_swappable
	for the free swap function for stack.
	* include/debug/array (swap): Use __is_nothrow_swappable
	for the free swap function for array.
	* include/profile/array (swap): Likewise.
	* include/std/array (swap): Likewise.
	* include/std/tuple (_Tuple_impl::_M_swap): Use __is_nothrow_swappable.
	* include/std/type_traits (__is_swappable_impl::__is_swappable,
	__is_nothrow_swappable_impl, __is_nothrow_swappable): New.
	* testsuite/20_util/is_nothrow_swappable/requirements/
	explicit_instantiation.cc: New.
	* testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
	New.
	* testsuite/20_util/is_nothrow_swappable/value.cc: New.

From-SVN: r224153
2015-06-05 15:44:26 +01:00
Nathan Sidwell
ac59f9beec re PR c++/52595 ([DR 325] commas and non-static data member initializers don't mix)
cp/
	PR c++/52595
	* parser.c (cp_parser_cache_defarg): Continue looking for
	declarators when scanning a potential template argument list of an
	NSDMI.

	testsuite/
	PR c++/52595
	* g++,dg/cpp0x/nsdmi-defer5.C: Add template case.

From-SVN: r224152
2015-06-05 13:35:30 +00:00
Uros Bizjak
22749d7e82 * config/linux/x86/futex_bits.h (sys_futex0): Cosmetics.
From-SVN: r224151
2015-06-05 12:57:07 +02:00
Uros Bizjak
6aa54a8b25 futex.h (futex_wait): Remove doouble initialization.
* config/linux/x86/futex.h (futex_wait) [__x86_64__]:
	Remove doouble initialization.

From-SVN: r224150
2015-06-05 12:56:14 +02:00
Kugan Vivekanandarajah
ea4e787261 neon-reload-class.c: Remove movw and movt.
gcc/testsuite/ChangeLog:

2015-06-05  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* gcc.target/arm/neon-reload-class.c: Remove movw and movt.

From-SVN: r224149
2015-06-05 09:17:08 +00:00
James Greenhalgh
f8940d4a09 [Patch] The comparison in a compare exchange should not take place in VOIDmode
gcc/

	* builtins.c (expand_builtin_atomic_compare_exchange): Call
	emit_cmp_and_jump_insns with the mode of target.

From-SVN: r224148
2015-06-05 08:47:44 +00:00
Venkataramanan Kumar
edf1fd6def sse.md (sse3_mwait): Swap the operand constriants.
2015-06-05  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>

        * config/i386/sse.md (sse3_mwait): Swap the operand constriants.

From-SVN: r224146
2015-06-05 06:38:32 +00:00
DJ Delorie
14ae1d88b3 msp430.md (movsi_s): New.
* config/msp430/msp430.md (movsi_s): New.  Special case for
storing a 20-bit symbol into a 32-bit register.
* config/msp430/msp430.c (msp430_subreg): Add support for it.
* config/msp430/predicates.md (msp430_symbol_operand): New.

From-SVN: r224145
2015-06-05 01:00:05 -04:00
GCC Administrator
b1ada49be0 Daily bump.
From-SVN: r224143
2015-06-05 00:16:15 +00:00
Paolo Carlini
6fc7d1d4ca diag-5.mm: Adjust per r224097.
2015-06-04  Paolo Carlini  <paolo.carlini@oracle.com>

	* obj-c++.dg/tls/diag-5.mm: Adjust per r224097.

From-SVN: r224139
2015-06-04 21:18:46 +00:00
Sriraman Tallam
4bb794e25d c-common.c (noplt): New attribute.
2015-06-04  Sriraman Tallam  <tmsriram@google.com>

	* c-family/c-common.c (noplt): New attribute.
	(handle_noplt_attribute): New handler.
	* calls.c (prepare_call_address): Check for noplt
	attribute.
	* config/i386/i386.c (ix86_expand_call): Check
	for noplt attribute.
	(ix86_nopic_noplt_attribute_p): New function.
	(ix86_output_call_insn): Output indirect call for non-pic
	no plt calls.
	* doc/extend.texi (noplt): Document new attribute.
	* doc/invoke.texi: Document new attribute.
	* testsuite/gcc.target/i386/noplt-1.c: New test.
	* testsuite/gcc.target/i386/noplt-2.c: New test.
	* testsuite/gcc.target/i386/noplt-3.c: New test.
	* testsuite/gcc.target/i386/noplt-4.c: New test.

This patch does two things:

* Adds new generic function attribute "noplt" that is similar in functionality
  to -fno-plt except that it applies only to calls to functions that are marked
  with this attribute.
* For x86_64, it makes -fno-plt(and the attribute) also work for non-PIC code by
  directly generating an indirect call via a GOT entry.

From-SVN: r224138
2015-06-04 21:14:10 +00:00