Commit Graph

137182 Commits

Author SHA1 Message Date
Andre Vehreschild 85b237bb66 unlimited_polymorphic_24.f03: Fixing copyright statement to reflect new ownership.
* gfortran.dg/unlimited_polymorphic_24.f03: Fixing copyright
	statement to reflect new ownership.

From-SVN: r221752
2015-03-28 11:39:24 +01:00
Paolo Carlini f8f40e69b0 re PR c++/42328 (rejects valid friend)
2015-03-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/42328
	* g++.dg/template/friend58.C: New.
	* g++.dg/template/friend59.C: Likewise.

From-SVN: r221751
2015-03-28 10:28:14 +00:00
Tim Shen 2894311302 re PR libstdc++/65420 (Enumerators in std::regex_constants should be constexpr variables instead)
PR libstdc++/65420
	* include/bits/regex_constants.h: Use constexpr variables for flags.
	* testsuite/28_regex/constants/constexpr.cc: New testcase.

From-SVN: r221750
2015-03-28 04:17:12 +00:00
GCC Administrator 5351658ccc Daily bump.
From-SVN: r221749
2015-03-28 00:16:11 +00:00
Jan Hubicka c97de76414 re PR ipa/65588 (lto1: internal compiler error: Segmentation fault)
PR ipa/65588
	* symtab.c (symtab_node::get_partitioning_class): Register vars
	are duplicated.
	* varpool.c (symbol_table::output_variables) Do not assemble unefined
	decls for non-symbols.

From-SVN: r221745
2015-03-27 21:35:51 +00:00
Tobias Burnus 62021f64e5 re PR c/65586 (-fopenmp-simd rejects valid input)
2015-03-27  Tobias Burnus  <burnus@net-b.de>

        PR c/65586
gcc/c/
        * c-parser.c (c_parser_skip_to_pragma_eol): Optionally, don't
        error out.
        (c_parser_omp_for, c_parser_omp_parallel, c_parser_omp_distribute,
        c_parser_omp_teams, c_parser_omp_target, c_parser_omp_declare):
        Update calls to not error for skipped omp pragmas with -fopenmp-simd.

gcc/cp/
        * parser.c (cp_parser_omp_for, cp_parser_omp_parallel,
        cp_parser_omp_distribute, cp_parser_omp_teams, cp_parser_omp_target,
        cp_parser_omp_declare): Don't show error for skipped omp pragmas
        with -fopenmp-simd.

gcc/testsuite/
        * g++.dg/gomp/openmp-simd-3.C: New.
        * gcc.dg/gomp/openmp-simd-3.c: New.

From-SVN: r221744
2015-03-27 21:21:52 +01:00
H.J. Lu a5eef8e9b0 Add default_binds_local_p_2 and use it for x86
Protected data symbol means that it can't be pre-emptied.  It doesn't mean
its address won't be external.  This is true for pointer to protected
function.  With copy relocation, address of protected data defined in the
shared library may also be external.  We only know that for sure at
run-time.  TARGET_BINDS_LOCAL_P should return false on protected data
symbol.

gcc/

	PR target/65248
	* output.h (default_binds_local_p_2): New.
	* varasm.c (default_binds_local_p_2): Renamed to ...
	(default_binds_local_p_3): This.  Don't return true on protected
	data symbol if protected data may be external.
	(default_binds_local_p): Use default_binds_local_p_3.
	(default_binds_local_p_1): Likewise.
	(default_binds_local_p_2): New.
	* config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
	default_binds_local_p_2 if TARGET_MACHO is undefined.

gcc/testsuite/

	PR target/65248
	* gcc.target/i386/pr65248-1.c: New file.
	* gcc.target/i386/pr65248-2.c: Likewise.
	* gcc.target/i386/pr65248-3.c: Likewise.
	* gcc.target/i386/pr65248-4.c: Likewise.

From-SVN: r221742
2015-03-27 11:11:00 -07:00
Jakub Jelinek f21a589997 re PR target/65593 (internal compiler error: in extract_insn, at recog.c:2343)
PR target/65593
	* config/i386/i386.c (legitimize_pic_address): If base
	is SYMBOL_REF or LABEL_REF using %rip addressing, force
	it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.

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

From-SVN: r221741
2015-03-27 18:35:14 +01:00
Paolo Carlini 4e55d61a1b re PR c++/59329 (Using `assert(...)` is not allowed in constexpr functions)
2015-03-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59329
	* g++.dg/cpp1y/constexpr-assert1.C: New.

