Commit Graph

119543 Commits

Author SHA1 Message Date
J"orn Rennecke
94c765ab35 genoutput.c (process_template): Process '*' in '@' alternatives.
* genoutput.c (process_template): Process '*' in '@' alternatives.
	* doc/md.texi (node Output Statement): Provide example for the above.

From-SVN: r192457
2012-10-15 13:44:40 +01:00
Joern Rennecke
c3dc2ac8f4 Update Copyright years.
From-SVN: r192456
2012-10-15 13:38:56 +01:00
Richard Guenther
f843144b28 re PR tree-optimization/54920 (segfault in tree-ssa-pre.c during Firefox build)
2012-10-15  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/54920
	* tree-ssa-pre.c (create_expression_by_pieces): Properly
	allocate temporary storage for all NARY elements.

	* gcc.dg/torture/pr54920.c: New testcase.

From-SVN: r192454
2012-10-15 11:22:49 +00:00
Joern Rennecke
7bd8fc3ba1 * web.c (union_match_dups): Properly handle OP_INOUT match_dups.
From-SVN: r192453
2012-10-15 12:20:02 +01:00
Eric Botcazou
9506aecb3b expr.c (expand_expr_real_1): Do not unnecessarily copy the object in the MEM_P case.
* expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Do not unnecessarily
	copy the object in the MEM_P case.

From-SVN: r192452
2012-10-15 10:48:17 +00:00
Richard Guenther
0127aae46a tree-streamer-out.c (streamer_pack_tree_bitfields): Back BINFO_BASE_ACCESSES and CONSTRUCTOR lengths here.
2012-10-15  Richard Guenther  <rguenther@suse.de>

	* tree-streamer-out.c (streamer_pack_tree_bitfields): Back
	BINFO_BASE_ACCESSES and CONSTRUCTOR lengths here.
	(streamer_write_chain): Write TREE_CHAIN as null-terminated list.
	(write_ts_exp_tree_pointers): Adjust.
	(write_ts_binfo_tree_pointers): Likewise.
	(write_ts_constructor_tree_pointers): Likewise.
	* tree-streamer-in.c (streamer_read_chain): Read TREE_CHAIN as
	null-terminated list.
	(unpack_value_fields): Unpack BINFO_BASE_ACCESSES and
	CONSTRUCTOR lengths and materialize the arrays.
	(lto_input_ts_exp_tree_pointers): Adjust.
	(lto_input_ts_binfo_tree_pointers): Likewise.
	(lto_input_ts_constructor_tree_pointers): Likewise.

From-SVN: r192451
2012-10-15 10:39:59 +00:00
Jason Merrill
fe0f6df424 re PR target/54908 (misc regressions on emutls targets remain from dynamic initialization of non-function-local TLS variables)
PR target/54908
	* libsupc++/atexit_thread.cc: Rewrite to keep the cleanup list
	with get/setspecific.  Destroy the key on dlclose.

From-SVN: r192449
2012-10-15 03:32:13 -04:00
Jason Merrill
85b5d65a94 Implement C++11 inheriting constructors.
* cp-tree.h (cpp0x_warn_str): Add CPP0X_INHERITING_CTORS.
	(DECL_INHERITED_CTOR_BASE, SET_DECL_INHERITED_CTOR_BASE): New.
	(special_function_kind): Add sfk_inheriting_constructor.
	* class.c (add_method): An inheriting ctor is hidden by a
	user-declared one.
	(one_inheriting_sig, one_inherited_ctor): New.
	(add_implicitly_declared_members): Handle inheriting ctors.
	* error.c (maybe_warn_cpp0x): Handle CPP0X_INHERITING_CTORS.
	* init.c (emit_mem_initializers): Don't set LOOKUP_DEFAULTED
	for an inheriting constructor.
	* method.c (type_has_trivial_fn): Handle sfk_inheriting_constructor.
	(type_set_nontrivial_flag): Likewise.
	(add_one_base_init): Split out from...
	(do_build_copy_constructor): ...here.  Handle inheriting constructors.
	(locate_fn_flags): Handle a list of arg types.
	(synthesized_method_walk): Handle inheriting constructors.
	(maybe_explain_implicit_delete): Likewise.
	(deduce_inheriting_ctor): New.
	(implicitly_declare_fn): Handle inheriting constructors.
	* name-lookup.c (push_class_level_binding_1): An inheriting constructor
	does not declare the base's name.
	(do_class_using_decl): Allow inheriting constructors.
	* pt.c (template_parms_to_args): Split from current_template_args.
	(add_inherited_template_parms): New.
	(tsubst_decl): Handle inheriting constructors.
	* tree.c (special_function_p): Handle inheriting constructors.

