Commit Graph

136453 Commits

Author SHA1 Message Date
Jan Hubicka
190bbd0b03 cgraph.h (symtab_node::has_aliases_p): Simplify.
* cgraph.h (symtab_node::has_aliases_p): Simplify.
	(symtab_node::call_for_symbol_and_aliases): Use has_aliases_p
	* tree.c (lookup_binfo_at_offset): Make static.
	(get_binfo_at_offset): Do not shadow offset; add explanatory
	comment.

From-SVN: r220718
2015-02-15 22:30:16 +00:00
John David Anglin
feb675e408 pa.c (pa_secondary_reload): Request a secondary reload for all floading point loads and stores except those...
* config/pa/pa.c (pa_secondary_reload): Request a secondary reload
	for all floading point loads and stores except those using a register
	index address.
	* config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
	to a register.

From-SVN: r220716
2015-02-15 15:18:47 +00:00
David Edelsohn
dbf73e6e28 pr64205.c: Skip on AIX.
* gcc.target/powerpc/pr64205.c: Skip on AIX.
* gcc.target/powerpc/pr64505.c: Skip on AIX.
* gcc.dg/torture/builtin-noret-1.c: Ignore AIX linker warnings.
* gcc.dg/torture/builtin-noret-2.c: Ignore AIX linker warnings.