From-SVN: r221740
2015-03-27 17:21:32 +00:00
Uros Bizjak 13be44ed9d Install back PR target/47230 fix (Revert the revert).
From-SVN: r221739
2015-03-27 18:08:44 +01:00
Marek Polacek 5964a3a672 re PR c++/65556 (ICE: verify_gimple failed (type precision mismatch in switch statement))
PR c++/65556
	* semantics.c (finish_switch_cond): If the unlowered type is not an
	enum, use the type of the condition.

	* c-c++-common/pr65556.c: New test.

From-SVN: r221738
2015-03-27 16:46:44 +00:00
Jason Merrill 0b7dccc63e re PR c++/65509 ([C++11] GCC rejects operator== with two distinct pointers as not constexpr)
PR c++/65509
	* decl.c (make_rtl_for_nonlocal_decl): Don't defer static
	constants.

From-SVN: r221737
2015-03-27 12:36:32 -04:00
Jan Hubicka 6e85fbaadd re PR target/65531 (ICE: symtab_node::verify failed: Two symbols with same comdat_group are not linked by the same_comdat_group list. with -fcheck-pointer-bounds -mmpx)
PR target/65531
	* symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
	comdat groups.

From-SVN: r221736
2015-03-27 15:19:35 +00:00
Jan Hubicka 931c8e9a04 re PR ipa/65600 (bost testsuite failure: ICE: Segmentation fault)
PR ipa/65600
	* cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
	of optimized out indirect call.
	(redirect_to_unreachable): Always build symbol table node for
	BUILT_IN_UNREACHABLE
	* g++.dg/torture/pr65600.C: New testcase.

From-SVN: r221735
2015-03-27 15:13:54 +00:00
Vladimir Makarov d81c5030d1 re PR target/65407 (Extra mask register move in gcc.target/i386/avx512f-kandnw-1.c)
2015-03-27  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/65407
	* ira-costs.c (record_reg_classes): Process all constraint string
	containing 0-9.

2015-03-27  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/65407
	* gcc.target/i386/avx512f-kandnw-1.c: Add scanning kmovw.

From-SVN: r221734
2015-03-27 14:47:24 +00:00
Bernd Schmidt 2166d2a1a0 Allow misaligned volatile stores in C6X.
* config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
	memory_operand.

From-SVN: r221732
2015-03-27 13:02:39 +00:00
Bernd Schmidt f50e5fcc32 Fix c6x-uclinux build failure.
* config/c6x/constraints.md (S3): New constraint.
	* config/c6x/c6x.md (real_jump): Use it.

From-SVN: r221731
2015-03-27 12:50:01 +00:00
Jonathan Wakely 04f69fda7a re PR libstdc++/65499 (Missing "using namespace literals::chrono_literals" in std::chrono)
PR libstdc++/65499
	* include/std/chrono: Add using-directive for literals to std::chrono.
	* testsuite/20_util/duration/literals/65499.cc: New.

From-SVN: r221730
2015-03-27 12:45:10 +00:00
Andre Vehreschild d239da042c unlimited_polymorphic_24.f03: Added copyright statement and cleanup.
* gfortran.dg/unlimited_polymorphic_24.f03: Added copyright
	statement and cleanup. Fixed typos.

From-SVN: r221729
2015-03-27 13:42:01 +01:00
Tom de Vries 3e8165a5df Add verification to libgomp.graphite/force-parallel-6.c
2015-03-27  Tom de Vries  <tom@codesourcery.com>

	PR testsuite/65594
	* testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
	(init, check): New function.
	(foo): Change return type to void.
	(main): Call init and check.

From-SVN: r221728
2015-03-27 12:10:16 +00:00
Tom de Vries 4d688c9a17 Scale down libgomp.graphite/force-parallel-6.c
2015-03-27  Tom de Vries  <tom@codesourcery.com>

	PR testsuite/65594
	* testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
	(foo): Use M for non-inner loops to scale down test-case.

From-SVN: r221727
2015-03-27 12:10:07 +00:00
Jan Hubicka 88e7d85fba re PR middle-end/65595 (Linux kernel build failure: ICE: in as_a, at is-a.h:192)
PR middle-end/65595
	* cgraph.c (cgraph_update_edges_for_call_stmt_node): Only
	do redirection if the call is not optimized out.

	* gcc.c-torture/compile/pr65595.c: New testcase.