Co-Authored-By: Ville Voutilainen <ville.voutilainen@gmail.com>

From-SVN: r192448
2012-10-15 03:32:03 -04:00
GCC Administrator
d0d4f8c78e Daily bump.
From-SVN: r192445
2012-10-15 00:18:17 +00:00
Hans-Peter Nilsson
ae9d1af7c4 mmix.c (mmix_opposite_regno): Handle the return-value register too.
* config/mmix/mmix.c (mmix_opposite_regno): Handle the
	return-value register too.

From-SVN: r192441
2012-10-14 20:59:12 +00:00
Steven Bosscher
bf744527f1 re PR rtl-optimization/38711 (ira should not be using df-lr except at -O1.)
PR rtl-optimization/38711
	* df.h (df_get_live_out, df_get_live_in): Make static inline functions.
	* df-problems.c (df_get_live_out, df_get_live_in): Moved to df.h.
	* ira-lives.c (process_bb_node_lives): Use df_get_live_out instead of
	DF_LR_OUT.
	* ira-build.c (create_bb_allocnos): Likewise.
	(create_loop_allocnos): Likewise, and use df_get_live_in instead of
	DF_LR_IN.
	* ira-emit.c (generate_edge_moves): Likewise.
	(add_ranges_and_copies): Likewise.
	* ira-color.c (ira_loop_edge_freq): Use df_get_live_out instead of
	DF_LR_OUT, and df_get_live_in instead of DF_LR_IN.
	* ira.c (mark_elimination): Update DF_LR and DF_LIVE.
	(build_insn_chain): Use df_get_live_out instead of DF_LR_OUT.
	(do_reload): Remove the DF_LIVE problem for -O1.

From-SVN: r192440
2012-10-14 19:30:59 +00:00
Steven Bosscher
6e74642b2c re PR rtl-optimization/54919 (gcc.dg/torture/pr54877.c FAILs with -fvariable-expansion-in-unroller)
gcc/
	PR rtl-optimization/54919
	* loop-unroll.c (struct var_to_expand): Remove accum_pos field.
	(analyze_insn_to_expand_var): Do not record accum_pos.
	(expand_var_during_unrolling): Use validate_replace_rtx_group to
	perform replacement of all references to SET_DEST (set) with the
	new register, including references in REG_EQUAL notes.
	(insert_var_expansion_initialization): Insert initializatio insns
	at the bottom of the pre-header of the loop.

testsuite/
	PR rtl-optimization/54919
	* gcc.dg/pr54919.c: New testcase.

From-SVN: r192439
2012-10-14 19:29:18 +00:00
Paolo Carlini
b5afa20284 re PR c++/53581 (Segmentation fault when enabling -std=c++0x on template code)
2012-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/53581
	* g++.dg/template/crash113.C: New.

From-SVN: r192438
2012-10-14 18:24:32 +00:00
Jan Hubicka
6d96bad253 tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not predict loops with multiple exits realistically.
* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not
	predict loops with multiple exits realistically.
	* cfgloopanal.c (single_likely_exit): New function.

From-SVN: r192434
2012-10-14 16:25:49 +00:00
Jan Hubicka
f9bf4777c1 tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not predict loops with multiple exits realistically.
* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not
	predict loops with multiple exits realistically.
	* cfgloopanal.c (single_likely_exit): New function.

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