From-SVN: r220715
2015-02-14 23:01:29 -05:00
GCC Administrator
6ed70ac0a5 Daily bump.
From-SVN: r220714
2015-02-15 00:16:11 +00:00
Kaz Kojima
d3fb59c4b7 re PR testsuite/64850 (FAIL: gfortran.dg/goacc/acc_on_device-1.f95 -O scan-rtl-dump-times expand "\\(call [^\\n]*\\"acc_on_device" 4)
PR testsuite/64850
Tweak acc_on_device* tests.

From-SVN: r220711
2015-02-14 23:50:25 +00:00
Jan Hubicka
cf3648f245 ipa-inline-analysis.c (growth_data): Add uninlinable field.
* ipa-inline-analysis.c (growth_data): Add uninlinable field.
	(do_estimate_growth_1): Record if any uninlinable edge was seen.
	(estimate_growth): Handle uninlinable edges correctly.
	(check_callers): New.
	(growth_likely_positive): Handle aliases correctly.

From-SVN: r220710
2015-02-14 23:46:25 +00:00
Jan Hubicka
31de760604 ipa-chkp.c: Use iterate_direct_aliases.
* ipa-chkp.c: Use iterate_direct_aliases.
	* symtab.c (resolution_used_from_other_file_p): Move inline.
	(symtab_node::create_reference): Fix formating.
	(symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
	(symtab_node::iterate_reference): Move inline.
	(symtab_node::iterate_referring): Move inline.
	(symtab_node::iterate_direct_aliases): Move inline.
	(symtab_node::used_from_object_file_p_worker): Inline into ...
	(symtab_node::used_from_object_file_p): ... this one; move inline.
	(symtab_node::call_for_symbol_and_aliases): Move inline;
	use iterate_direct_aliases.
	(symtab_node::call_for_symbol_and_aliases_1): New method.
	(cgraph_node::call_for_symbol_and_aliases): Move inline;
	use iterate_direct_aliases.
	(cgraph_node::call_for_symbol_and_aliases_1): New method.
	(varpool_node::call_for_node_and_aliases): Rename to ...
	(varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
	use iterate_direct_aliases.
	(varpool_node::call_for_symbol_and_aliases_1): New method.
	* ipa.c (ipa_single_use): Use iterate_direct_aliases.
	(ipa_discover_readonly_nonaddressable_var): Update.
	* ipa-devirt.c: Fix formating.
	* cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
	Move inline.
	(cgraph_node::call_for_symbol_and_aliases): Move inline.
	(cgraph_node::call_for_symbol_and_aliases_1): New function..
	* cgraph.h (used_from_object_file_p_worker): Remove.
	(resolution_used_from_other_file_p): Move inline.
	(symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
	(symtab_node::iterate_reference): Move inline.
	(symtab_node::iterate_referring): Move inline.
	(symtab_node::iterate_direct_aliases): Move inline.
	(symtab_node::used_from_object_file_p_worker): Inline into ...
	(symtab_node::used_from_object_file_p): Move inline.
	* tree-emutls.c (ipa_lower_emutls): Update.
	* varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
	(varpool_node::call_for_node_and_aliases): Remove.

From-SVN: r220709
2015-02-14 18:42:49 +00:00
Marek Polacek
065d214ce4 re PR c/64768 (internal compiler error: tree check: expected tree that contains ‘decl with RTL’ structure, have ‘field_decl’ in set_decl_rtl, at emit-rtl.c:1274)
PR c/64768
	* c-decl.c (grokdeclarator): Set the range of a flexible array member
	declared through a typedef name.

	* gcc.dg/array-11.c: New test.
	* gcc.dg/array-12.c: New test.
	* gcc.dg/array-13.c: New test.
	* gcc.dg/array-14.c: New test.
	* gcc.dg/c99-flex-array-typedef-1.c: New test.
	* gcc.dg/c99-flex-array-typedef-2.c: New test.
	* gcc.dg/c99-flex-array-typedef-3.c: New test.
	* gcc.dg/c99-flex-array-typedef-5.c: New test.
	* gcc.dg/c99-flex-array-typedef-7.c: New test.
	* gcc.dg/c99-flex-array-typedef-8.c: New test.

From-SVN: r220708
2015-02-14 11:25:19 +00:00
Jakub Jelinek
952e216e5a re PR tree-optimization/62209 (ICE with LTO on valid code on x86_64-linux-gnu)
PR tree-optimization/62209
	* tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and
	op == range->exp, insert seq and gimplified code after labels
	instead of after the phi.

From-SVN: r220706
2015-02-14 09:23:18 +01:00
GCC Administrator
b671235f79 Daily bump.
From-SVN: r220705
2015-02-14 00:16:11 +00:00
Paolo Carlini
6e4f01ff4d re PR c++/60894 (Use of redundant struct keyword in function prototype combined with using statement causes compilation error)
/cp
2015-02-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60894
	* decl.c (lookup_and_check_tag): Use strip_using_decl.

/testsuite
2015-02-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60894
	* g++.dg/lookup/using54.C: New.

From-SVN: r220702
2015-02-13 23:57:10 +00:00
Jeff Law
c7a28c1bc2 re PR bootstrap/65060 (r220696 breaks bootstrap on Linux/x86-32)
PR bootstrap/65060
        Revert my change for tree-optimization/64823.

From-SVN: r220701
2015-02-13 16:53:54 -07:00
Jakub Jelinek
f7a0790f3c re PR tree-optimization/65053 (PostgreSQL miscompilation)
PR tree-optimization/65053
	* tree-ssa-phiopt.c (value_replacement): When moving assign before
	cond, either reset VR on lhs or set it to phi result VR.

	* gcc.c-torture/execute/pr65053-1.c: New test.
	* gcc.c-torture/execute/pr65053-2.c: New test.

From-SVN: r220700
2015-02-14 00:20:31 +01:00
Marek Polacek
e5d9235ba9 re PR c/65050 (Show the type for "array type has incomplete element type" error)
PR c/65050
	* c-decl.c (grokdeclarator): Print also the type when giving
	the error message about array's incomplete element type.

	* gcc.dg/pr65050.c: New test.

From-SVN: r220698
2015-02-13 22:07:36 +00:00
Jason Merrill
ef796bef88 re PR c++/65054 (internal compiler error: in maybe_constant_value, at cp/constexpr.c:3646)
PR c++/65054
	* pt.c (template_args_equal): Look through conversions here.
	* tree.c (cp_tree_equal): Not here.

From-SVN: r220697
2015-02-13 17:07:30 -05:00
Jeff Law
8f895cf1ac re PR tree-optimization/64823 (false "may be used uninitialized", missed jump threading)
PR tree-optimization/64823
	* tree-vrp.c (identify_jump_threads): Handle blocks with no statements.
	* tree-ssa-threadedge.c (potentially_threadable_block): Allow
	threading through blocks with PHIs, but no statements.
	(thread_through_normal_block): Distinguish between blocks where
	we did not process all the statements and blocks with no statements.

	PR tree-optimization/64823
	gcc.dg/uninit-20.c: New test.

From-SVN: r220696
2015-02-13 14:09:58 -07:00
Jeff Law
be1448389a re PR rtl-optimization/47477 (Sub-optimal mov at end of method)
PR rtl-optimization/47477
	* match.pd (convert (plus/minus (convert @0) (convert @1): New
	simplifier to narrow arithmetic.

	PR rtl-optimization/47477
	* gcc.dg/tree-ssa/pr47477.c: New test.

From-SVN: r220695
2015-02-13 13:17:55 -07:00
Jan Hubicka
d05022766b re PR ipa/65028 (450.soplex in SPEC CPU 2006 is miscompiled)
PR ipa/65028
	* ipa-prop.c (update_indirect_edges_after_inlining): Do not drop
	polymorphic call info when type is not known to be preserved.

From-SVN: r220694
2015-02-13 20:05:39 +00:00
Martin Jambor
4fd94d1e35 re PR ipa/65028 (450.soplex in SPEC CPU 2006 is miscompiled)
PR ipa/65028
	* ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function.
	(inline_call): Use it.

From-SVN: r220693
2015-02-13 20:04:32 +00:00
Paolo Carlini
e84abfa41b re PR c++/60211 (ICE with #pragma GCC ivdep and for-loop on global scope)
/cp
2015-02-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60211
	* parser.c (cp_parser_pragma): Diagnose PRAGMA_IVDEP at
	pragma_external context.

/testsuite
2015-02-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60211
	* g++.dg/parse/ivdep-2.C: New.
	* g++.dg/parse/ivdep-3.C: Likewise.

From-SVN: r220689
2015-02-13 17:57:13 +00:00
Jerry DeLisle
d1ae5966d7 re PR fortran/64506 (FORMAT Parse Error with Continuation Line)
2015-02-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/64506
	* gfortran.dg/continuation_13.f90: New test.
	* gfortran.dg/continuation_14.f: New test.

From-SVN: r220688
2015-02-13 17:09:04 +00:00
Jerry DeLisle
0d6fc9638b re PR fortran/64506 (FORMAT Parse Error with Continuation Line)
2015-02-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/64506
	* scanner.c (gfc_next_char_literal): For free form source,
	check for '!' and if found, clear the comment and go back
	and get the next character. For fixed form source, skip the
	rest of the line.

From-SVN: r220687
2015-02-13 16:57:28 +00:00
Thomas Schwinge
1f261e64a3 GOMP_TARGET_* have been renamed to GOMP_DEVICE_* some time ago.
gcc/
	* config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to
	GOMP_DEVICE_NVIDIA_PTX.

From-SVN: r220686
2015-02-13 17:20:01 +01:00
Jason Merrill
f9b600badc re PR c++/65051 (r210436 regression?)
PR c++/65051
	* call.c (reference_binding): Don't look for bad conversion
	if TO is incomplete.

From-SVN: r220685
2015-02-13 11:02:31 -05:00
Paolo Carlini
81adbcea49 re PR c++/64970 (Hard error instead of SFINAE for expression in nested template alias)
/cp
2015-02-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/64970
	* decl.c (make_typename_type): Pass tsubst_flags_t argument
	to lookup_template_class.

/testsuite
2015-02-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/64970
	* g++.dg/cpp0x/sfinae55.C: New.

From-SVN: r220684
2015-02-13 14:54:48 +00:00
Jakub Jelinek
730f474bf9 re PR ipa/65034 (ICE (segfault) on arm-linux-gnueabihf)
PR ipa/65034
	* stmt.c (emit_case_nodes): Use void_type_node instead of
	NULL_TREE as LABEL_DECL type.

	* decl.c (start_preparsed_function): Use void_type_node instead
	of NULL_TREE as LABEL_DECL type.

	* g++.dg/ipa/pr65034.C: New test.

From-SVN: r220683
2015-02-13 15:42:30 +01:00
Matthew Wahab
1e0c223f94 isctype.cc (test01): Fix mixed line-endings introduced in last change.
* testsuite/28_regex/traits/char/isctype.cc (test01): Fix
	mixed line-endings introduced in last change.

From-SVN: r220682
2015-02-13 13:42:06 +00:00
John David Anglin
98056c540e constraints.md: Change "Q" and "T" constraints to memory constraints.
* config/pa/constraints.md: Change "Q" and "T" constraints to memory
	constraints.
	* config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
	symbolic references to data to be forced to constant memory on the
	SOM target.

From-SVN: r220680
2015-02-13 13:06:54 +00:00
Ilya Enkovich
fb0653ab96 re PR tree-optimization/65002 (ICE: Segmentation fault)
gcc/

	PR tree-optimization/65002
	* tree-cfg.c (pass_data_fixup_cfg): Don't update
	SSA on start.
	* tree-sra.c (some_callers_have_no_vuse_p): New.
	(ipa_early_sra): Reject functions whose callers
	assume function is read only.

gcc/testsuite/

	PR tree-optimization/65002
	* gcc.dg/pr65002.C: New.

From-SVN: r220679
2015-02-13 09:44:07 +00:00
Richard Biener
3c780bb2d5 re PR lto/65015 (LTO produces randomly ordered debug information)
2015-02-13  Richard Biener  <rguenther@suse.de>

	PR lto/65015
	* dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
	for LTO produced CUs.

From-SVN: r220678
2015-02-13 09:35:57 +00:00
Marek Polacek
fa008882f2 re PR c/65040 (gcc-5 -Wformat broken)
PR c/65040
	* c-format.c (check_format_types): Don't warn about different
	signedness if the original value is in the range of WANTED_TYPE.

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

From-SVN: r220677
2015-02-13 07:56:14 +00:00
Bin Cheng
fc06280eb1 re PR tree-optimization/64705 (Bad code generation of sieve on x86-64 because of too aggressive IV optimizations)
PR tree-optimization/64705
	* tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
	* tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
	* tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
	(find_bivs, find_givs_in_stmt_scev): Pass new argument to
	expand_simple_operations.

	testsuite
	PR tree-optimization/64705
	* gcc.dg/tree-ssa/pr64705.c: New test.

From-SVN: r220676
2015-02-13 05:44:46 +00:00
Jason Merrill
785f21af82 re PR c++/64956 (__GXX_ABI_VERSION needs a proper definition for the 5.x releases)
PR c++/64956
	* c-opts.c (c_common_post_options): Change flag_abi_version from 0
	to the current highest version.
	* c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.

From-SVN: r220675
2015-02-13 00:26:37 -05:00
H.J. Lu
6a1e352e1e re PR rtl-optimization/32219 (optimizer causes wrong code in pic/hidden/weak symbol checking.)
PR rtl/32219

gcc/
	* cgraphunit.c (cgraph_node::finalize_function): Set definition
	before notice_global_symbol.
	(varpool_node::finalize_decl): Likewise.
	* varasm.c (default_binds_local_p_2): Rename from
	default_binds_local_p_1, add weak_dominate argument.  Use direct
	returns instead of assigning to local variable.  Unify varpool and
	cgraph paths via symtab_node.  Reject undef weak variables before
	testing visibility.  Reorder tests for simplicity.
	(default_binds_local_p): Use default_binds_local_p_2.
	(default_binds_local_p_1): Likewise.
	(decl_binds_to_current_def_p): Unify varpool and cgraph paths
	via symtab_node.
	(default_elf_asm_output_external): Emit visibility when specified.
gcc/testsuite/
	* gcc.dg/visibility-22.c: New test.
	* gcc.dg/visibility-23.c: New test.
	* gcc.target/i386/pr32219-1.c: New test.
	* gcc.target/i386/pr32219-2.c: New test.
	* gcc.target/i386/pr32219-3.c: New test.
	* gcc.target/i386/pr32219-4.c: New test.
	* gcc.target/i386/pr32219-5.c: New test.
	* gcc.target/i386/pr32219-6.c: New test.
	* gcc.target/i386/pr32219-7.c: New test.
	* gcc.target/i386/pr32219-8.c: New test.
	* gcc.target/i386/pr64317.c: Expect GOTOFF, not GOT.

Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r220674
2015-02-12 20:52:45 -08:00
Jerry DeLisle
fa47895fe6 re PR fortran/57822 (I/O: "(g0)" wrongly prints "E+0000")
2015-02-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/57822
	* gfortran/fmt_g0_7.f08: Adjust for archtectures with less than
	four different KINDs.

From-SVN: r220673
2015-02-13 02:57:03 +00:00
Alan Modra
5f2fa78aff rs6000.c (rs6000_emit_epilogue): Fix typo in code setting up r11 for out-of-line fp restore.
* config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
	code setting up r11 for out-of-line fp restore.

From-SVN: r220672
2015-02-13 10:51:39 +10:30
GCC Administrator
1bb77840d0 Daily bump.
From-SVN: r220671
2015-02-13 00:16:11 +00:00
Eric Botcazou
dfc61f1ff2 visium.opt (msv-mode): Add RejectNegative and Report.
* config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
	(muser-mode): Likewise.

From-SVN: r220667
2015-02-12 23:17:21 +00:00
Jason Merrill
3b95b65ced re PR c++/64898 (qtgui-4.8.6 build error)
PR c++/64898
	* mangle.c (write_mangled_name): Fix test for variable template
	instantiation.

From-SVN: r220666
2015-02-12 17:44:38 -05:00
Alan Modra
8ae6ac51d4 rs6000.c (rs6000_emit_epilogue): Use addsi3_carry or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
* config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
	or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.

From-SVN: r220665
2015-02-13 08:09:36 +10:30
Jakub Jelinek
d6d77e665b re PR c++/64884 (FAIL: g++.dg/tm/pr47573.C -std=gnu++98 (test for excess errors) on x86_64-apple-darwin*)
PR c++/64884
	* g++.dg/tm/pr47573.C: Only run on comdat_group effective targets.

From-SVN: r220664
2015-02-12 22:33:37 +01:00
Jakub Jelinek
fad5a40078 re PR sanitizer/65000 (ICE in in expand_builtin_eh_common, at except.c:2072)
PR sanitizer/65000
	* g++.dg/ubsan/pr65000.C: New test.

From-SVN: r220663
2015-02-12 22:30:56 +01:00
David Howells
81018dcf98 tree-sra.c (dump_dereferences_table): Avoid -Wformat-security warning.
* tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
	warning.
	* tree-ssa-uninit.c (dump_predicates): Likewise.
	* opts.c (print_filtered_help): Likewise.

From-SVN: r220662
2015-02-12 22:29:21 +01:00
Jakub Jelinek
2f13a42d9c dwarf2out.c (output_die): Use "%s", name instead of name to avoid -Wformat-security warning.
* dwarf2out.c (output_die): Use "%s", name instead of name to
	avoid -Wformat-security warning.

From-SVN: r220661
2015-02-12 22:20:19 +01:00
Jakub Jelinek
2cea039801 dwarf2asm.c (dw2_asm_output_vms_delta): Only define if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
* dwarf2asm.c (dw2_asm_output_vms_delta): Only define
	if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
	* dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
	only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.

From-SVN: r220660
2015-02-12 22:19:47 +01:00
Jason Merrill
8bfef637d0 typo
From-SVN: r220658
2015-02-12 15:29:03 -05:00
Jason Merrill
f522930c8f common.opt (-flifetime-dse): New.
gcc/
	* common.opt (-flifetime-dse): New.
gcc/cp/
	* decl.c (begin_destructor_body): Condition clobber on
	-flifetime-dse.

From-SVN: r220657
2015-02-12 15:28:41 -05:00
Andrea Azzarone
bc81eb3f77 re PR c++/64959 (SFINAE in UDLs)
PR c++/64959
	* parser.c (lookup_literal_operator): Return all candidates.
	(cp_parser_userdef_char_literal): Simplify error handling.
	(cp_parser_userdef_numeric_literal):  Pass tf_warning_or_error.
	(cp_parser_userdef_string_literal): Pass tf_warning_or_error.
	Also give higher priority to standard string UDL operator.

From-SVN: r220656
2015-02-12 15:21:34 -05:00
Jason Merrill
864f0146f0 * testsuite/28_regex/traits/wchar_t/isctype.cc: Fix whitespace.
From-SVN: r220655
2015-02-12 15:20:30 -05:00
Paul Thomas
ec6a7096e3 re PR fortran/64932 (ICE in gfc_conv_descriptor_data_get for generated finalizer)
2015-02-12  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/64932
	* trans-stmt.c (gfc_trans_deallocate): If a component array
	expression is not a descriptor type and it is a derived type
	that has allocatable components and is not finalizable, then
	deallocate the allocatable components.

2015-02-12  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/64932
	* gfortran.dg/finalize_28.f90: New test

From-SVN: r220654
2015-02-12 19:30:53 +00:00