Commit Graph

119376 Commits

Author SHA1 Message Date
Richard Guenther 585d0dc43c tree-ssa-pre.c (postorder_num): New global.
2012-10-08  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-pre.c (postorder_num): New global.
	(compute_antic): Initialize all blocks and adjust for
	generic postorder.
	(my_rev_post_order_compute): Remove.
	(init_pre): Use inverted_post_order_compute.

From-SVN: r192204
2012-10-08 11:55:13 +00:00
Bernd Schmidt 975ccf2291 sched-int.h (schedule_block): Adjust declaration.
* sched-int.h (schedule_block): Adjust declaration.
	* sched-rgn.c (bb_state_array, bb_state): New static variables.
	(sched_rgn_init): Initialize them.
	(sched_rgn_free): Free them.
	(schedule_region): Save scheduling state for future blocks, and
	pass such state to schedule_block.
	* params.def (PARAM_SCHED_STATE_EDGE_PROB_CUTOFF): New.
	* doc/invoke.texi (--param): Document it.
	* haifa-sched.c (schedule_block): New arg init_state.  Use it to
	initialize state if nonnull.  All callers changed.
	Call advance_one_cycle after scheduling.

From-SVN: r192203
2012-10-08 11:26:16 +00:00
Georg-Johann Lay 1e422ffff3 re PR target/54854 ([avr] Deprecate and finally remove the -mshort-calls command line option)
PR target/54854
	* doc/invoke.texi (AVR Options): Remove -mshort-calls.
	* config/avr/avr.opt (-mshort-calls): Remove option.
	* config/avr/avr.h (AVR_HAVE_JMP_CALL): Don't depend on
	TARGET_SHORT_CALLS.

From-SVN: r192201
2012-10-08 10:13:56 +00:00
Oleg Endo f429813df1 re PR middle-end/54685 ([SH] Improve unsigned int comparison with 0x7FFFFFFF)
PR target/54685
	* config/sh/sh.md (one_cmplsi2): Make insn_and_split.  Add manual
	combine matching for an insn sequence where a ge:SI pattern can be used.

	PR target/54685
	* gcc.target/sh/pr54685.c: New.

From-SVN: r192200
2012-10-08 10:09:28 +00:00
Dodji Seketeli e28d52cffb PR c++/53528 C++11 attribute support
This patch implements the c++-11 generalized attributes, described in
the N2761 paper[1].

The idea is to modify the front-end to accept the new attribute syntax
(including alignas expressions) and to build an internal
representation similar to the one we already have for GNU attributes.

This lets us re-use our existing GNU attribute mechanisms to support
the generalized c++11 attributes.

The patch does change the existing internal representation to support
scoped attribute (aka attributes with namespaces), which is a concept
that doesn't exist in GNU attributes.  I have thus put all existing
GNU extension attributes into the "gnu" namespace.  For instance, in
C++-11, the "unused" attribute would be represented as
"[[gnu::unused]]".  Because there is no syntax for scoped attributes
in C, writting "__attribute__((unused))" unconditionnally refers to
the "unused" attribute in the "gnu" namespace.

Note that this patch follows a conservative understanding of the
specification by disallowing attributes appertaining to types, unless
they apply to a type definition.

Tested on x86_64-unknown-linux-gnu and powerpc64-unknown-linux-gnu.

[1]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf

gcc/
	* plugin.h (register_scoped_attributes): Declare new function.
	* tree.h (enu attribute_flags::ATTR_FLAG_CXX_11): New flag.
	(lookup_scoped_attribute_spec, cxx_11_attribute_p)
	(get_attribute_name, get_attribute_namespace): Declare new functions.
	(struct attribute_spec): Remove const qualifier from the members.
	* tree.c (comp_type_attributes, private_lookup_attribute)
	(lookup_ident_attribute, remove_attribute, merge_attribute)
	(attribute_hash_list, attribute_list_contained): Use
	get_attribute_name.
	* attribs.c (decl_attributes): Don't crash on error_mark_node.
	Forbid c++11 attributes appertaining to type-specifiers.
	(attribute_hash): Remove global variable.
	(attributes_table): New global variable.
	(find_attribute_namespace, register_scoped_attribute): New static
	functions.
	(register_scoped_attributes, lookup_scoped_attribute_spec)
	(cxx11_attribute_p, get_attribute_name, get_attribute_namespace):
	New public functions.
	(init_attributes): Register all the GNU attributes into the "gnu"
	namespace.
	(register_attribute): Use register_scoped_attribute to register
	the attribute into the "gnu" namespace.
	(lookup_attribute_spec): Use lookup_scoped_attribute_spec to
	lookup the attribute in the "gnu" namespace.
	(decl_attributes): Use new get_attribute_namespace and
	lookup_scoped_attribute_spec to consider attribute namespaces when
	looking up attributes.  When operating in c++-11 mode, pass flag
	ATTR_FLAG_CXX11 to the spec handler.