From-SVN: r221726
2015-03-27 10:33:17 +00:00
Ilya Enkovich 79d6490452 re PR target/65495 (ICE: chkp_make_addressed_object_bounds: Unexpected tree code const_decl with -fcheck-pointer-bounds -mmpx and fortran)
PR target/65495
	* c-family/c.opt (fcheck-pointer-bounds): List supported languages.
	(fchkp-check-incomplete-type): Add LTO.
	(fchkp-zero-input-bounds-for-main): Likewise.
	(fchkp-first-field-has-own-bounds): Likewise.
	(fchkp-narrow-bounds): Likewise.
	(fchkp-narrow-to-innermost-array): Likewise.
	(fchkp-use-static-bounds): Likewise.
	(fchkp-use-static-const-bounds): Likewise.
	(fchkp-treat-zero-dynamic-size-as-infinite): Likewise.

From-SVN: r221725
2015-03-27 10:29:04 +00:00
Marek Polacek 7d1ff6f0a4 * gimple-iterator.h (gsi_prev_nondebug): Fix typo.
From-SVN: r221724
2015-03-27 10:21:26 +00:00
Marek Polacek 27674ca63c re PR sanitizer/65583 ([UBSAN] ICE segfault in inline_edge_summary)
PR sanitizer/65583
	* ubsan.c (ubsan_create_edge): New function.
	(instrument_bool_enum_load): Call it.
	(instrument_nonnull_arg): Likewise.
	(instrument_nonnull_return): Likewise.
	(instrument_object_size): Likewise.

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

From-SVN: r221723
2015-03-27 09:33:20 +00:00
Jan Hubicka 50cfd44e5d lto-streamer.h (class lto_location_cache): Turn loc_cache into auto_vec.
* lto-streamer.h (class lto_location_cache): Turn loc_cache into
	auto_vec.

From-SVN: r221722
2015-03-27 09:03:15 +00:00
Jan Hubicka c3d11ebeac lto-streamer.h (class lto_location_cache): New.
* lto-streamer.h (class lto_location_cache): New.
	(struct data_in): Add location_cache.
	(lto_input_location): Update prototype.
	(stream_input_location_now): New.
	* streamer-hooks.h (struct streamer_hooks): Make input_location to take
	pointer to location.
	(stream_input_location): Update.
	* ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
	(warn_odr): Apply location cache before warning.
	(lto_input_location): Update prototype.
	* gimple-streamer-in.c (input_phi, input_gimple_stmt):
	Use stream_input_location_now.
	* lto-streamer-in.c (lto_location_cache::current_cache): New static
	variable.
	(lto_location_cache::cmp_loc): New function.
	(lto_location_cache::apply_location_cache): New function.
	(lto_location_cache::accept_location_cache): New function.
	(lto_location_cache::revert_location_cache): New function.
	(lto_location_cache::input_location): New function.
	(lto_input_location): Do location caching.
	(stream_input_location_now): New function.
	(input_eh_region, input_struct_function_base): Use
	stream_input_location_now.
	(lto_data_in_create): use new.
	(lto_data_in_delete): Use delete.
	* tree-streamer-in.c (unpack_ts_block_value_fields,
	unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
	lto_input_ts_exp_tree_pointers): Update for cached location api.

From-SVN: r221721
2015-03-27 06:59:35 +00:00
Jan Hubicka eaeec5ecfa re PR lto/65536 (LTO line number information garbled)
PR lto/65536
	* lto-streamer.h (class lto_location_cache): New.
	(struct data_in): Add location_cache.
	(lto_input_location): Update prototype.
	(stream_input_location_now): New.
	* streamer-hooks.h (struct streamer_hooks): Make input_location to take
	pointer to location.
	(stream_input_location): Update.
	* ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
	(warn_odr): Apply location cache before warning.
	(lto_input_location): Update prototype.
	* gimple-streamer-in.c (input_phi, input_gimple_stmt):
	Use stream_input_location_now.
	* lto/lto.c (unify_scc): Revert location cache when unification
	suceeded.
	(lto_read_decls): Accept location cache after sucess;
	apply location cache before calling debug hooks.
	* lto-streamer-in.c (lto_location_cache::current_cache): New static
	variable.
	(lto_location_cache::cmp_loc): New function.
	(lto_location_cache::apply_location_cache): New function.
	(lto_location_cache::accept_location_cache): New function.
	(lto_location_cache::revert_location_cache): New function.
	(lto_location_cache::input_location): New function.
	(lto_input_location): Do location caching.
	(stream_input_location_now): New function.
	(input_eh_region, input_struct_function_base): Use
	stream_input_location_now.
	(lto_data_in_create): use new.
	(lto_data_in_delete): Use delete.
	* tree-streamer-in.c (unpack_ts_block_value_fields,
	unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
	lto_input_ts_exp_tree_pointers): Update for cached location api.

