Commit Graph

137296 Commits

Author SHA1 Message Date
Ian Lance Taylor c40b69ae69 compiler: implement Go 1 unsafe.Pointer conversion rules
Any type whose underlying type is uintptr can be converted
to unsafe.Pointer, and vice versa.

Fixes golang/go#10284.

From-SVN: r221774
2015-03-30 17:32:06 +00:00
Marek Polacek 233b9db6fb * c-c++-common/pr65556.c: Change the width of bit-fields.
From-SVN: r221771
2015-03-30 14:20:14 +00:00
Jan Hubicka afd1e7c68a lto-symtab.c (lto_symtab_merge_decls_2): Silence warning on DECL_ARTIFICAL symbols.
* lto-symtab.c (lto_symtab_merge_decls_2): Silence warning on
	DECL_ARTIFICAL symbols.

From-SVN: r221770
2015-03-30 08:51:50 +00:00
Jan Hubicka 12daa22a2c re PR ipa/65076 (16% tramp3d-v4.cpp compile time regression)
PR ipa/65076
	* ipa-inline.c (edge_badness): Base denominator on callee's
	grwoth squared.

From-SVN: r221769
2015-03-30 02:00:56 +00:00
GCC Administrator b9b5584df6 Daily bump.
From-SVN: r221768
2015-03-30 00:16:11 +00:00
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