gcc/c-family/

	* c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
	new functions.
	* c-common.c (check_cxx_fundamental_alignment_constraints): New
	static function.
	(handle_aligned_attribute): In choose strictest alignment
	among many.  Use new check_cxx_fundamental_alignment_constraints.
	(handle_transparent_union_attribute): In c++11 attribute syntax,
	don't look through typedefs.

gcc/cp/

	* cp-tree.h (enum cpp0x_warn_str::CPP0X_ATTRIBUTES): New member.
	(enum cp_decl_spec::ds_std_attribute): New enumerator.
	(struct cp_decl_specifier_seq::std_attributes): New field.
	(cxx_alignas_expr, warn_misplaced_attr_for_class_type): Declare
	new functions.
	(check_tag_decl): Take an extra parameter for explicit
	instantiations.
	* decl.c (warn_misplaced_attr_for_class_type): Extract from ...
	(check_tag_decl): ... here.  Add check for c++11 attributes being
	applied to an explicit instantiation.  Take an extra parameter for
	explicit instantiations.
	(grokdeclarator): Make sure a c++11 attribute after an array
	declarator appertains to the array, an attribute after a function
	declarator appertains to the function type, an attribute after a
	declarator-id appertains to the entity being declared, and an
	attribute after a pointer declarator appertains to the pointer.
	* decl2.c (is_late_template_attribute): Use get_attribute_name.
	* error.c (maybe_warn_cpp0x): Support
	CPP0X_GENERALIZED_ATTRIBUTES.
	* parser.c (cp_next_tokens_can_be_attribute_p)
	(cp_next_tokens_can_be_gnu_attribute_p)
	(cp_next_tokens_can_be_std_attribute_p)
	(cp_nth_tokens_can_be_attribute_p)
	(cp_nth_tokens_can_be_gnu_attribute_p)
	(cp_nth_tokens_can_be_std_attribute_p)
	(cp_parser_gnu_attribute_list, cp_parser_std_attribute)
	(cp_parser_std_attribute_spec, cp_parser_std_attribute_spec_seq)
	(cp_parser_attributes_opt, cp_parser_std_attribute_list): New
	static functions.
	(cp_parser_gnu_attributes_opt): Replace cp_parser_attributes_opt.
	(cp_parser_gnu_attribute_list): Replace cp_parser_attribute_list.
	(cp_parser_postfix_expression): Disallow "[[" tokens here.
	(cp_parser_label_for_labeled_statement): Use take an extra
	parameter for attributes.
	(cp_parser_block_declaration): Use
	cp_nth_tokens_can_be_std_attribute_p here.
	(cp_parser_decl_specifier_seq): Likewise.  Store C++11 attributes
	that appears in in decl specifiers in cp_decl_specifier_seq::std_attributes.
	declaration.  Emit proper warning about misplaced c++11 attributes
	for class type.
	(cp_parser_explicit_instantiation): Adjust call to check_tag_decl.
	(cp_parser_init_declarator):  Parsing attributes here is no more a
	GNU extension in c++-11.
	(cp_parser_type_specifier_seq): Use
	cp_next_tokens_can_be_attribute_p.
	(cp_parser_direct_declarator): Likewise.  Hang c++11 attributes
	following the declarator to its syntactic construct.  It'll later
	be applied to the proper appertaining entity by grokdeclarator.
	(cp_parser_ptr_operator): Likewise.
	(make_declarator): Initialize cp_declarator::std_attribute.
	(make_pointer_declarator, make_reference_declarator)
	(make_ptrmem_declarator, cp_parser_make_indirect_declarator): Take
	attributes that appertain to the pointer/reference in argument.
	(cp_parser_ptr_operator): Take an out parameter for c++11
	attributes.  Update comments.
	(cp_parser_new_declarator_opt)
	(cp_parser_conversion_declarator_opt): Adjust.
	(cp_parser_declarator): Likewise.  Handle C++11 attributes.
	Rename attributes to gnu_attribute for better legibility.
	(cp_parser_simple_declaration): Update comment.
	(cp_parser_class_specifier_1): Parse GNU attributes specifically
	(cp_parser_enum_specifier): Accept only gnu attributes after the
	specifier.
	(cp_parser_member_declaration): Don't clear attributes -- intended
	for the entity being declared -- too early because check_tag_decl
	needs them.
	(cp_parser_statement): Update comment.  Parse optional c++11
	attributes at the beginning of the relevant kind of statements and
	ignore them, for now, unless when calling
	cp_parser_label_for_labeled_statement.
	(cp_parser_label_for_labeled_statement): Take c++11 attributes
	in parameter.
	* semantics.c (potential_constant_expression_1): Likewise.
	* typeck.c (fundamental_alignment_p, cxx_alignas_expr): New public
	functions.