From-SVN: r221720
2015-03-27 06:58:59 +00:00
Jan Hubicka 38147a2a4e re PR ipa/65076 (16% tramp3d-v4.cpp compile time regression)
PR ipa/65076
	* passes.def: Add pass_nothrow.
	* ipa-pure-const.c: (pass_data_nothrow): New.
	(pass_nothrow): New.
	(pass_nothrow::execute): New.
	(make_pass_nothrow): New.
	* tree-pass.h (make_pass_nothrow): Declare.

From-SVN: r221719
2015-03-27 04:02:28 +00:00
Jan Hubicka a21065cad0 ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for edge to change by speculation resolution or redirection.
* ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for
	edge to change by speculation resolution or redirection.
	(edge_set_predicate): Likewise.
	(inline_summary_t::duplicate): Likewise.
	(remap_edge_summaries): Likewise.
	* gcc.c-torture/compile/20150327.c: New testcase.

From-SVN: r221718
2015-03-27 04:01:04 +00:00
GCC Administrator e59887e7b6 Daily bump.
From-SVN: r221717
2015-03-27 00:16:12 +00:00
Jan Hubicka 8e926cb160 ipa-inline.c (check_maybe_up, [...]): New macros.
* ipa-inline.c (check_maybe_up, check_maybe_down, check_match):
	New macros.
	(can_inline_edge_p): Relax option matching for always inline functions.

