Commit Graph

112774 Commits

Author SHA1 Message Date
Richard Guenther
ef6f874e5c re PR driver/50876 (unrecognized command line option '-Zmultiply_defined suppress regressions for lto.exp on x86_64-apple-darwin11)
2010-10-28  Richard Guenther  <rguenther@suse.de>

	PR driver/50876
	* lto-wrapper.c (get_options_from_collect_gcc_options):
	Properly count arguments.
	(run_gcc): Use an obstack to collect argv, properly separate
	switches and their arguments.

From-SVN: r180608
2011-10-28 09:46:26 +00:00
Richard B. Kreckel
4c16fa7714 complex (__complex_acosh): Just use '< _Tp()'.
2011-10-28  Richard B. Kreckel  <kreckel@ginac.de>

	* include/std/complex (__complex_acosh): Just use '< _Tp()'.
	* include/tr1/complex (__complex_acosh): Likewise.

From-SVN: r180607
2011-10-28 09:34:52 +00:00
Jakub Jelinek
cede2577b9 tree-vect-stmts.c (vectorizable_shift): Give up if op1 has different vector mode from vectype's mode.
* tree-vect-stmts.c (vectorizable_shift): Give up if op1 has different
	vector mode from vectype's mode.

From-SVN: r180606
2011-10-28 11:25:18 +02:00
Eric Botcazou
0de82be517 re PR ada/50842 (gnatmake fails to link in stage3 with undefined symbol _iconv_close)
PR ada/50842
	* gcc-interface/Makefile.in (SYMDEPS): Delete.
	(LIBICONV): New variable.
	(LIBICONV_DEP): Likewise.
	(LIBS): Add $(LIBICONV).
	(LIBDEPS): Add $(LIBICONV_DEP).
	(EXTRA_GNATTOOLS_OBJS): Merge into...
	(TOOLS_LIBS): ...this.  Add $(LIBICONV).

From-SVN: r180605
2011-10-28 07:13:44 +00:00
Chung-Lin Tang
d303c992f6 re PR rtl-optimization/49720 (Infinite recursion compiling gold binary_test.cc testcase)
2011-10-28  Chung-Lin Tang  <cltang@codesourcery.com>

	PR rtl-optimization/49720
	* simplify-rtx.c (simplify_relational_operation_1): Detect
	infinite recursion condition in "(eq/ne (plus x cst1) cst2)
	simplifies to (eq/ne x (cst2 - cst1))" case.

	testsuite/
	* g++.dg/torture/pr49720.C: New test.

From-SVN: r180604
2011-10-28 06:35:31 +00:00
David S. Miller
2df19a351f Missing testsuite file add in previous commit.
From-SVN: r180603
2011-10-27 22:55:10 -07:00
David S. Miller
1864ee35eb Add support for the VIS3 addxc instruction.
gcc/

	* config/sparc/sparc.md (snedi_special): Only match when not VIS3.
	(*snedi_zero): Likewise.
	(*snedi_zero_trunc): Likewise.
	(snedi_special_vis3): New expander.
	(*snedi_zero_vis3): New insn.
	(*snedi_zero_trunc_vis3): Likewise.
	(*sltu_insn_vis3): Likewise.
	(*sltu_insn_vis3_trunc): Likewise.
	(addxc): Likewise.
	(*addxc_trunc_sp64_vis3): Likewise.
	* config/sparc/sparc.c (emit_scc_insn): When VIS3 use the
	gen_snedi_special_vis3 expander, and try GTU/LTU addx based
	sequences on DImode values.

gcc/testsuite/

	* gcc.target/sparc/setcc-3.c: New test.

From-SVN: r180602
2011-10-27 22:52:52 -07:00
David S. Miller
0a940828f6 Fix constraint on 64-bit VIS3 vector moves.
* config/sparc/sparc.md (64-bit vector moves): Use 'e' not 'f'
	constraint.

From-SVN: r180601
2011-10-27 22:09:42 -07:00
David S. Miller
26689420af Fix illegal register substitutions on big-endian during cprop_reg.
* regcprop.c (copyprop_hardreg_forward_1): Reject the
	transformation when we narrow the mode on big endian.

From-SVN: r180600
2011-10-27 22:08:10 -07:00
Jason Merrill
53b5166689 semantics.c (cxx_eval_outermost_constant_expr): Check cp_has_mutable_p.
* semantics.c (cxx_eval_outermost_constant_expr): Check
	cp_has_mutable_p.
	(cxx_eval_component_reference): Check DECL_MUTABLE_P.

From-SVN: r180590
2011-10-27 22:18:12 -04:00
Roberto Agostino Vitillo
fb9120e3b1 re PR c++/30066 (option to make inline functions hidden)
PR c++/30066
gcc/c-family:
	* c.opt (fvisibility-inlines-hidden): Description change.
gcc/cp:
	* decl2.c (determine_hidden_inline): New function.
	(determine_visibility): fvisibility-inlines-hidden affects inline
	functions.

From-SVN: r180589
2011-10-27 22:18:00 -04:00
GCC Administrator
2bea3d9195 Daily bump.
From-SVN: r180588
2011-10-28 00:18:37 +00:00
Jakub Jelinek
1ee488391c sse.md (avx_cvtpd2dq256_2, [...]): New expanders.
* config/i386/sse.md (avx_cvtpd2dq256_2, avx_cvttpd2dq256_2,
	vec_pack_sfix_trunc_v4df, vec_pack_sfix_v4df): New expanders.
	(*avx_cvtpd2dq256_2, *avx_cvttpd2dq256_2): New insns.

	* gcc.target/i386/sse2-cvt-1.c: New test.
	* gcc.target/i386/sse2-cvt-2.c: New test.
	* gcc.target/i386/avx-cvt-1.c: New test.
	* gcc.target/i386/avx-cvt-2.c: New test.
	* gcc.target/i386/avx2-cvt-1.c: New test.
	* gcc.target/i386/avx2-cvt-2.c: New test.

From-SVN: r180580
2011-10-27 21:53:28 +02:00
Jakub Jelinek
32cac6f1ae i386.c (ix86_print_operand): Handle 'q' and 'x' overrides for -masm=intel memory.
* config/i386/i386.c (ix86_print_operand): Handle 'q' and 'x'
	overrides for -masm=intel memory.
	* config/i386/sse.md (sse2_cvtdq2pd, sse2_cvtps2pd,
	sse4_1_<code>v8qiv8hi2, avx2_<code>v8qiv8si2,
	sse4_1_<code>v4hiv4si2, avx2_<code>v4hiv4di2,
	sse4_1_<code>v2siv2di2): Use %q1 instead of %1 for -masm=intel.
	(sse4_1_<code>v4qiv4si2, avx2_<code>v4qiv4di2,
	sse4_1_<code>v2hiv2di2): Use %k1 instead of %1 for -masm=intel.
	(sse4_1_<code>v2qiv2di2): Use %w1 instead of %1 for -masm=intel.

From-SVN: r180579
2011-10-27 21:52:06 +02:00
Martin Jambor
c419671cf3 ipa-prop.c (compute_pass_through_member_ptrs): Rename parm_info to parm_ainfo.
2011-10-27  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.c (compute_pass_through_member_ptrs): Rename parm_info
	to parm_ainfo.
	(ipa_compute_jump_functions_for_edge): Likewise.
	(ipa_compute_jump_functions): Likewise.
	(ipa_analyze_indirect_call_uses): Likewise.
	(ipa_analyze_call_uses): Likewise.
	(ipa_analyze_params_uses): Likewise.
	(ipa_analyze_node): Likewise.

From-SVN: r180578
2011-10-27 21:37:07 +02:00
Martin Jambor
5625e6a6a2 pr45605.C: Scan fre1 dump and unxfail.
2011-10-27  Martin Jambor  <mjambor@suse.cz>

	* g++.dg/tree-ssa/pr45605.C: Scan fre1 dump and unxfail.

From-SVN: r180577
2011-10-27 21:27:38 +02:00
Uros Bizjak
a92aa31dd3 re PR target/50875 (O3 and -mavx lead to internal compiler error: in find_reloads)
PR target/50875
	* config/i386/sse.md (*avx2_unpcklpd256): Remove extra insn
	constraints.  Change alternative 1 to "x,m,1".

testsuitee/ChangeLog:

	PR target/50875
	* gfortran.dg/pr50875.f90: New test.

From-SVN: r180576
2011-10-27 21:07:27 +02:00
Jakub Jelinek
16fe2c09f7 Makefile.in (build/gencheck.o): Depend on tree.def and c-family/c-common.def.
* Makefile.in (build/gencheck.o): Depend on tree.def and
	c-family/c-common.def.

From-SVN: r180575
2011-10-27 21:05:28 +02:00
Jakub Jelinek
b3c3685ab0 tree-ssa-strlen.c: Include expr.h.
* tree-ssa-strlen.c: Include expr.h.
	(get_stridx): Don't use c_strlen, instead use string_constant
	and compute string length from it.
	* Makefile.in (tree-ssa-strlen.o): Depend on $(EXPR_H).

From-SVN: r180574
2011-10-27 21:04:43 +02:00
Eric Botcazou
2286a26f57 re PR rtl-optimization/46603 (gcc.dg/vect/slp-multitypes-2.c execution failure)
PR rtl-optimization/46603
	PR bootstrap/50879
	* reload.c (push_reload): In the out case, restore previous behavior
	for subregs that don't have word mode.

From-SVN: r180572
2011-10-27 18:19:54 +00:00
Ian Lance Taylor
859ed2a79e cppdefault.c: Undef NATIVE_SYSTEM_HEADER_DIR if CROSS_DIRECTORY_STRUCTURE is defined and...
* cppdefault.c: Undef NATIVE_SYSTEM_HEADER_DIR if
	CROSS_DIRECTORY_STRUCTURE is defined and TARGET_SYSTEM_ROOT is
	not.
	(cpp_include_defaults): Only use NATIVE_SYSTEM_HEADER_DIR if it is
	defined.

From-SVN: r180569
2011-10-27 17:55:53 +00:00
Dodji Seketeli
1f6dd97b57 Small comment cleanup
gcc/cp/

	* cp-tree.h (DECL_DECLARES_TYPE_P): Fix comment.

From-SVN: r180568
2011-10-27 19:44:39 +02:00
Richard Henderson
4cb110fbcb optabs.c (expand_vec_perm): Use the correct mode for scaling the selector.
* optabs.c (expand_vec_perm): Use the correct mode for scaling the
        selector.  Save the qimode constant selector for later use by the
        qimode vec_perm pattern.

From-SVN: r180567
2011-10-27 09:23:25 -07:00
Bernd Schmidt
ed80f8590c c6x.c (unit_req_imbalance, res_mii): Cast the first arg to unit_req_factor to the right enum type.
* config/c6x/c6x.c (unit_req_imbalance, res_mii): Cast the first arg
	to unit_req_factor to the right enum type.
	(get_unit_operand_masks, reshuffle_units, try_rename_operands,
	hwloop_optimize): Remove unused variables.

From-SVN: r180565
2011-10-27 12:33:22 +00:00
Richard Guenther
362235e983 re PR middle-end/50731 (FAIL: gcc.dg/torture/vector-shift2.c)
2010-10-27  Richard Guenther  <rguenther@suse.de>

	PR middle-end/50731
	* tree-vect-generic.c (do_binop): Handle scalar operands.

From-SVN: r180564
2011-10-27 12:10:57 +00:00
Richard B. Kreckel
259f206328 re PR libstdc++/50880 (__complex_acosh() picks wrong complex branch)
2011-10-27  Richard B. Kreckel  <kreckel@ginac.de>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/50880
	* include/std/complex (__complex_acosh): Fix for __z.real() < 0.
	* include/tr1/complex (__complex_acosh): Likewise.
	* testsuite/26_numerics/complex/50880.cc: New.
	* testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r180563
2011-10-27 11:00:25 +00:00
Nick Clifton
e7a7929d91 config.sub: Import these changes from the config project:
* config.sub: Import these changes from the config project:

	2011-10-08  Joern Rennecke <joern.rennecke@embecosm.com>
	    Ben Elliston  <bje@gnu.org>

	* config.sub (epiphany): New.

	2011-09-09  Linas Vepstas  <linasvepstas@gmail.com>
	    Ben Elliston  <bje@gnu.org>

        * config.sub (hexagon, hexagon-*): New.

	2011-08-23  Roland McGrath  <mcgrathr@google.com>

	* config.sub: Rename 32eb to be32, 32el to le32, 64el to le64, and
	64eb to be64.

	2011-08-16  Roland McGrath  <mcgrathr@google.com>

	* config.sub (32eb, 32el, 64eb, 64el): New (pseudo-)CPUs.
	(nacl): Grok as alias for 32el-unknown-nacl.

From-SVN: r180562
2011-10-27 09:45:55 +00:00
Uros Bizjak
424c83890f re PR target/37191 (ICE in inline_secondary_memory_needed, at config/i386/i386.c:21849)
PR target/37191
	* config/i386/sse.md (*vec_extract_v4sf_mem): Avoid combining registers
	from different units in a single alternative.

From-SVN: r180560
2011-10-27 08:17:00 +02:00
Ian Lance Taylor
f6497cc6b5 syscalls: Rewrite awk script to work with nawk.
From-SVN: r180559
2011-10-27 04:56:46 +00:00
David S. Miller
78968b7620 Fix thinko in previous sparc setcc changes.
* config/sparc/sparc.c (emit_scc_insn): Force attempt of v9 sequences
	if we're comparing DImode and comparison is other than EQ or NE.

From-SVN: r180558
2011-10-26 21:04:06 -07:00
GCC Administrator
56ec62fa1d Daily bump.
From-SVN: r180556
2011-10-27 00:18:31 +00:00
Ian Lance Taylor
d8f412571f Update Go library to last weekly.
From-SVN: r180552
2011-10-26 23:57:58 +00:00
David S. Miller
e0c39d66d4 Add sparc fmaf test.
gcc/testsuite/

	* gcc.target/sparc/fmaf-1.c: New test.

From-SVN: r180551
2011-10-26 16:57:20 -07:00
David S. Miller
9aa6a9b5de Improve sparc setcc generation and add testcases.
gcc/

	* config/sparc/sparc.c (emit_scc_insn): Do not try v9 sequences until
	LEU/LTU/GEU/GTU is attempted.
	* config/sparc/sparc.md (*neg_snesi_sign_extend): New 64-bit insn
	and split.
	(*neg_seqsi_sign_extend): Likewise.
	(*sltu_extend_sp64, *neg_sltu_extend_sp64, *sgeu_extend_sp64,
	*neg_sgeu_extend_sp64): New insns.

gcc/testsuite/

	* gcc.target/sparc/setcc-1.c: New test.
	* gcc.target/sparc/setcc-2.c: New test.

From-SVN: r180550
2011-10-26 16:55:23 -07:00
Jonathan Wakely
28c2f60e96 re PR libstdc++/50862 (deadlock in std::condition_variable_any)
PR libstdc++/50862
	* include/std/condition_variable (condition_variable_any::wait): Avoid
	terminating if relocking user mutex throws during stack-unwinding.
	* testsuite/30_threads/condition_variable_any/50862.cc: Add dg-require.

From-SVN: r180549
2011-10-27 00:35:26 +01:00
Joseph Myers
e7604cc480 thr-cse-1.c: For i?86-*-mingw*, check for multiple calls.
* gcc.dg/tls/thr-cse-1.c: For i?86-*-mingw*, check for multiple
	calls.

From-SVN: r180546
2011-10-26 23:15:57 +01:00
Joseph Myers
5f02a5e574 run-id-1.c: Pass -Wl,--stack,12582912 option for Windows targets.
* gcc.dg/graphite/run-id-1.c: Pass -Wl,--stack,12582912 option for
	Windows targets.

From-SVN: r180545
2011-10-26 23:14:43 +01:00
Joseph Myers
5bf2f56385 pr37843-4.c: Allow for leading underscores on symbol names.
* gcc.target/i386/pr37843-4.c: Allow for leading underscores on
	symbol names.

From-SVN: r180544
2011-10-26 22:52:08 +01:00
Joseph Myers
286a21cee5 * gcc.target/i386/pad-4.c: Skip for Windows targets.
From-SVN: r180543
2011-10-26 22:51:35 +01:00
David S. Miller
bf84f42d61 Canonicalize sparc movcc patterns such that operand 0 always appears in operand 4.
* config/sparc/sparc-protos.h (sparc_expand_conditional_move): Declare.
	* config/sparc/sparc.md (mov<I:mode>cc, mov<F:mode>cc): Call it.
	(*mov<I:mode>_cc_v9): Normalize to expect operand 0 always in operand 4.
	(*mov<I:mode>_cc_reg_sp64): Likewise.
	(*movsf_cc_v9): Likewise.
	(*movsf_cc_reg_sp64): Likewise.
	(*movdf_cc_v9): Likewise.
	(*movdf_cc_reg_sp64): Likewise.
	(*movtf_cc_hq_v9): Likewise.
	(*movtf_cc_reg_hq_sp64): Likewise.
	(*movtf_cc_v9): Likewise.
	(*movtf_cc_reg_sp64): Likewise.
	* config/sparc/sparc.c (sparc_expand_conditional_move): New function.
	(sparc_print_operand): Delete 'c' and 'd' handling, no longer used.

From-SVN: r180542
2011-10-26 14:14:56 -07:00
Eric Botcazou
1586f8a371 decl.c (elaborate_expression_1): Add EXPR_PUBLIC_P local variable.
* gcc-interface/decl.c (elaborate_expression_1): Add EXPR_PUBLIC_P local
	variable.  Always create the elaboration variable, if any, as constant.

From-SVN: r180541
2011-10-26 21:05:10 +00:00
Eric Botcazou
e1e5852c9f decl.c (gnat_to_gnu_entity): Try to make a packable type for fields of union types as well.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Try to
	make a packable type for fields of union types as well.
	<is_type>: Use RECORD_OR_UNION_TYPE_P predicate.
	(gnat_to_gnu_component_type): Try to make a packable type for fields
	of union types as well.
	(make_packable_type): Use RECORD_OR_UNION_TYPE_P predicate.
	(maybe_pad_type): Try to make a packable type for fields of union types
	as well.
	(gnat_to_gnu_field): Likewise.
	(is_variable_size): Use RECORD_OR_UNION_TYPE_P predicate.
	(set_rm_size): Likewise.
	(rm_size): Likewise.
	* gcc-interface/misc.c (gnat_type_max_size): Likewise.
	* gcc-interface/trans.c (add_decl_expr): Likewise.
	* gcc-interface/utils.c (finish_record_type): Likewise.
	* gcc-interface/utils2.c (build_simple_component_ref): Likewise.

From-SVN: r180540
2011-10-26 20:45:09 +00:00
Eric Botcazou
0025cb6381 decl.c (gnat_to_gnu_field): Always check components declared as atomic.
* gcc-interface/decl.c (gnat_to_gnu_field): Always check components
	declared as atomic.  Move around conditionally executed code.

From-SVN: r180539
2011-10-26 20:32:17 +00:00
Jason Merrill
24847495f3 * typeck.c (check_literal_operator_args): Avoid building types.
From-SVN: r180538
2011-10-26 15:31:26 -04:00
Jason Merrill
1ca3916f56 build_string comments
From-SVN: r180537
2011-10-26 15:31:16 -04:00
Ed Smith-Rowland
3ce4f9e4d2 Implement C++11 user-defined literals.
libcpp/
	* expr.c: (cpp_interpret_float_suffix, cpp_interpret_int_suffix,
	cpp_userdef_string_remove_type, cpp_userdef_string_add_type,
	cpp_userdef_char_remove_type, cpp_userdef_char_add_type,
	cpp_userdef_string_p, cpp_userdef_char_p, cpp_get_userdef_suffix): New.
	(cpp_classify_number): Classify unrecognized tokens as user-defined
	literals.
	* include/cpplib.h: Add new tokens for user-defined literals.
	* init.c: Add new preprocessor flag (cxx11).
	* lex.c: (lex_string, lex_raw_string): Handle user-defined literals
	including concatenation and promotion with suffixes.
c-family/
	* c-common.c (build_userdef_literal): New.
	* c-common.def: New tree code.
	* c-common.h (tree_userdef_literal): New tree struct and accessors.
	* c-lex.c (interpret_float): Add suffix parm.
	(c_lex_with_flags): Build literal tokens.
cp/
	* cp-objcp-common.c: (cp_tree_size) Return size of USERDEF_LITERAL tree.
	* cp-tree.h: (UDLIT_OP_*, UDLIT_OPER_P): Literal operator
	name tools. New tree code for user-defined literals.
	* cxx-pretty-print.h: (pp_cxx_userdef_literal) New.
	* cxx-pretty-print.c: (pp_cxx_userdef_literal) New.
	(pp_cxx_primary_expression, pp_cxx_expression): Use it.
	* decl.c: (cp_tree_node_structure): Return new tree code.
	(duplicate_decls): Check for raw vs. template operator conflicts.
	(grokfndecl, grokdeclarator): New checks for literal operators.
	* error.c: (dump_expr): Warn about user-defined literals
	in C++98 mode. (dump_function_name): Pretty printing.
	* mangle.c: (write_literal_operator_name): New.
	(write_unqualified_id, write_unqualified_name): Use it.
	* parser.c: (cp_parser_operator): Handle operator"".
	(cp_parser_userdef_char_literal, cp_parser_userdef_numeric_literal,
	cp_parser_userdef_string_literal): New.
	(cp_parser_primary_expression): Handle new user-defined literal tokens
	with new functions.
	* semantics.c: (potential_constant_expression_1): Add
	user-defined literals.
	* typeck.c (check_raw_literal_operator,
	check_literal_operator_args): New.

From-SVN: r180536
2011-10-26 15:30:59 -04:00
Paolo Carlini
7f808cadda 2011-10-26 Paolo Carlini <paolo.carlini@oracle.com>
* Tweak last ChangeLog entry.

From-SVN: r180532
2011-10-26 18:04:57 +00:00
Paolo Carlini
c5ce25ce93 re PR c++/50870 ([C++0x] [4.6/4.7 Regression] ICE with decltype, operator->, and default template arguments)
2011-10-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* typeck.c (cp_build_addr_expr_1): Use BASELINK_P.
	* class.c (instantiate_type): Likewise.
	* pt.c (convert_nontype_argument_function, uses_template_parms,
	tsubst_copy, resolve_nondeduced_context, type_dependent_expression_p):
	Likewise.
	* semantics.c (finish_decltype_type): Likewise.
	* decl2.c (mark_used): Likewise.
	* name-lookup.c (arg_assoc): Likewise.

/cp
2011-10-26  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50870
	* typeck.c (non_reference): Pass NULL_TREE through.

/testsuite
2011-10-26  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50870
	* g++.dg/cpp0x/decltype34.C: New.

From-SVN: r180531
2011-10-26 17:59:36 +00:00
Tom de Vries
e3c1bb6126 HIcmp.c: Fix unaligned pointer.
2011-10-26  Tom de Vries <tom@codesourcery.com>

	* gcc.c-torture/unsorted/HIcmp.c: Fix unaligned pointer.
	* gcc.c-torture/unsorted/HIset.c: Same.
	* gcc.c-torture/unsorted/SIcmp.c: Same.
	* gcc.c-torture/unsorted/SIset.c: Same.
	* gcc.c-torture/unsorted/SFset.c: Same.
	* gcc.c-torture/unsorted/UHIcmp.c: Same.
	* gcc.c-torture/unsorted/USIcmp.c: Same.
	* gcc.c-torture/unsorted/DFcmp.c: Same.

From-SVN: r180528
2011-10-26 15:04:59 +00:00
Eric Botcazou
d9d09ca2d6 reload.c (reload_inner_reg_of_subreg): Change type of return value and type of OUTPUT parameter to bool and adjust.
* reload.c (reload_inner_reg_of_subreg): Change type of return value
	and type of OUTPUT parameter to bool and adjust.  Document MODE and
	OUTPUT parameters.  Use HARD_REGISTER_P.  Reorder final condition
	and improve associated comment.
	(push_reload): Clarify and update comments about reloading of subregs.
	Adjust calls to reload_inner_reg_of_subreg.  Compute the class upfront
	for the reloading of subregs in the out case as well.

From-SVN: r180526
2011-10-26 13:54:13 +00:00