gcc/testsuite/

	* g++.dg/cpp0x/gen-attrs-1.C: New test.
	* g++.dg/cpp0x/gen-attrs-2.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-2-1.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-3.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-4.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-5.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-6.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-7.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-8.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-9.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-10.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-11.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-12.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-13.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-14.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-15.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-16.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-17.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-18.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-19.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-20.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-21.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-22.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-23.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-24.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-25.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-26.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-27.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-28.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-29.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-30.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-31.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-32.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-33.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-34.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-35.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-36.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-36-1.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-37.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-38.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-39.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-39-1.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-40.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-41.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-42.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-43.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-44.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-45.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-46.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-47.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-47-1.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-48.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-49.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-50.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-51.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-52.C: Likewise.
	* g++.dg/cpp0x/gen-attrs-53.C: Likewise.

From-SVN: r192199
2012-10-08 11:29:05 +02:00
Georg-Johann Lay f70308d411 re PR target/54815 ([avr] missed optimization with operations with constant operands)
PR target/54815
	* config/avr/avr.md (*add<mode>3, add<mode>3, addpsi3): Make
	constraint alternative "r,0,r" slighly more expensive.
	(sub<mode>3,
	(andqi3, andhi3, andpsi3, andsi3): Ditto.
	(iorqi3, iorhi3, iorpsi3, iorsi3): Ditto.
	(xorhi3, xorpsi3, xorsi3): Ditto.

From-SVN: r192198
2012-10-08 08:32:46 +00:00
Eric Botcazou b122a75f8f slsr-30.c: Use correct cleanup directive.
* gcc.dg/tree-ssa/slsr-30.c: Use correct cleanup directive.
	* gcc.dg/tree-ssa/attr-hotcold-2.c: Likewise.
	* gcc.dg/tree-ssa/ldist-21.c: Add missing cleanup directive.

From-SVN: r192197
2012-10-08 08:08:44 +00:00
Uros Bizjak 5cb41028af * ChangeLog: Fix whitespace.
From-SVN: r192195
2012-10-08 08:34:18 +02:00
Ian Lance Taylor fb521d54f1 runtime: Fix __go_symbol_value val argument to backtrace_syminfo.
From-SVN: r192194
2012-10-08 04:29:47 +00:00
Oleg Endo fce1e5fb8f re PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)
PR target/54760
	* config/sh/sh.md (*mov<mode>_gbr_load, *mov<mode>_gbr_store): New
	insns and accompanying unnamed splits.
	* config/sh/predicates.md (general_movsrc_operand,
	general_movdst_operand): Reject GBR addresses.
	* config/sh/sh-protos.h (sh_find_equiv_gbr_addr): New declaration.
	* config/sh/sh.c (sh_address_cost, sh_legitimate_address_p,
	sh_secondary_reload): Handle GBR addresses.
	(base_reg_disp): New class.
	(sh_find_base_reg_disp, sh_find_equiv_gbr_addr): New functions.

	PR target/54760
	* gcc.target/sh/pr54760-2.c: New.
	* gcc.target/sh/pr54760-3.c: New.

From-SVN: r192193
2012-10-08 02:00:46 +00:00
GCC Administrator 7f7b06c14f Daily bump.
From-SVN: r192192
2012-10-08 00:18:01 +00:00
Hans-Peter Nilsson 63f2a6a5aa mmix.c (mmix_output_octa): Don't assume HOST_WIDEST_INT_PRINT_HEX starts with "0x".
* config/mmix/mmix.c (mmix_output_octa): Don't assume
	HOST_WIDEST_INT_PRINT_HEX starts with "0x".  Instead use
	HOST_WIDE_INT_PRINT_HEX_PURE, falling back to
	HOST_WIDEST_INT_PRINT_UNSIGNED.