From-SVN: r221714
2015-03-26 23:43:27 +00:00
Eric Botcazou 06d750319f * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Deref>: New case.
From-SVN: r221711
2015-03-26 21:12:55 +00:00
Jan Hubicka f809d2138c * cif-code.def (CILK_SPAWN): New code.
From-SVN: r221710
2015-03-26 21:10:28 +00:00
Uros Bizjak bf3b2de71f re PR target/65561 (avx512fintrin.h:5344:1: internal compiler error: in curr_insn_transform, at lra-constraints.c:3494)
PR target/65561
	* config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm):
	Check operand 4 and operand 0 for equality.
	(avx512f_vextract<shuffletype>32x4_1_maskm):
	Check operand 6 and operand 0 for equality.
	(vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
	for equality.
	(vec_extract_hi_<mode>_maskm): Ditto.

From-SVN: r221709
2015-03-26 21:37:53 +01:00
Jonathan Wakely d1a74a287e re PR libstdc++/58038 (std::this_thread::sleep_until can cause inifinite sleep)
PR libstdc++/58038
	PR libstdc++/60421
	* include/std/thread (this_thread::sleep_for): Check for negative
	durations.
	(this_thread::sleep_until): Check for times in the past.
	* testsuite/30_threads/this_thread/58038.cc: New.
	* testsuite/30_threads/this_thread/60421.cc: New.

From-SVN: r221708
2015-03-26 19:59:08 +00:00
Jan Hubicka 1f4eb0e985 cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring dead calls back to live.
* cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring
	dead calls back to live.
	(cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency
	cross check to ...
	(cgraph_node::verify_node): ... here; verify only callee edges,
	not caller.

From-SVN: r221707
2015-03-26 19:56:25 +00:00
Jan Hubicka 5058c03758 ipa-inline-analysis.c (redirect_to_unreachable): New function.
* ipa-inline-analysis.c (redirect_to_unreachable): New function.
	(edge_set_predicate): Use it to mark unreachable edges.
	(inline_summary_t::duplicate): Remove unnecesary code.
	(remap_edge_summaries): Likewise.
	(dump_inline_summary): Report contains_cilk_spawn.
	(compute_inline_parameters): Compute contains_cilk_spawn.
	(inline_read_section, inline_write_summary): Stream
	contains_cilk_spawn.
	* ipa-inline.c (can_inline_edge_p): Do not tuch 
	DECL_STRUCT_FUNCTION that may not be available;
	use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
	remove check for callee_fun->can_throw_non_call_exceptions and
	replace it by optimization attribute check; check for flag_exceptions.
	* ipa-inline-transform.c (inline_call): Maintain
	DECL_FUNCTION_PERSONALITY
	* ipa-inline.h (inline_summary): Add contains_cilk_spawn.

From-SVN: r221706
2015-03-26 19:54:44 +00:00
Mikhail Maltsev 082276588e re PR c++/65154 (ICE with {} initialized array with string)
PR c++/65154
	* init.c (build_vec_init): Fix initializing aggregates
	with empty init list.

From-SVN: r221704
2015-03-26 15:51:58 -04:00
Jonathan Wakely 4280698d09 re PR libstdc++/62259 (atomic class doesn't enforce required alignment on powerpc64)
PR libstdc++/62259
	PR libstdc++/65147
	* include/std/atomic (atomic<T>): Increase alignment for types with
	the same size as one of the integral types.
	* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
	* testsuite/29_atomics/atomic/62259.cc: New.

From-SVN: r221703
2015-03-26 19:27:02 +00:00
Jakub Jelinek 552b2afefb re PR tree-optimization/65551 (FAIL: 26_numerics/complex/50880.cc execution test)
PR tree-optimization/65551
	* tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use
	TYPE_PRECISION only for INTEGRAL_TYPE_P types.

From-SVN: r221702
2015-03-26 20:17:44 +01:00
Richard Henderson 8be568519b re PR libstdc++/65033 (C++11 atomics: is_lock_free result does not always match the real lock-free property)
PR libstdc++/65033

 * include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build
 a fake pointer indicating type alignment.
 (__atomic_base<T *>::is_lock_free): Likewise.
 * include/std/atomic (atomic<T>::is_lock_free): Likewise.

From-SVN: r221701
2015-03-26 11:31:11 -07:00
Jason Merrill 41b38772cc re PR c++/65525 (ICE: sorry, unimplemented: unexpected AST of kind mem_ref (-std=c++14, ICE: in potential_constant_expression_1, at cp/constexpr.c:4432))
PR c++/65525
	* constexpr.c (potential_constant_expression_1): Handle MEM_REF.

From-SVN: r221699
2015-03-26 13:58:39 -04:00
Ian Lance Taylor ef99b3de9f re PR go/65587 (C package incomplete/not working for powerpc-linux-gnu)
PR go/65587
debug/elf: apply relocations for SHT_RELA/EM_PPC

From-SVN: r221698
2015-03-26 17:51:57 +00:00
Richard Biener fd0c2f00f6 re PR middle-end/65555 (ICE: verify_gimple failed (LHS in noreturn call))
2015-03-26  Richard Biener  <rguenther@suse.de>

	PR middle-end/65555
	* tree-cfg.c (verify_gimple_call): Do not require a call to
	have no LHS if it wasn't recognized as control altering yet.

	* g++.dg/torture/pr65555.C: New testcase.

From-SVN: r221697
2015-03-26 14:22:57 +00:00
Jakub Jelinek 672ff0b6fd re PR tree-optimization/64715 (__builtin_object_size (..., 1) fails to locate subobject)
PR tree-optimization/64715
	* passes.def: Add another instance of pass_object_sizes before
	ccp1.
	* tree-object-size.c (pass_object_sizes::execute): In
	first_pass_instance, only handle __bos (, 1) and __bos (, 3)
	calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
	__bos result and the computed constant.  Remove redundant
	checks, obsoleted by gimple_call_builtin_p test.

	* gcc.dg/builtin-object-size-15.c: New test.
	* gcc.dg/pr64715-1.c: New test.
	* gcc.dg/pr64715-2.c: New test.

From-SVN: r221694
2015-03-26 14:19:59 +01:00
Jakub Jelinek d00dce2749 var-tracking.c (variable_tracking_main_1): Don't track variables for targetm.no_register_allocation targets.
* var-tracking.c (variable_tracking_main_1): Don't track
	variables for targetm.no_register_allocation targets.

From-SVN: r221693
2015-03-26 14:19:00 +01:00
Richard Biener 83eb7847bc re PR middle-end/65519 (unable to coalesce ssa_names 2 and 87 which are marked as MUST COALESCE)
2015-03-26  Richard Biener  <rguenther@suse.de>

	PR middle-end/65519
	* gnat.dg/specs/opt2.ads: Fix testcase.

From-SVN: r221690
2015-03-26 09:26:26 +00:00
Uros Bizjak e5215d07ef install.texi (Building a native compiler): Document new bootstrap-lto-noplugin configuration.
* doc/install.texi (Building a native compiler): Document new
	bootstrap-lto-noplugin configuration.  Mention that bootstrap-lto
	configuration assumes that the host supports the linker plugin.

From-SVN: r221688
2015-03-26 09:18:56 +01:00
Oleg Endo 8ed7e5f1de t-linux (DEFAULT_ENDIAN, [...]): Remove.
gcc/
	* config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove.
	* config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.

From-SVN: r221685
2015-03-26 07:40:44 +00:00