From-SVN: r192433
2012-10-14 16:18:26 +00:00
Paolo Carlini
ca6729e2ed re PR c++/52643 (Stack overflow ICE in cc1plus when templates, exceptions, and continue out of try used)
2012-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/52643
	* g++.dg/opt/pr52643.C: New.

From-SVN: r192432
2012-10-14 13:40:55 +00:00
Uros Bizjak
7159e6380c alpha.md: Remove empty predicates and/or constraints.
* config/alpha/alpha.md: Remove empty predicates and/or constraints.
	* config/alpha/sync.md: Ditto.

From-SVN: r192431
2012-10-14 14:50:45 +02:00
GCC Administrator
0c3da4c5d2 Daily bump.
From-SVN: r192430
2012-10-14 00:18:17 +00:00
Uros Bizjak
c131069c12 alpha.md (I24MODE): New mode iterator.
* config/alpha/alpha.md (I24MODE): New mode iterator.
	(any_divmod): New code iterator.
	(<code>si3): Macroize expander from {div,mod,udiv,umod}si3 using
	any_divmod code iterator.
	(<code>si3): Macroize expander from {div,mod,udiv,umod}di3 using
	any_divmod code iterator.
	(extendqi<mode>2): Macroize insn from extendqi{hi,si}2 using
	I24MODE mode iterator.
	(unaligned_store<mode>): Macroize expander from unaligned_store{qi,hi}
	using I12MODE mode iterator.
	(mov<mode>): Macroize expander from mov{qi,hi} using
	I12MODE mode iterator.

From-SVN: r192427
2012-10-13 23:39:29 +02:00
Eric Botcazou
4fc2e37df9 re PR rtl-optimization/54871 (gfortran.dg/vector_subscript_1.f90 FAILs)
PR rtl-optimization/54871
	* loop-iv.c (simplify_using_initial_values): When scanning previous
	basic blocks, prune the recorded conditions if the current insn was
	not used to make a replacement.

	* loop-unroll.c (decide_unroll_constant_iterations): Clean up message.
	(unroll_loop_constant_iterations): Clarify head comment.
	(decide_unroll_runtime_iterations): Clean up message.
	(unroll_loop_runtime_iterations): Clarify head comment.
	(decide_peel_simple): Clean up message.
	(peel_loop_simple): Clarify head comment.
	(decide_unroll_stupid): Clean up message.
	(unroll_loop_stupid): Clarify head comment.

From-SVN: r192426
2012-10-13 20:22:07 +00:00
Andreas Schwab
258ef00780 re PR gcov-profile/44728 (gcov chokes when "." is present in DIR argument to -o flag)
PR gcov-profile/44728
* gcov.c (create_file_names): When stripping extension only look
at base name.

From-SVN: r192425
2012-10-13 18:41:08 +00:00
Jan Hubicka
43ffba00cb loop-iv.c (determine_max_iter): Fix handling of AND.
* loop-iv.c (determine_max_iter): Fix handling of AND.
	(iv_number_of_iterations): Record upper bounds as unsigned
	values.

From-SVN: r192424
2012-10-13 16:50:03 +00:00
Steven Bosscher
544e7e7835 ira.c (ira): Set current_loops to &ira_loops before recording loop exits.
* ira.c (ira): Set current_loops to &ira_loops before recording
	loop exits.  Release recorded exits and loops early.

From-SVN: r192423
2012-10-13 13:21:34 +00:00
Chung-Lin Tang
5440a1b0fe builtins.c (expand_builtin_set_thread_pointer): Use create_input_operand() instead of create_fixed_operand().
2012-10-13  Chung-Lin Tang  <cltang@codesourcery.com>

	* builtins.c (expand_builtin_set_thread_pointer): Use
	create_input_operand() instead of create_fixed_operand().