From-SVN: r192189
2012-10-08 00:10:20 +00:00
Paolo Carlini 81bd268ceb pt.c (fold_non_dependent_expr_sfinae): Remove static specifier.
2012-10-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* pt.c (fold_non_dependent_expr_sfinae): Remove static specifier.
	(tsubst_copy_and_build): Use get_target_expr_sfinae.
	* call.c (build_conditional_expr_1, convert_like_real): Likewise.
	* cvt.c (build_up_reference): Likewise.
	(ocp_convert): Use abstract_virtuals_error_sfinae.
	(build_up_reference): Propagate complain to cp_build_addr_expr.
	* decl.c (compute_array_index_type): Use fold_non_dependent_expr_sfinae.
	* cp-tree.h: Update declarations.

	* cvt.c	(build_expr_type_conversion): Tidy.

	* tree.c (stabilize_aggr_init): Change to static.

From-SVN: r192188
2012-10-07 23:08:49 +00:00
Paolo Carlini a5061eed10 re PR c++/51422 ([c++0x] ICE with invalid lambda expression)
/cp
2012-10-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51422
	* semantics.c (is_normal_capture_proxy): Return true for
	error_mark_node as DECL_VALUE_EXPR.

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

	PR c++/51422
	* g++.dg/cpp0x/lambda/lambda-ice8.C: New.

From-SVN: r192187
2012-10-07 23:06:16 +00:00
Richard Sandiford 40c5ed5b5a machmode.h (GET_MODE_UNIT_PRECISION): New macro.
gcc/
	* machmode.h (GET_MODE_UNIT_PRECISION): New macro.
	* simplify-rtx.c (simplify_truncation): New function,
	extracted from simplify_subreg and (in small part) from
	simplify_unary_operation_1.
	(simplify_unary_operation_1) <TRUNCATE>: Use it.  Remove sign bit
	test for !TRULY_NOOP_TRUNCATION_MODES_P.
	(simplify_subreg): Use simplify_truncate for lowpart subregs
	where both the inner and outer modes are scalar integers.
	* config/mips/mips.c (mips_truncated_op_cost): New function.
	(mips_rtx_costs): Adjust test for BADDU.
	* config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.

From-SVN: r192186
2012-10-07 19:17:37 +00:00
Jan Hubicka ed901e4c61 ipa-inline-analysis.c (do_estimate_edge_time): Return actual time spent by the inlined sequence.
* ipa-inline-analysis.c (do_estimate_edge_time): Return actual
	time spent by the inlined sequence.
	(do_estimate_edge_growth): Rename to ...
	(do_estimate_edge_time): ... this one; return size of inlined
	sequence.
	* ipa-inline.h (do_estimate_edge_size): New.
	(do_estimate_edge_growth): Remove.
	(estimate_edge_size): New function.
	(estimate_edge_growth): Use it.

From-SVN: r192185
2012-10-07 18:58:04 +00:00
Jan Hubicka e75f8f79f0 lto-cgraph.c (lto_symtab_encoder_new): New parameter FOR_INPUT.
* lto-cgraph.c (lto_symtab_encoder_new): New parameter FOR_INPUT.
	(lto_symtab_encoder_delete): Update.
	(lto_symtab_encoder_encode): Update.
	(compute_ltrans_boundary): Update.
	(input_symtab): Update.
 	* lto-streamer.h (lto_symtab_encoder_new): Update.
	
	* lto.c (read_cgraph_and_symbols): Release type merging hash early;
	release input encoders.
	* lto-partition.c (new_partition): Update for new lto_symtab_encoder_new.

From-SVN: r192184
2012-10-07 17:16:02 +00:00
Matthias Klose 7c9bc8758e Fix typo in previous commit:
2012-10-07  Matthias Klose  <doko@ubuntu.com>

        * config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters
        as unused.
        (_Unwind_decode_typeinfo_ptr): Mark base as unused.

