Commit Graph

107312 Commits

Author SHA1 Message Date
Jason Merrill
b4ef8aac30 re PR c++/23372 (Temporary aggregate copy not elided when passing parameters by value)
PR c++/23372
	* gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.

From-SVN: r171146
2011-03-18 11:06:51 -04:00
Jason Merrill
82d3711899 re PR c++/35315 (ICE with attribute transparent_union)
PR c++/35315
	* c-common.c (handle_transparent_union_attribute): Don't
	make a duplicate type in C++.

From-SVN: r171145
2011-03-18 11:06:41 -04:00
Richard Guenther
09a52fc3ae install.texi (--enable-gold): Remove.
2011-03-18  Richard Guenther  <rguenther@suse.de>

	* doc/install.texi (--enable-gold): Remove.
	(--with-plugin-ld): Document.
	* doc/invoke.texi (-fuse-linker-plugin): Clarify.

From-SVN: r171143
2011-03-18 14:33:45 +00:00
Rainer Orth
4c5e955d4e re PR middle-end/47405 (gcc.dg/torture/20090618-1.c FAILs on IRIX 6.5)
PR middle-end/47405
	* gcc.dg/torture/20090618-1.c: Skip on mips-sgi-irix*.

From-SVN: r171140
2011-03-18 14:10:35 +00:00
Andrew Pinski
3bf162a0c9 re PR middle-end/47790 (optimize_bitfield_assignment_op no longer works in 4.5.x)
PR middle-end/47790
	* expr.c (optimize_bitfield_assignment_op): Revamp to work
	again after expansion changes.

From-SVN: r171139
2011-03-18 08:01:41 -06:00
Chung-Lin Tang
2abbb0fe9e combine.c (try_combine): Do simplification only call of subst() on i2 even when i1 is present.
2011-03-18  Chung-Lin Tang  <cltang@codesourcery.com>

	* combine.c (try_combine): Do simplification only call of
	subst() on i2 even when i1 is present. Update comments.

	testsuite/
	* gcc.target/arm/unsigned-extend-1.c: New.

From-SVN: r171138
2011-03-18 13:22:42 +00:00
Paolo Carlini
12f9dfdaf1 2011-03-18 Paolo Carlini <paolo.carlini@oracle.com>
Fixup last ChangeLog entry.

From-SVN: r171137
2011-03-18 13:09:29 +00:00
Kaz Kojima
2efd0aa69c sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF and UNSPEC_PCREL_SYMOFF.
* config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
	and UNSPEC_PCREL_SYMOFF.

From-SVN: r171134
2011-03-18 12:19:50 +00:00
Paolo Carlini
294eab8c10 testsuite_random.h: New.
2011-03-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_random.h: New.
	* testsuite/lib/libstdc++.exp (check_v3_target_c99_math,
	dg-require-c99_math): Add.
	* testsuite/26_numerics/random/bernoulli_distribution/
	operators/values.cc: New.
	* testsuite/26_numerics/random/binomial_distribution/
	operators/values.cc: Likewise.
	* testsuite/26_numerics/random/geometric_distribution/
	operators/values.cc: Likewise.

From-SVN: r171133
2011-03-18 11:48:29 +00:00
Andreas Krebbel
30a49b23ed s390.md: Use define_c_enum for the unspec constant definitions.
2011-03-18  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.md: Use define_c_enum for the unspec constant
	definitions.

From-SVN: r171132
2011-03-18 11:30:26 +00:00
Jakub Jelinek
419e1853a8 re PR bootstrap/48161 (hppa*-*-* will not bootstrap on 4.6 branch with release checking)
PR bootstrap/48161
	* expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
	instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.

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

From-SVN: r171126
2011-03-18 09:35:17 +01:00
H.J. Lu
378758560b Revert the last change on cant_combine_insn_p.
2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/47725
	* combine.c (cant_combine_insn_p): Don't check zero/sign
	extended hard registers.

From-SVN: r171125
2011-03-17 21:02:25 -07:00
H.J. Lu
7606976434 Check zero/sign extended hard registers.
gcc/

2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/47725
	* combine.c (cant_combine_insn_p): Check zero/sign extended
	hard registers.

gcc/testsuite/

2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/47725
	* gcc.dg/torture/pr47725.c: New.