From-SVN: r192422
2012-10-13 09:28:26 +00:00
Uros Bizjak
fdc545922b alpha.md (FMODE): New mode iterator.
* config/alpha/alpha.md (FMODE): New mode iterator.
	(modesuffix): Handle SF and DF modes.
	(opmode): New mode attribute.
	(abs<mode>2): Macroize insn from abs{sf,df}2 using FMODE mode iterator.
	(*nabs<mode>2): Macroize insn from *nabs{sf,df}2 using
	FMODE mode iterator.
	(neg<mode>2): Macroize insn from neg{sf,df}2 using FMODE mode iterator.
	(copysign<mode>3): Macroize insn from copysign{sf,df}3 using
	FMODE mode iterator.
	(*ncopysign<mode>3): Macroize insn from *ncopysign{sf,df}3 using
	FMODE mode iterator.
	(*add<mode>3_ieee): Macroize insn from *add{sf,df}_ieee using
	FMODE mode iterator.
	(add<mode>3): Macroize insn from add{sf,df}3 using FMODE mode iterator.
	(*sub<mode>3_ieee): Macroize insn from *sub{sf,df}3_ieee using
	FMODE mode iterator.
	(sub<mode>3): Macroize insn from sub{sf,df}3 using FMODE mode iterator.
	(*mul<mode>3_ieee): Macroize insn from *mul{sf,df}3_ieee using
	FMODE mode iterator.
	(mul<mode>3): Macroize insn from mul{sf,df}3 using FMODE mode iterator.
	(*div<mode>3_ieee): Macroize insn from *div{sf,df}3_ieee using
	FMODE mode iterator.
	(div<mode>3): Macroize insn from div{sf,df}3 using FMODE mode iterator.
	(*sqrt<mode>2_ieee): Macroize insn from *sqrt{sf,df}2_ieee using
	FMODE mode iterator.
	(sqrt<mode>2): Macroize insn from sqrt{sf,df}2
	using FMODE mode iterator.
	(*mov<mode>cc_internal): Macroize insn from *mov{sf,df}cc_internal
	using FMODE mode iterator.
	(mov<mode>cc): Macroize expander from mov{sf,df}cc
	using FMODE mode iterator.

From-SVN: r192421
2012-10-13 10:36:21 +02:00
GCC Administrator
c4648c1dac Daily bump.
From-SVN: r192420
2012-10-13 00:18:42 +00:00
Oleg Endo
fd90d92c8f re PR target/54602 ([SH] Register pop insn not put in rts delay slot)
PR target/54602
	* config/sh/sh.md: Correct define_delay for return insns.
	(*movsi_pop): Delete.

	PR target/54602
	* gcc.target/sh/pr54602-1.c: New.
	* gcc.target/sh/pr54602-2.c: New.
	* gcc.target/sh/pr54602-3.c: New.
	* gcc.target/sh/pr54602-4.c: New.

From-SVN: r192417
2012-10-12 23:22:48 +00:00
Oleg Endo
db292b0ecd re PR target/54680 ([SH] Unnecessary int-float-int conversion of fsca fixed point input)
PR target/54680
	* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_int2sf): Fix swapped
	comments.
	* config/sh/predicates.md (fpul_operand): Add comment.
	(fpul_fsca_operand, fsca_scale_factor): New predicates.
	* config/sh/sh.md (fsca): Move below sincossf3 expander.  Convert to
	insn_and_split.  Use fpul_fsca_operand and fsca_scale_factor predicates.
	Simplify fpul operand in splitter.

	PR target/54680
	* gcc.target/sh/pr54680.c: New.

From-SVN: r192416
2012-10-12 23:19:27 +00:00
Jan Hubicka
535269f4f9 tree-ssa-threadupdate.c (def_split_header_continue_p): Do not escape the loop.
* tree-ssa-threadupdate.c (def_split_header_continue_p): Do not
	escape the loop.

From-SVN: r192414
2012-10-12 20:38:19 +00:00
Jan Hubicka
46042c015e * web.c (web_main): Do not set DF_RD_PRUNE_DEAD_DEFS flag.
From-SVN: r192413
2012-10-12 20:36:09 +00:00
Janis Johnson
4a9ad29487 pr48765.c: Skip for conflicting options, don't specify -m64.
* gcc.dg/vect/pr48765.c: Skip for conflicting options, don't
	specify -m64.