From-SVN: r192182
2012-10-07 11:46:06 +00:00
Matthias Klose acb72498a7 unwind-arm.h (__gnu_unwind_24bit): Mark parameters as unused.
2012-10-07  Matthias Klose  <doko@ubuntu.com>

        * config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters
        as unused.
        (_Unwind_decode_typeinfo_ptr): Mark base as unused.

From-SVN: r192181
2012-10-07 10:06:30 +00:00
Matthias Klose d39e4c0c0b basic: Remove empty directory.
2012-10-07  Matthias Klose  <doko@ubuntu.com>

        * testsuite/28_regex/algorithms/match/basic: Remove empty directory.
        * testsuite/28_regex/algorithms/match/extended: Likewise.
        * testsuite/28_regex/algorithms/match: Likewise.

From-SVN: r192180
2012-10-07 09:59:02 +00:00
Richard Sandiford 4670abb087 mips-protos.h (mips_split_type): New enum.
gcc/
	* config/mips/mips-protos.h (mips_split_type): New enum.
	(mips_split_64bit_move_p, mips_split_doubleword_move): Delete.
	(mips_split_move_p, mips_split_move, mips_split_move_insn_p)
	(mips_split_move_insn): Declare.
	* config/mips/mips.c (mips_tuning_info): New variable.
	(mips_load_store_insns): Use mips_split_move_insn_p instead of
	mips_split_64bit_move_p.
	(mips_emit_move_or_split, mips_mult_move_p): New functions.
	(mips_split_64bit_move_p): Rename to...
	(mips_split_move_p): ...this and take a mips_split_type argument.
	Generalize to all moves.  Call mips_mult_move_p.
	(mips_split_doubleword_move): Rename to...
	(mips_split_move): ...this and take a mips_split_type argument.
	Assert that mips_split_move_p holds.
	(mips_insn_split_type, mips_split_move_insn_p, mips_split_move_insn):
	New functions.
	(mips_output_move): Use mips_split_move_p instead of
	mips_split_64bit_move_p.  Handle MULT $0, $0 moves.
	(mips_save_reg): Use mips_emit_move_or_split.
	(mips_sim_reset): Assign to curr_state.  Call targetm.sched.init
	and advance_state.
	(mips_sim_init): Call targetm.sched.init_dfa_pre_cycle_insn and
	targetm.sched.init_dfa_post_cycle_insn, if defined.
	(mips_sim_next_cycle): Assign to curr_state.  Use advance_state
	instead of state_transition.
	(mips_sim_issue_insn): Assign to curr_state.  Use
	targetm.sched.variable_issue to see how many more insns
	can be issued.
	(mips_seq_time, mips_mult_zero_zero_cost)
	(mips_set_fast_mult_zero_zero_p, mips_set_tuning_info)
	(mips_expand_to_rtl_hook): New functions.
	(TARGET_EXPAND_TO_RTL_HOOK): Define.
	* config/mips/mips.md (move_type): Add imul.
	(type): Map imul move_types to imul.
	(*movdi_32bit, *movti): Add imul alternatives.
	Use mips_split_move_insn_p and mips_split_move_insn instead of
	mips_split_64bit_move_p and mips_split_doubleword_move in move
	splitters.

gcc/testsuite/
2012-10-07  Richard Sandiford  <rdsandiford@googlemail.com>
	    Sandra Loosemore  <sandra@codesourcery.com>

	* gcc.target/mips/madd-9.c: Force code to be tuned for the 4kc
	and test that the accumulator is initialized using MULT.
	* gcc.target/mips/mips32-dsp-accinit-1.c: New test.
	* gcc.target/mips/mips32-dsp-accinit-2.c: Likewise.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>

From-SVN: r192179
2012-10-07 08:45:23 +00:00
Segher Boessenkool 03d15315a1 rs6000.c (print_operand): Delete.
gcc/
	* config/rs6000/rs6000.c (print_operand) ['A']: Delete.

From-SVN: r192178
2012-10-07 04:07:42 +02:00
GCC Administrator d82f0a93ac Daily bump.
From-SVN: r192177
2012-10-07 00:17:50 +00:00
Paolo Carlini a2ca8577e6 re PR c++/52764 (Including <cstdint> after <stdint.h> fails to define limit macros)
2012-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/52764
	* ginclude/stdint-wrap.h: In C++11 if __STDC_HOSTED__ define
	__STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS.
	* ginclude/stdint-gcc.h: In C++11 unconditionally define
	limit and constant macros.

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

	PR c++/52764
	* g++.dg/cpp0x/stdint.C: New.

