Commit Graph

137191 Commits

Author SHA1 Message Date
John David Anglin
dc84325087 re PR libffi/65567 (ERROR: tcl error sourcing /test/gnu/gcc/gcc/libffi/testsuite/libffi.complex/complex.exp)
PR libffi/65567
	* testsuite/lib/libffi.exp (libffi_feature_test): Use split to ensure
	lindex is applied to a list.

From-SVN: r221765
2015-03-29 20:46:17 +00:00
Jan Hubicka
43b11666cc re PR ipa/65588 (lto1: internal compiler error: Segmentation fault)
PR ipa/65588
	* gcc.target/i386/pr65588.c: New testcase.

From-SVN: r221764
2015-03-29 15:41:55 +00:00
Martin Jambor
af21714c7b re PR ipa/65478 (crafty performance regression)
PR ipa/65478
	* params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
	(PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
	* ipa-prop.h (ipa_node_params): New flags node_within_scc and
	node_calling_single_call.
	* ipa-cp.c (count_callers): New function.
	(set_single_call_flag): Likewise.
	(initialize_node_lattices): Count callers and set single_flag_call if
	necessary.
	(incorporate_penalties): New function.
	(good_cloning_opportunity_p): Use it, dump new flags.
	(propagate_constants_topo): Set node_within_scc flag if appropriate.
	* doc/invoke.texi (ipa-cp-recursion-penalty,
	ipa-cp-single-call-pentalty): Document.

From-SVN: r221763
2015-03-29 15:38:52 +00:00
Thomas Koenig
a1bff765cb re PR libfortran/65563 (Segfault on reopening fort.xxx file with explicit name)
2015-03-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libgfortran/65563
	Refer to correct PR in ChangeLog.

From-SVN: r221762
2015-03-29 14:33:09 +00:00
Thomas Koenig
4c22e58cde re PR target/65564 (builtin-bnd-narrow-ptr-bounds-2-nov.c:15:1: internal compiler error: in simplify_subreg, at simplify-rtx.c:5745)
2015-03-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libgfortran/65564
	* gfortran.dg/open_errors_2.f90:  New test.

From-SVN: r221761
2015-03-29 14:20:29 +00:00
GCC Administrator
7954e61571 Daily bump.
From-SVN: r221760
2015-03-29 00:16:13 +00:00
John David Anglin
f5ffa61d75 re PR libstdc++/65500 (FAIL: 17_intro/headers/c++2014/all_attributes.cc (test for excess errors))
PR libstdc++/65500
	* inclhack.def (hpux11_lwp_rwlock_valid): New fix.
	* fixincl.x: Regenerate.
	* tests/base/sys/pthread.h [HPUX11_LWP_RWLOCK_VALID_CHECK]: New test.

From-SVN: r221757
2015-03-28 17:27:22 +00:00
Jerry DeLisle
9ddb384381 re PR fortran/65596 (NAMELIST bug with f2003: reads too far)
2015-03-28 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/65596
	* gfortran.dg/namelist_86.f90: New test.

From-SVN: r221756
2015-03-28 14:25:29 +00:00
Jerry DeLisle
d520fea881 re PR fortran/65596 (NAMELIST bug with f2003: reads too far)
2015-03-28 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/65596
	* io/transfer.c (data_transfer_init): If in namelist mode and
	delimiter is not specified, set it to DELIM_QUOTE, independent
	of -std.
	* io/unit.c (init_units): Set flags.delim to the correct
	initial value of DELIM_UNSPECIFIED.

From-SVN: r221753
2015-03-28 13:27:58 +00:00
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