From-SVN: r192412
2012-10-12 19:45:25 +00:00
Janis Johnson
5751c836da div64-unwinding.c: Skip, don't xfail, for GNU/Linux.
* gcc.target/arm/div64-unwinding.c: Skip, don't xfail, for
	GNU/Linux.

From-SVN: r192410
2012-10-12 19:36:45 +00:00
Janis Johnson
f7fdcdc877 target-supports.exp (check_effective_target_arm_hard_vfp_ok): Return 0 if already specifying -mfloat-abi other than hard.
* lib/target-supports.exp (check_effective_target_arm_hard_vfp_ok):
	Return 0 if already specifying -mfloat-abi other than hard.

From-SVN: r192409
2012-10-12 19:33:28 +00:00
Joe Seymour
0ae4115954 pr53060.c: Prune irrelevant warning.
2012-10-12  Joe Seymour  <jseymour@codesourcery.com>

	* gcc.dg/pr53060.c: Prune irrelevant warning.

From-SVN: r192407
2012-10-12 18:40:54 +00:00
Jakub Jelinek
3a785c97fa re PR c/54381 (-Wsizeof-pointer-memaccess refers to "destination" for strncmp)
PR c/54381
	* c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
	* c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
	locs and array of 3 trees instead of just single loc and single
	sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
	also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
	For *cmp* builtins that take two sources strings report warnings
	about first and second source, not about destination and source.

	* c-parser.c (struct c_tree_loc_pair): Removed.
	(c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
	add location_t * and tree * arguments, fill in array of 3
	sizeof_arg trees and corresponding locs.
	(c_parser_attributes, c_parser_objc_keywordexpr): Adjust
	c_parser_expr_list callers.
	(c_parser_postfix_expression_after_primary): Likewise.  Pass
	array of 3 sizeof_arg trees and locs (corresponding to first
	3 arguments) to sizeof_pointer_memaccess_warning.

	* semantics.c (finish_call_expr): Pass array of 3 sizeof_arg
	trees and locs (corresponding to first 3 arguments) to
	sizeof_pointer_memaccess_warning.

	* c-c++-common/Wsizeof-pointer-memaccess1.c: New test.
	* c-c++-common/Wsizeof-pointer-memaccess2.c: New test.
	* gcc.dg/Wsizeof-pointer-memaccess1.c: New test.
	* gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Test also stpncpy.
	Adjust expected wording of warnings for *cmp* builtins.
	* g++.dg/torture/Wsizeof-pointer-memaccess1.C: Likewise.
	* g++.dg/torture/Wsizeof-pointer-memaccess2.C: Likewise.

From-SVN: r192406
2012-10-12 20:23:03 +02:00
Diego Novillo
313465bbbd Add more C++ support in gengtype.
This patch combines the changes from
http://gcc.gnu.org/ml/gcc-patches/2012-08/msg02016.html with other
additions to support C++ inside GTY'd structures.

The main changes wrt Aaron's original patch are:

- Support for function declarations inside classes.

- Support scoping in identifiers.  This does not mean that gengtype
  supports scopes, it just knows that 'Foo::id' is a single entity.

- Explicit non-support for typedef and enum inside class/struct.
  Since gengtype does not really know about scopes, it cannot
  understand these types, but it knows enough to recognize and reject
  them.  GTY'd struct/class that need to typedef their own types
  should use GTY((user)).

- Documentation on what is and is not supported.

There is one check I needed to remove that gave me some trouble.
When a ctor is detected, we have already parsed the name of the
ctor as a type, which is then registered in the list of structures.

We go on to recognize it as a ctor *after* the type has been
registered.  We reject the field in declarator() and it is never
added to the list of fields for the class.

However, when we reach the end of the class, we find that the
type we created while parsing the ctor has line number
information in it (the line where the ctor was) and gengtype
thinks that it is a duplicate structure definition.

I took out this check for two reasons: (a) It is actually
unnecessary because if there were really duplicate definitions of
this structure, the code would not compile, and (b) all the other
alternatives required making the parser much more convoluted and
I'm trying hard not to make gengtype parser too smart.

2012-10-12  Aaron Gray <aaronngray.lists@gmail.com>
	    Diego Novillo <dnovillo@google.com>

        * gengtype-lex.l: Support for C++ single line comments.
        Support for classes.
	(CXX_KEYWORD): New.  Support C++ keywords inline, public,
	protected, private, template, operator, friend, &, ~.
	(TYPEDEF): New.  Support typedef.
        * gengtype-parser.c: updated 'token_names[]'
        (direct_declarator): Add support for parsing functions
	and ctors.

2012-10-12  Diego Novillo  <dnovillo@google.com>

	* doc/gty.texi: Document C++ limitations in gengtype.
	* gengtype-lex.l (CID): Rename from ID.
	(ID): Include scoping '::' as part of the identifier name.
	* gengtype-parse.c (token_names): Update.
	(token_value_format): Update.
	(consume_until_eos): Rename from consume_until_semi.
	Remove unused argument IMMEDIATE.  Update all callers.
	Also consider '}' as a finalizer.
	(consume_until_comma_or_eos): Rename from
	consume_until_comma_or_semi.
	Remove unused argument IMMEDIATE.  Update all callers.
	Also consider '}' as a finalizer.
	(direct_declarator): Add documentation on ctor support.
	Add argument IN_STRUCT.
	If the token following ID is a '(', consider ID a
	function and return NULL.
	If the token following '(' is not a '*', and IN_STRUCT is
	true, conclude that this is a ctor and return NULL.
	If the token is IGNORABLE_CXX_KEYWORD, return NULL.
	(inner_declarator): Add argument IN_STRUCT.
	Update all callers.
	(declarator): Add argument IN_STRUCT with default value
	false.  Update all callers.
	(type): Document argument NESTED.
	Skip over C++ inheritance specifiers.
	If a token TYPEDEF is found, emit an error.
	If an enum is found inside a class/structure, emit an
	error.
	(typedefs, structures, param_structs, variables): Initialize.
	(new_structure): Do not complain about duplicate
	structures if S has a line location set.
	* gengtype-state.c (write_state_type): Remove default
	handler.  Add handler for TYPE_NONE.
	(read_state_scalar_char_type):
	* gengtype.c: Fix spacing.
	* gengtype.h (enum gty_token): Add name.  Add token
	IGNORABLE_CXX_KEYWORD.

From-SVN: r192405
2012-10-12 11:17:17 -04:00
Edward Smith-Rowland
b09e6a7074 Forgot the CL entry for the Hoyt and arcsine distributions.
From-SVN: r192404
2012-10-12 15:16:29 +00:00
Edward Smith-Rowland
500602220a dd the Hoyt and the arcsine distributions as extensions.
From-SVN: r192403
2012-10-12 15:15:21 +00:00
Paolo Carlini
e74a506f4e re PR c++/24449 (Unable to declare friend main() from class template)
/cp
2012-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/24449
	* decl.c (grokfndecl): When checking for ::main declarations
	use PROCESSING_REAL_TEMPLATE_DECL_P().

/testsuite
2012-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/24449
	* g++.dg/parse/friend-main.C: New.

From-SVN: r192402
2012-10-12 14:38:11 +00:00
Marc Glisse
5e54f81df1 re PR c++/53055 (ICE in cp_build_indirect_ref, at cp/typeck.c:2836)
2012-10-12  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/53055

gcc/c-family/
	* c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.

gcc/cp/
	* call.c (build_new_op_1): Pass RO_ARROW_STAR to cp_build_indirect_ref.
	* typeck.c (cp_build_indirect_ref): Handle RO_ARROW_STAR.

gcc/testsuite/
	* g++.dg/pr53055.C: New testcase.

From-SVN: r192401
2012-10-12 14:14:37 +00:00
Chung-Lin Tang
7e4dd63d9d arm.md (get_thread_pointersi): Moved to place with other TLS related patterns.
2012-10-12  Chung-Lin Tang  <cltang@codesourcery.com>

	* config/arm/arm.md (get_thread_pointersi): Moved to place with
	other TLS related patterns.

From-SVN: r192399
2012-10-12 12:47:53 +00:00
Richard Biener
0889c5c3fa tree-streamer-out.c (pack_ts_target_option): Rename from ...
2012-10-12  Richard Biener  <rguenther@suse.de>

	* tree-streamer-out.c (pack_ts_target_option): Rename from ...
	(write_ts_target_option): ... this.
	(pack_ts_optimization): Rename from ...
	(write_ts_optimization): ... this.
	(streamer_pack_tree_bitfields): Pack them in the bitfield section ...
	(streamer_write_tree_body): ... not here.
	* tree-streamer-in.c (unpack_ts_target_option): Rename from ...
	(lto_input_ts_target_option): ... this.
	(unpack_ts_optimization): Rename from ...
	(lto_input_ts_optimization): ... this.
	(unpack_value_fields): Unpack them from the bitfield section ...
	(streamer_read_tree_body): ... not from here.

From-SVN: r192398
2012-10-12 12:14:48 +00:00
Richard Biener
aec06f6fa8 re PR lto/54898 (ICE in uniquify_nodes, at lto/lto.c:1898)
2012-10-12  Richard Biener  <rguenther@suse.de>

	PR lto/54898
	* lto.c (gimple_types_compatible_p_1): Also compare
	TYPE_MAIN_VARIANT.
	(iterative_hash_gimple_type): Also hash TYPE_MAIN_VARIANT.

From-SVN: r192397
2012-10-12 12:14:03 +00:00
Uros Bizjak
87218838b8 alpha.md (vecmodesuffix): New mode attribute.
* config/alpha/alpha.md (vecmodesuffix): New mode attribute.
	(modesuffix): Handle V8QI and V4HI modes.
	(any_maxmin): New code iterator.
	(maxmin): New code attribute.
	(<code><mode>3): Macroize insn from {smax,smin,umax,umin}{qi,hi}3
	using any_maxmin code iterator and I12MODE mode iterator.
	(<code><mode>3): Macroize insn from {smax,smin,umax,umin}{v8qi,v4hi}3
	using any_maxmin code iterator and VEC12 mode iterator.

From-SVN: r192396
2012-10-12 13:32:02 +02:00
Kirill Yukhin
3b06f98418 Revert r192297.
From-SVN: r192394
2012-10-12 10:57:06 +00:00
Marc Glisse
e6ed43b0bc optabs.c (vector_compare_rtx): Change prototype.
2012-10-12  Marc Glisse  <marc.glisse@inria.fr>

	* optabs.c (vector_compare_rtx): Change prototype.
	(expand_vec_cond_expr): Handle VEC_COND_EXPR whose first operand
	is not a comparison.
	* gimplify.c (gimplify_expr): Handle VEC_COND_EXPR.

From-SVN: r192393
2012-10-12 09:20:00 +00:00
Paolo Carlini
bf90c4cd8e re PR c++/52744 (bad handling of member (function) pointers in template parameters)
2012-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/52744
	* g++.dg/cpp0x/pr52744.C: New.

From-SVN: r192392
2012-10-12 08:30:00 +00:00
Janus Weil
f2f8171fb1 re PR fortran/40453 ([F95] Enhanced (recursive) argument checking)
2012-10-12  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40453
	* interface.c (check_dummy_characteristics): Recursively check dummy
	procedures.

2012-10-12  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40453
	* gfortran.dg/dummy_procedure_9.f90: New.

From-SVN: r192391
2012-10-12 10:16:17 +02:00
Richard Biener
60b95d28c0 re PR tree-optimization/54894 (internal compiler error: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1286)
2012-10-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/54894
	* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
	Handle over-aligned scalar types properly.

	* gcc.dg/torture/pr54894.c: New testcase.

From-SVN: r192390
2012-10-12 08:00:29 +00:00
Oleg Endo
0b6222533e re PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)
PR target/54760
	* config/sh/sh.c (bdesc): Remove thread pointer built-ins.
	* config/sh/sh.md (get_thread_pointer, set_thread_pointer): Append mode
	name 'si'.

From-SVN: r192388
2012-10-12 00:45:36 +00:00