/libstdc++-v3
2012-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/52764
	* include/c_global/cstdint: Remove __STDC_LIMIT_MACROS and
	__STDC_CONSTANT_MACROS related macros.

From-SVN: r192174
2012-10-06 23:06:04 +00:00
Paolo Carlini 21c278c930 re PR c++/54249 ([C++11] No ::nullptr_t in header <stddef.h>)
2012-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54249
	* ginclude/stddef.h: In C++11 mode declare nullptr_t in the global
	namespace.

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

	PR c++/54249
	* g++.dg/cpp0x/stddef.C: New.

From-SVN: r192173
2012-10-06 22:44:12 +00:00
Gerald Pfeifer 55d5c6aff7 Fix ChangeLog date of
* config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
	default_use_cxa_atexit to yes.

From-SVN: r192170
2012-10-06 21:49:06 +00:00
Janne Blomqvist 227e441f2b Fix usage of secure_getenv with glibc 2.17.
See http://sourceware.org/glibc/wiki/Tips_and_Tricks/secure_getenv

2012-10-06  Janne Blomqvist  <jb@gcc.gnu.org>

	* configure.ac: Check for presence of secure_getenv.
	* libgfortran.h: Use HAVE_SECURE_GETENV.
	* Makefile.in: Regenerated.
	* aclocal.m4: Regenerated.
	* config.h.in: Regenerated.
	* configure: Regenerated.

From-SVN: r192169
2012-10-06 23:56:05 +03:00
Diego Novillo 1996c0a6e0 x86_64-unknown-linux-gnu.xfail: Update.
2012-10-06  Diego Novillo  <dnovillo@google.com>

	* testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.

From-SVN: r192168
2012-10-06 13:44:39 -04:00
Jan Hubicka ba52e3cf49 * gcc.dg/lto/resolutions_0.c: New testcase.
From-SVN: r192167
2012-10-06 17:43:07 +00:00
Jan Hubicka c295453808 re PR lto/53831 (Virtuals missing in LTO symtab)
PR lto/53831
	PR lto/54776
	* lto-streamer-out.c (produce_symtab): Cleanup; drop v1 API hack.

From-SVN: r192166
2012-10-06 17:30:42 +00:00
Dehao Chen f16dd82295 re PR debug/54826 (gdb test case failure (bs15503) due to gaps in lexical block)
2012-10-05  Dehao Chen  <dehao@google.com>

	PR debug/54826
	* gimple-low.c (lower_stmt): Set the block for call args.