From-SVN: r171124
2011-03-17 17:29:15 -07:00
GCC Administrator
98aa09c6b1 Daily bump.
From-SVN: r171123
2011-03-18 00:18:53 +00:00
Anatoly Sokolov
24da2019e9 v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
* config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
	* config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
	* config/v850/v850.c (v850_output_addr_const_extra): Make static.
	Change return type to bool.
	(TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.

From-SVN: r171117
2011-03-18 01:02:00 +03:00
Jason Merrill
c598e5fa54 re PR c++/47504 ([C++0x] some constexpr calculations erroneously overflow when using negative numbers)
PR c++/47504
	* semantics.c (cxx_eval_constant_expression) [NOP_EXPR]: Don't let
	the conversion set TREE_OVERFLOW.

From-SVN: r171116
2011-03-17 18:00:47 -04:00
Jakub Jelinek
8b29c87a61 re PR debug/48163 (ICEs for cris-elf, like gcc.c-torture/compile/calls.c gcc.c-torture/execute/complex-1.c)
PR debug/48163
	* var-tracking.c (prepare_call_arguments): If CALL target
	is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
	pc instead of looking it up using cselib_lookup and use
	Pmode for it if x has VOIDmode.
	* dwarf2out.c (gen_subprogram_die): If also both first and
	second CONCAT arguments are VOIDmode, use mode of CONCAT itself.

From-SVN: r171114
2011-03-17 21:34:59 +01:00
Jakub Jelinek
a82ff31f39 re PR debug/48163 (ICEs for cris-elf, like gcc.c-torture/compile/calls.c gcc.c-torture/execute/complex-1.c)
PR debug/48163
	* function.c (assign_parms): For data.passed_pointer parms
	use MEM of data.entry_parm instead of data.entry_parm itself
	as DECL_INCOMING_RTL.
	* dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
	also when passed and declared mode is the same, DECL_RTL
	is a MEM with pseudo as address and DECL_INCOMING_RTL is
	a MEM too.

From-SVN: r171113
2011-03-17 21:33:54 +01:00
Jeff Law
82ce305c0c re PR rtl-optimization/37273 (IRA does not re-materializes addresses (loads from the TOC))
PR rtl-optimization/37273
	* ira-costs.c (scan_one_insn): Detect constants living in memory and
	handle them like argument loads from stack slots.  Do not double
	count memory for memory constants and argument loads from stack slots.

From-SVN: r171111
2011-03-17 14:08:01 -06:00
Joseph Myers
3ade8456a1 * gcc.pot: Regenerate.
From-SVN: r171109
2011-03-17 19:57:48 +00:00
H.J. Lu
fe58e02b22 Check SUBREG in prepare_call_arguments.
2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR debug/48160
	* var-tracking.c (prepare_call_arguments): Check SUBREG.

From-SVN: r171108
2011-03-17 12:51:03 -07:00
H.J. Lu
6fc4dbc729 Add Save to -mavx and -mfma.
2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/48171
	* config/i386/i386.opt: Add Save to -mavx and -mfma.

From-SVN: r171107
2011-03-17 12:23:34 -07:00
Eric Botcazou
f230d7593b decl.c (elaborate_expression_1): Try harder to find out whether the expression is read-only.
* gcc-interface/decl.c (elaborate_expression_1): Try harder to find
	out whether the expression is read-only.  Short-circuit placeholder
	case and rename a couple of local variables.

From-SVN: r171106
2011-03-17 17:12:21 +00:00
Jason Merrill
c1e4152744 Core 1212
Core 1212
	* semantics.c (finish_decltype_type): Return T&& for xvalue.
	* typeck.c (unlowered_expr_type): Preserve cv-quals.

From-SVN: r171104
2011-03-17 12:20:16 -04:00
Jason Merrill
547206a4e5 re PR c++/48166 (ICE on static member function with invalid type qualifier)
PR c++/48166
	* decl.c (revert_static_member_fn): Strip function-cv-quals.

From-SVN: r171103
2011-03-17 12:02:08 -04:00
Jakub Jelinek
8054a38972 re PR bootstrap/48153 (Bootstrapping revision 171033 fails on x86_64-apple-darwin10)
PR bootstrap/48153
	* dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
	if dwarf_strict.
	(gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
	Clear call_arg_locations and call_arg_loc_last always.

From-SVN: r171102
2011-03-17 16:22:20 +01:00
Jakub Jelinek
db3ed0b3b7 re PR middle-end/48152 (Bootstrap failure for x86_64-w64-mingw32 due ICE)
PR middle-end/48152
	* var-tracking.c (prepare_call_arguments): If argument needs to be
	passed by reference, adjust argtype and mode.

From-SVN: r171101
2011-03-17 16:21:39 +01:00
Richard Guenther
1bce4ff313 re PR tree-optimization/48134 (ICE: in refs_may_alias_p_1, at tree-ssa-alias.c:1085 with custom flags)
2011-03-17  Richard Guenther  <rguenther@suse.de>

	PR middle-end/48134
	* tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
	a value make sure to fold the statement.

	* gcc.dg/pr48134.c: New testcase.

From-SVN: r171098
2011-03-17 14:59:00 +00:00
Chung-Lin Tang
7c71147df3 re PR target/43872 (VLAs are not aligned correctly on ARM)
2011-03-17  Chung-Lin Tang  <cltang@codesourcery.com>

	PR target/43872
	* config/arm/arm.c (arm_get_frame_offsets): Adjust early
	return condition with !cfun->calls_alloca.

From-SVN: r171096
2011-03-17 14:02:12 +00:00
Richard Guenther
0e1ee172e8 re PR bootstrap/48148 (LTO bootstrap failed with bootstrap-profiled)
2011-03-17  Richard Guenther  <rguenther@suse.de>

	PR bootstrap/48148
	* lto-cgraph.c (input_overwrite_node): Clear the abstract
	origin for decls in other ltrans units.
	(input_varpool_node): Likewise.

From-SVN: r171094
2011-03-17 13:25:23 +00:00
Richard Guenther
f8bce518af re PR tree-optimization/48165 (gcc-4.6: internal compiler error: in build2_stat)
2011-03-17  Richard Guenther  <rguenther@suse.de>

	PR middle-end/48165
	* tree-object-size.c (compute_object_offset): Properly return
	the offset operand of MEM_REFs as sizetype.

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

From-SVN: r171092
2011-03-17 13:19:01 +00:00
Eric Botcazou
bb1f792960 gigi.h (smaller_form_type_p): Declare.
* gcc-interface/gigi.h (smaller_form_type_p): Declare.
	* gcc-interface/trans.c (smaller_form_type_p): Make global and move...
	* gcc-interface/utils.c (smaller_form_type_p): ...to here.
	(convert): Deal with conversions from a smaller form type specially.

From-SVN: r171091
2011-03-17 12:37:53 +00:00
Jakub Jelinek
dabd47e701 re PR rtl-optimization/48141 (DSE compile time hog)
PR rtl-optimization/48141
	* params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
	* dse.c: Include params.h.
	(active_local_stores_len): New variable.
	(add_wild_read, dse_step1): Clear it when setting active_local_stores
	to NULL.
	(record_store, check_mem_read_rtx): Decrease it when removing
	from the chain.
	(scan_insn): Likewise.  Increase it when adding to chain, if it
	reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
	set active_local_stores to NULL before the addition.
	* Makefile.in (dse.o): Depend on $(PARAMS_H).

From-SVN: r171090
2011-03-17 13:36:04 +01:00
Jakub Jelinek
1b6fa86002 re PR rtl-optimization/48141 (DSE compile time hog)
PR rtl-optimization/48141
	* dse.c (record_store): If no positions are needed in an insn
	that cannot be deleted, at least unchain it from active_local_stores.

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

From-SVN: r171089
2011-03-17 13:35:04 +01:00
Jason Merrill
cb21e9cdf7 re PR c++/48089 ([C++0x] ICE on in(?)valid in constexpr constructors)
PR c++/48089
	* semantics.c (potential_constant_expression_1): Don't allow *this
	in a constructor.
	(register_constexpr_fundef): Use potential_rvalue_constant_expression.

From-SVN: r171086
2011-03-16 22:36:29 -04:00
Jason Merrill
89ae3825aa re PR c++/47301 ([C++0x] ICE: in fold_convert_loc, at fold-const.c:1906 with -fabi-version=1 and constexpr)
PR c++/47301
	* decl.c (compute_array_index_type): Don't bother trying to deal
	with literal classes in ABI v1.

From-SVN: r171085
2011-03-16 22:36:20 -04:00
Jason Merrill
9f2a22d0b8 re PR c++/46336 ([C++0X] ICE on invalid: in register_constexpr_fundef, at cp/semantics.c:5571)
PR c++/46336
	* decl.c (duplicate_decls): Return NULL_TREE for clashing
	C functions.

From-SVN: r171084
2011-03-16 22:36:12 -04:00
Jason Merrill
3f7c745381 re PR c++/47570 ([C++0x] "one() >= 0" isn't constexpr for unsigned int, yet == and > is.)
PR c++/47570
	* semantics.c (cxx_eval_constant_expression) [COMPOUND_EXPR]: Don't
	use the generic binary expression handling.

From-SVN: r171083
2011-03-16 22:36:04 -04:00
GCC Administrator
ab958d7c81 Daily bump.
From-SVN: r171082
2011-03-17 00:18:12 +00:00
Ian Lance Taylor
7b5da51d4f Don't catch LIBPROF in Go code.
From-SVN: r171077
2011-03-16 23:18:40 +00:00
Ian Lance Taylor
5133f00ef8 Update to current version of Go library (revision 94d654be2064).
From-SVN: r171076
2011-03-16 23:05:44 +00:00
Diego Novillo
f617201f55 Make-lang.in (CXX_PARSER_H): New.
* Make-lang.in (CXX_PARSER_H): New.
	(cp/parser.o): Add dependency on CXX_PARSER_H.
	Add dependency on tree-pretty-print.h
	(cp/cp-lang.o): Add dependency on CXX_PARSER_H.
	* cp-lang.c: Include parser.h.
	* parser.c: Include parser.h.
	(struct cp_token): Add bitfield purged_p.
	Update all users.
	Move to parser.h.
	(CPP_PURGED): Remove.  Update all users.
	(struct cp_lexer): Change field buffer to be a VEC of cp_token.
	Remove field buffer_length.
	Update all users.
	Move to parser.h.
	(struct tree_check): Move to parser.h.
	(cp_token_position): Likewise.
	(struct cp_token_cache): Likewise.
	(CPP_KEYWORD): Likewise.
	(CPP_TEMPLATE_ID): Likewise.
	(CPP_NESTED_NAME_SPECIFIER): Likewise.
	(N_CP_TTYPES): Likewise.
	(enum cp_parser_status_kind): Likewise.
	(struct cp_parser_context): Likewise.
	(struct cp_default_arg_entry_d): Likewise.
	(struct cp_unparsed_functions_entry_d): Likewise.
	(struct cp_parser): Likewise.
	(cp_lexer_dump_tokens): New.
	(cp_lexer_debug_tokens): New.
	(cp_lexer_finished_p): New.
	(cp_lexer_alloc): Factor out of cp_lexer_new_main.
	(cp_lexer_new_main): Re-write main lexing loop to push
	tokens into the new VEC buffer.
	(cp_lexer_print_token): Improve printing of CPP_NUMBER tokens.
	Do not abort if the token type is not recognized, just print
	its code.
	* parser.h: New file.
	* config-lang.in (gtfiles): Add cp/parser.h.

From-SVN: r171075
2011-03-16 18:03:56 -04:00
Dodji Seketeli
7b5cb7d634 re PR debug/47510 (DW_TAG_typedef can have children when designating a naming typedef)
PR debug/47510

gcc/

	PR debug/47510
	* dwarf2out.c (strip_naming_typedef): Factorize out of ...
	(lookup_type_die_strip_naming_typedef): ... here.
	(get_context_die): Use it.
	(gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
	the anonymous struct named by the naming typedef.

gcc/testsuite/

        PR debug/47510
	* g++.dg/debug/dwarf2/typedef6.C: New test.

From-SVN: r171073
2011-03-16 22:04:58 +01:00
Jason Merrill
532c679ea9 Core 1148
Core 1148
	* typeck.c (check_return_expr): Fix conditions for setting
	LOOKUP_PREFER_RVALUE.

From-SVN: r171071
2011-03-16 16:15:37 -04:00
Jason Merrill
e676810ed1 * call.c (build_over_call): Remove require_complete_type_sfinae call.
From-SVN: r171070
2011-03-16 16:15:24 -04:00
H.J. Lu
585e9d9de3 Check TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
2011-03-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/48154
	* config/i386/i386.c (ix86_builtin_vectorized_function): Check
	TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.

From-SVN: r171069
2011-03-16 13:04:40 -07:00
Jason Merrill
0136dc743a re PR c++/48132 ([C++0x] Internal compiler error on array of std::complex with -std=c++0x)
PR c++/48132
	* decl.c (check_array_designated_initializer): Allow integer index.
	(reshape_init_array_1): Set index on the elements.

From-SVN: r171068
2011-03-16 16:04:06 -04:00
Jason Merrill
f8f122781f re PR c++/48113 ([C++0x] bind with tuple argument fails)
PR c++/48113
	* typeck.c (convert_for_initialization): Use
	perform_implicit_conversion_flags.
	* call.c (standard_conversion): If LOOKUP_PREFER_RVALUE, set
	rvaluedness_matches_p on ck_rvalue.
	(convert_like_real) [ck_rvalue]: And restore it here.

From-SVN: r171067
2011-03-16 16:03:56 -04:00
Jason Merrill
85a273bae4 re PR c++/48115 (internal compiler error: in type_has_nontrivial_copy_init, at cp/tree.c:2482)
PR c++/48115
	* call.c (convert_arg_to_ellipsis): Handle incomplete type.

From-SVN: r171066
2011-03-16 16:03:46 -04:00
Jack Howarth
51fd6b9057 re PR lto/48086 (bootstrap-lto creates c-common.s with too many sections on x86_64-apple-darwin10)
2011-03-16  Jack Howarth  <howarth@bromo.med.uc.edu>

	PR lto/48086
	* configure.ac: Re-enable LTO on *-apple-darwin9.
	* configure: Regenerate.

From-SVN: r171058
2011-03-16 18:19:12 +00:00