From-SVN: r192165
2012-10-06 16:19:34 +00:00
Jan Hubicka 6ada5e7d99 Fix previous commit once again :(
From-SVN: r192164
2012-10-06 14:54:46 +00:00
Jan Hubicka 5b53596723 Fix previous commit.
From-SVN: r192163
2012-10-06 14:52:23 +00:00
Jan Hubicka 28d516bc9f Fix previous commit.
From-SVN: r192162
2012-10-06 14:19:33 +00:00
Jan Hubicka 37e5402bb3 invoke.texi (-fprofile-report): Document.
* doc/invoke.texi (-fprofile-report): Document.
	* common.opt (-fprofile-report): New option.
	* toplev.c (finalize): Call dump_profile_report.
	* toplev.h (profile_report): Declare.
	* passes.c (profile_record): New static var.
	(check_profile_consistency): New function.
	(dump_profile_record): New function.
	(execute_one_ipa_transform_pass): Call check_profile_consistency.
	(execute_one_pass): Likewise.

From-SVN: r192161
2012-10-06 14:06:04 +00:00
Janus Weil 5e25600e6e re PR fortran/54832 ([OOP] Type-bound operator not picked up with RESULT variable)
2012-10-06  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/54832
	* resolve.c (resolve_fl_derived0): Correctly copy the 'class_ok'
	attribute for proc-ptr components with RESULT variable.

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

	PR fortran/54832
	* gfortran.dg/typebound_operator_17.f90: New.

From-SVN: r192160
2012-10-06 16:03:08 +02:00
Jan Hubicka 46591697e1 re PR lto/54790 (Missing optimization with LTO)
PR lto/54790 
	* lto.c (resolution_map): New static var.
	(register_resolution): New function.
	(lto_register_var_decl_in_symtab): Use it.
	(read_cgraph_and_symbols): Copy resolutions into the symtab.
	* lto-streamer.h (lto_symtab_register_decl, lto_symtab_get_resolution,
	lto_mark_nothrow_fndecl, lto_fixup_nothrow_decls): Remove.
	* lto-symtab.c (lto_symtab_register_decl): Remove.

From-SVN: r192159
2012-10-06 13:59:55 +00:00
Thomas Koenig 4ed3a4d41b re PR libfortran/54736 (GFORTRAN_CONVERT_UNIT causes malloc error on several platforms)
2012-10-06  Thomas König  <tkoenig@gcc.gnu.org>

	PR libfortran/54736
	* runtime/environ.c (search_unit):  Correct logic
	for binary search.
	(mark_single):  Fix index errors.

From-SVN: r192158
2012-10-06 13:04:35 +00:00
Janus Weil e9355cc32e re PR fortran/45521 ([F08] GENERIC resolution with ALLOCATABLE/POINTER and PROCEDURE)
2012-10-06  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45521
	* interface.c (generic_correspondence): Implement additional
	distinguishability criteria of F08.
	(compare_actual_formal): Reject data object as actual argument for
	procedure formal argument.

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

	PR fortran/45521
	* gfortran.dg/generic_25.f90: New.
	* gfortran.dg/generic_26.f90: New.
	* gfortran.dg/generic_27.f90: New.

From-SVN: r192157
2012-10-06 14:20:09 +02:00
Andreas Schwab 2aa3b677b1 re PR rtl-optimization/54739 (FAIL: gcc.dg/lower-subreg-1.c scan-rtl-dump subreg1 "Splitting reg")
PR rtl-optimization/54739
* config/m68k/m68k.md (anddi3, iordi3, xordi3, one_cmpldi2):
Remove.

From-SVN: r192156
2012-10-06 11:42:13 +00:00
Oleg Endo 7d11d29699 re PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)
PR target/54760
	* config/sh/sh.md (define_constants): Add UNSPECV_GBR.
	(get_thread_pointer, set_thread_pointer): New expanders.
	(load_gbr): Rename to store_gbr.  Remove GBR_REG use.
	(store_gbr): New insn.
	* config/sh/sh.c (prepare_move_operands): Use gen_store_gbr instead of
	gen_load_gbr in TLS_MODEL_LOCAL_EXEC case.
	(sh1_builtin_p): New function.
	(signature_args): Add SH_BLTIN_VP.
	(bdesc): Add __builtin_thread_pointer and __builtin_set_thread_pointer.

	PR target/54760
	* gcc.target/sh/pr54760-1.c: New.

From-SVN: r192155
2012-10-06 11:20:11 +00:00
Joe Seymour d6a5e81d74 dynamic_bitset: Fix cxxabi_forced.h include path.
2012-10-06  Joe Seymour  <jseymour@codesourcery.com>

	* include/tr2/dynamic_bitset: Fix cxxabi_forced.h include path.

From-SVN: r192154
2012-10-06 08:39:13 +00:00
John David Anglin 8f937c1892 re PR rtl-optimization/54739 (FAIL: gcc.dg/lower-subreg-1.c scan-rtl-dump subreg1 "Splitting reg")
PR rtl-optimization/54739
	* config/pa/pa.md: Remove DImode and, not and, ior and xor patterns
	for 32-bit targets.  Adjust expanders.

From-SVN: r192152
2012-10-06 00:33:52 +00:00
GCC Administrator 0f2426b175 Daily bump.
From-SVN: r192151
2012-10-06 00:18:22 +00:00
Mark Kettenis 8eaee0f0f1 config.host (*-*-openbsd*): Add t-eh-dw2-dip to tmake_file.
* config.host (*-*-openbsd*): Add t-eh-dw2-dip to tmake_file.
	* unwind-dw2-fde-dip.c: Don't include <elf.h> on OpenBSD.
	(USE_PT_GNU_EH_FRAME): Define for OpenBSD.
	(ElfW): Likewise.

From-SVN: r192148
2012-10-05 23:35:55 +00:00
Benjamin Kosnik d2edfb151d match: Rename to...
2012-10-05  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/28_regex/algorithms/match: Rename to...
	* testsuite/28_regex/algorithms/regex_match: ...this.
	* testsuite/28_regex/basic_regex/regex.cc: Rename to...
	* testsuite/28_regex/basic_regex/ctors/basic/default.cc: ...this.
	* testsuite/util/testsuite_regex.h: New.
	* testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: New.

From-SVN: r192146
2012-10-05 21:18:54 +00:00
John David Anglin 74bf7dbb1e pa.md: Adjust unamed HImode add insn pattern.
* config/pa/pa.md: Adjust unamed HImode add insn pattern.

From-SVN: r192143
2012-10-05 21:03:29 +00:00
Oleg Endo 6d9e122050 sh.c (builtin_description): Add is_enabled member.
* config/sh/sh.c (builtin_description): Add is_enabled member.
	(shmedia_builtin_p): New function.
	(bdesc): Use shmedia_builtin_p for existing built-ins.
	(sh_media_init_builtins, sh_init_builtins): Merge into single function
	sh_init_builtins.  Add is_enabled checking.  Move variable declarations
	to where they are actually used.
	(sh_media_builtin_decl, sh_builtin_decl): Merge into single function
	sh_builtin_decl.  Add is_enabled checking.
	(sh_expand_builtin): Move variable declarations to where they are
	actually used.

From-SVN: r192142
2012-10-05 19:47:05 +00:00
Jakub Jelinek 0d23cf7a4f cp-tree.h (SIZEOF_EXPR_TYPE_P): Define.
cp/
	* cp-tree.h (SIZEOF_EXPR_TYPE_P): Define.
	* tree.c (cp_tree_equal): Handle SIZEOF_EXPR with
	SIZEOF_EXPR_TYPE_P.
	* mangle.c (write_expression): Likewise.
	* cxx-pretty-print.c (pp_cxx_unary_expression): Likewise.
	* error.c (dump_expr): Likewise.
	* parser.c (cp_parser_unary_expression): For sizeof call
	cxx_sizeof_or_alignof_{type,expr} just for diagnostics and
	return SIZEOF_EXPR with the operand.
	* pt.c (tsubst_copy, tsubst_copy_and_build): For SIZEOF_EXPR,
	call cxx_sizeof_or_alignof_{type,expr} for diagnostics, but
	return SIZEOF_EXPR with tsubsted operand.
	(value_dependent_expression_p): Handle SIZEOF_EXPR with
	SIZEOF_EXPR_TYPE_P.
	(instantiation_dependent_r): Likewise.
	* call.c (null_ptr_cst_p): Call maybe_constant_value for C++98.
	* semantics.c (finish_call_expr): Call
	sizeof_pointer_memaccess_warning if needed.
	(cxx_eval_constant_expression): Handle SIZEOF_EXPR.
	(potential_constant_expression_1): Remove early exit for
	C++98.  Handle PROPERTY_REF.
	* decl.c (duplicate_decls): When redeclaring a builtin function,
	keep the merged decl builtin also if newdecl is a gnu_inline
	inline definition.
	(fold_sizeof_expr_r): New function.
	(compute_array_index_type): Fold SIZEOF_EXPRs in itype.
	* cp-gimplify.c (cp_genericize_r): Fold SIZEOF_EXPR.
	* typeck.c (cp_build_binary_op): For warn_for_sign_compare
	try harder using maybe_constant_value to get INTEGER_CSTs.

	* decl.c (stabilize_vla_size): Call pointer_set_destroy
	at the end.
testsuite/
	* g++.dg/torture/Wsizeof-pointer-memaccess1.C: New test.
	* g++.dg/torture/Wsizeof-pointer-memaccess2.C: New test.
	* g++.dg/warn/Wsign-compare-5.C: New test.
	* g++.dg/warn/Wsizeof-pointer-memaccess-1.C: New test.
	* g++.dg/warn/Wnull-conversion-1.C: For c++11 add dg-error.
	* g++.dg/ext/builtin30.C: New test.
	* g++.dg/ext/vla12.C: New test.
	* gcc.dg/builtins-85.c: New test.
libstdc++-v3/
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line
	numbers.

From-SVN: r192141
2012-10-05 21:30:39 +02:00
Jakub Jelinek 94645a02dc tree-inline.c (expand_call_inline): Move VAR_DECLs with PARM_DECL origins from remapped DECL_INITIAL's BLOCK_VARS...
* tree-inline.c (expand_call_inline): Move VAR_DECLs with
	PARM_DECL origins from remapped DECL_INITIAL's BLOCK_VARS
	into id->block's BLOCK_VARS.

From-SVN: r192140
2012-10-05 21:25:58 +02:00