1. 25 Sep, 2011 13 commits
    • decl.c (gnat_to_gnu_entity): Use XNEW instead of xmalloc. · dee12fcd
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Subtype>: Use
      	XNEW instead of xmalloc.  Do not build useless pointer type.
      	<E_Anonymous_Access_Subprogram_Type>: Use XNEW instead of xmalloc.
      	* gcc-interface/trans.c (gnat_to_gnu) <N_Raise_Constraint_Error>: Tidy.
      	* gcc-interface/utils2.c (build_unary_op): Remove local variable.
      
      From-SVN: r179168
      Eric Botcazou committed
    • decl.c (gnat_to_gnu_entity): Do not promote the alignment if this doesn't… · dea976c4
      decl.c (gnat_to_gnu_entity): Do not promote the alignment if this doesn't prevent BLKmode access to the object.
      
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not promote
      	the alignment if this doesn't prevent BLKmode access to the object.
      
      From-SVN: r179167
      Eric Botcazou committed
    • tree-ssa-structalias.c (intra_create_variable_infos): Treat TYPE_RESTRICT… · 960dcaf5
      tree-ssa-structalias.c (intra_create_variable_infos): Treat TYPE_RESTRICT REFERENCE_TYPE parameters like restricted DECL_BY_REFERENCE...
      
      	* tree-ssa-structalias.c (intra_create_variable_infos): Treat
      	TYPE_RESTRICT REFERENCE_TYPE parameters like restricted
      	DECL_BY_REFERENCE parameters.
      
      	* g++.dg/tree-ssa/restrict2.C: New test.
      
      From-SVN: r179166
      Jakub Jelinek committed
    • tree-eh.c (cleanup_empty_eh): Allow a call to __builtin_stack_restore if there is no outgoing edge. · 1ee0d660
      	* tree-eh.c (cleanup_empty_eh): Allow a call to __builtin_stack_restore
      	if there is no outgoing edge.
      
      	* tree-scalar-evolution.c (simple_iv): Accept all kinds of pointer and
      	integral types.
      
      From-SVN: r179165
      Eric Botcazou committed
    • tree-vect-slp.c (vect_slp_analyze_bb_1): Split out core part of vect_analyze_bb here. · 8e19f5a1
      
              * tree-vect-slp.c (vect_slp_analyze_bb_1): Split out core part
              of vect_analyze_bb here.
              (vect_analyze_bb): Loop over vector sizes calling
              vect_analyze_bb_1.
      
      From-SVN: r179164
      Ira Rosen committed
    • re PR c++/50280 (Incorrect type deduced for T& when passed a const bitfield) · 13ec1cca
      2011-09-25  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50280
      	* g++.dg/template/bitfield1.C: New.
      
      From-SVN: r179163
      Paolo Carlini committed
    • tree-data-ref.c (dr_analyze_innermost): Add new argument. · 4e4452b6
      
              * tree-data-ref.c (dr_analyze_innermost): Add new argument.
              Allow not simple iv if analyzing basic block.
              (create_data_ref): Update call to dr_analyze_innermost.
              (stmt_with_adjacent_zero_store_dr_p, ref_base_address):
              Likewise.
              * tree-loop-distribution.c (generate_memset_zero): Likewise.
              * tree-predcom.c (find_looparound_phi): Likewise.
              * tree-data-ref.h (dr_analyze_innermost): Add new argument.
      
      From-SVN: r179161
      Ira Rosen committed
    • Teach sparc backend about %gsr register and add intrinsics to access it. · 10b859c0
      	* config/sparc/sparc.h (FIRST_PSEUDO_REGISTER): Bump to 103.
      	(SPARC_GSR_REG): Define.
      	(FIXED_REGISTERS): Mark GSR as fixed.
      	(CALL_USED_REGISTERS): Mark GSR as call used.
      	(HARD_REGNO_NREGS): GSR is always 1 register.
      	(REG_CLASS_CONTENTS): Add GSR to ALL_REGS.
      	(REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER): Add GSR to the end.
      	(REGISTER_NAMES): Add "%gsr".
      	* config/sparc/sparc.md (UNSPEC_ALIGNADDR, UNSPEC_ALIGNADDRL):
      	Delete.
      	(UNSPEC_WRGSR): New unspec.
      	(GSR_REG): New constant.
      	(type): Add new insn type 'gsr'.
      	(fpack16_vis, fpackfix_vis, fpack32_vis,
      	faligndata<V64I:MODE>_vis)): Add use of GSR_REG.
      	(wrgsr_vis, *wrgsr_sp64, wrgsr_v8plus, rdgsr_vis, *rdgsr_sp64,
      	rdgsr_v8plus): New expanders and insns.
      	(alignaddr<P:mode>_vis, alignaddrl<P:mode>_vis): Reimplement
      	using patterns which show that this is a plus in addition to a
      	modification of GSR_REG, instead of an unspec.
      	* config/sparc/ultra1_2.md: Handle 'gsr'.
      	* config/sparc/ultra3.md: Likewise.
      	* config/sparc/niagara.md: Likewise.
      	* config/sparc/niagara2.md: Likewise.
      	* config/sparc/sparc.c (leaf_reg_remap, sparc_leaf_regs): Fill out
      	end of table.
      	(sparc_option_override): Make -mvis imply -mv8plus.
      	(hard_32bit_mode_classes, hard_64bit_mode_classes): Add entries
      	for %gsr.
      	(sparc_vis_init_builtins): Build __builtin_vis_write_gsr and
      	__builtin_vis_read_gsr.
      	(sparc_expand_buildin): Handle builtins that take one argument and
      	return void.
      	(sparc_fold_builtin): Never fold writes to %gsr.
      	* config/sparc/visintrin.h (__vis_write_gsr, __vis_read_gsr): New.
      	* doc/extend.texi: Document new VIS intrinsics.
      
      From-SVN: r179159
      David S. Miller committed
    • except.c (expr_noexcept_p): Split out from finish_noexcept_expr. · 6eaade31
      	* except.c (expr_noexcept_p): Split out from finish_noexcept_expr.
      	* cp-tree.h: Declare it.
      	* method.c (walk_field_subobs): Use it.
      
      From-SVN: r179158
      Jason Merrill committed
    • init.c (perform_member_init): Instantiate NSDMI here. · 6fd44881
      	* init.c (perform_member_init): Instantiate NSDMI here.
      	* pt.c (tsubst_decl) [FIELD_DECL]: Not here.
      
      From-SVN: r179157
      Jason Merrill committed
    • Handle deferred parsing of NSDMIs. · eb026338
      	* parser.h (cp_unparsed_functions_entry): Add nsdmis field.
      	* parser.c (unparsed_nsdmis, cp_parser_save_nsdmi): New.
      	(cp_parser_late_parse_one_default_arg): Split out from
      	cp_parser_late_parsing_default_args.
      	(cp_parser_late_parsing_nsdmi): New.
      	(push_unparsed_function_queues): Set it.
      	(cp_parser_parameter_declaration): Save the '=' token.
      	(cp_parser_template_parameter): Likewise.
      	(cp_parser_default_argument): Call cp_parser_initializer
      	rather than cp_parser_initializer_clause.
      	(cp_parser_class_specifier_1): Parse unparsed_nsdmis.
      	(cp_parser_member_declaration): Handle nsdmis.
      	* decl2.c (grokfield): Handle DEFAULT_ARG for a function.
      
      From-SVN: r179156
      Jason Merrill committed
    • Implement C++11 non-static data member initializers. · 0e5f8a59
      	* cp-tree.h (enum cpp_warn_str): Add CPP0X_NSDMI.
      	* error.c (maybe_warn_cpp0x): Handle it.
      	* call.c (convert_like_real) [ck_user]: Don't complain about
      	using an explicit constructor for direct-initialization.
      	* class.c (check_field_decl): Fix ancient typo.
      	(check_field_decls): NSDMIs make the default ctor non-trivial.
      	* decl.c (cp_finish_decl): Record NSDMI.
      	(grokdeclarator): Allow NSDMI.
      	* decl2.c (grokfield): Allow NSDMI.  Correct LOOKUP flags.
      	* init.c (perform_member_init): Use NSDMI.
      	* method.c (walk_field_subobs): Check for NSDMI.
      	* parser.c (cp_parser_member_declaration): Parse { } init.
      	* semantics.c (register_constexpr_fundef): Don't talk about
      	a return statement in a constexpr constructor.
      	(cxx_eval_call_expression): Check DECL_INITIAL instead of
      	DECL_SAVED_TREE.
      
      From-SVN: r179155
      Jason Merrill committed
    • Daily bump. · 77236534
      From-SVN: r179154
      GCC Administrator committed
  2. 24 Sep, 2011 7 commits
  3. 23 Sep, 2011 20 commits
    • go-test.exp (errchk): Handle more cases of getting correct Tcl backslash quoting in regular... · 6ed22bc8
      	* go.test/go-test.exp (errchk): Handle more cases of getting
      	correct Tcl backslash quoting in regular expressions in test file.
      
      Also fix some tests to match gccgo error messages.
      
      From-SVN: r179134
      Ian Lance Taylor committed
    • Better parsing of erroneous expression on left of :=. · b07000d9
      Better parsing of erroneous non-type in type switch.
      
      From-SVN: r179133
      Ian Lance Taylor committed
    • re PR c++/40831 (g++ generated symbols for cloned function that be demangled.) · 2d2b02c4
      include/ChangeLog:
      
      	PR 40831
      	* demangle.h (enum demangle_component_type): Add
      	DEMANGLE_COMPONENT_CLONE.
      
      libiberty/ChangeLog:
      
      	PR 40831
      	* cp-demangle.c (d_make_comp): Add new component type.
      	(cplus_demangle_mangled_name): Check for clone suffixes.
      	(d_parmlist): Don't error out if we see '.'.
      	(d_clone_suffix): New function.
      	(d_print_comp): Print info for clone suffixes.
      	* testsuite/demangle-expected: Add new testcases.
      
      From-SVN: r179132
      Cary Coutant committed
    • correct ChangeLog · d220e00d
      From-SVN: r179131
      Jason Merrill committed
    • Core 234 - allow const objects with no initializer or user-provided default... · 6132bdd7
      	Core 234 - allow const objects with no initializer or
      	user-provided default constructor if the defaulted constructor
      	initializes all the subobjects.
      	PR c++/20039
      	PR c++/42844
      	* class.c (default_init_uninitialized_part): New.
      	* cp-tree.h: Declare it.
      	* decl.c (check_for_uninitialized_const_var): Use it.
      	* init.c (perform_member_init): Likewise.
      	(build_new_1): Likewise.
      	* method.c (walk_field_subobs): Likewise.
      
      From-SVN: r179130
      Jason Merrill committed
    • md5.c (md5_process_bytes): Correct handling of unaligned buffer. · d303ec8e
      	* md5.c (md5_process_bytes): Correct handling of unaligned
      	buffer.
      
      From-SVN: r179128
      Ian Lance Taylor committed
    • * config/avr/avr.c: Fix some typos in comments. · 4103605f
      From-SVN: r179127
      Georg-Johann Lay committed
    • inline-1.c: new testcase. · 25837a2f
      
      	* gcc.dg/ipa/inline-1.c: new testcase.
      	* gcc.dg/ipa/inline-2.c: new testcase.
      	* gcc.dg/ipa/inline-3.c: new testcase.
      	* gcc.dg/ipa/inline-4.c: new testcase.
      
      	* ipa-inline-transform.c (inline_call): Add comment.
      	* ipa-inline.h (inline_param_summary): New structure and vector.
      	(struct inline_edge_summary): Add param field.
      	* ipa-inline-analysis.c (CHANGED): New constant.
      	(add_clause): Handle CHANGED and NOT_CONSTANT.
      	(predicate_probability): New function.
      	(dump_condition): Dump CHANGED predicate.
      	(evaluate_conditions_for_known_args): Handle ERROR_MARK as marker
      	of unknown function wide invariant.
      	(evaluate_conditions_for_edge): Handle change probabilities.
      	(inline_edge_duplication_hook): Copy param summaries.
      	(inline_edge_removal_hook): Free param summaries.
      	(dump_inline_edge_summary): Fix dumping of indirect edges and callee sizes;
      	dump param summaries.
      	(will_be_nonconstant_predicate): Use CHANGED predicate.
      	(record_modified_bb_info): New structure.
      	(record_modified): New function.
      	(param_change_prob): New function.
      	(estimate_function_body_sizes): Compute param summaries.
      	(estimate_edge_size_and_time): Add probability argument.
      	(estimate_node_size_and_time): Add inline_param_summary argument;
      	handle predicate probabilities.
      	(remap_predicate): Fix formating.
      	(remap_edge_change_prob): New function.
      	(remap_edge_summaries): Rename from ...; use remap_edge_change_prob.
      	(remap_edge_predicates): ... this one.
      	(inline_merge_summary): Remap edge summaries; handle predicate probabilities;
      	remove param summaries after we are done.
      	(do_estimate_edge_time): Update.
      	(do_estimate_edge_growth): Update.
      	(read_inline_edge_summary): Read param info.
      	(inline_read_summary): Fix formating.
      	(write_inline_edge_summary): Write param summaries.
      
      From-SVN: r179126
      Jan Hubicka committed
    • i386.c (ix86_print_operand): Handle %~. · 1db4406e
      	* config/i386/i386.c (ix86_print_operand): Handle %~.
      	(ix86_print_operand_punct_valid_p): Return true also for '~'.
      	* config/i386/sse.md (i128): New mode_attr.
      	(vec_extract_hi_<mode>, vec_extract_hi_<mode>,
      	avx_vbroadcastf128_<mode>, *avx_vperm2f128<mode>_full,
      	*avx_vperm2f128<mode>_nozero, vec_set_lo_<mode>, 
      	vec_set_hi_<mode>, *vec_concat<mode>_avx): Use <i128> in the
      	patterns, use "<sseinsnmode>" for "mode" attribute.
      	(vec_extract_hi_v16hi, vec_extract_hi_v32qi, vec_set_lo_v16hi,
      	vec_set_hi_v16hi, vec_set_lo_v32qi, vec_set_hi_v32qi): Use
      	%~128 in the patterns, use "OI" for "mode" attribute.
      
      From-SVN: r179125
      Jakub Jelinek committed
    • re PR target/50447 ([avr] Better support of AND, OR, XOR and PLUS with constant… · a7c0acd0
      re PR target/50447 ([avr] Better support of AND, OR, XOR and PLUS with constant integers for 16- and 32-bit values)
      
      	* config/avr/avr.md (adjust_len): Add alternatives "tsthi",
      	"tstsi", "compare".
      	(*cmpqi_sign_extend): Use s8_operand.
      	(*cmphi, *cmpsi): Rewrite using avr_out_compare.
      	* config/avr/avr-protos.h (compare_diff_p, compare_eq_p): Remove
      	prototypes.
      	(out_tsthi, out_tstsi): Remove prototypes.
      	(avr_out_tsthi, avr_out_tstsi): New prototypes.
      	* config/avr/avr.c (out_tsthi, out_tstsi): Remove functions.
      	(avr_asm_len): Negative length now sets *plen to -length.
      	(compare_sign_p): Return bool instead of int.
      	(compare_diff_p, compare_eq_p): Ditto and make static.
      	(avr_out_tsthi): New function.
      	(avr_out_tstsi): New function.
      	(avr_out_compare): New function.
      	(adjust_insn_length): Handle ADJUST_LEN_TSTHI, ADJUST_LEN_TSTSI,
      	ADJUST_LEN_COMPARE.
      	PR target/50447
      
      From-SVN: r179124
      Georg-Johann Lay committed
    • re PR target/50447 ([avr] Better support of AND, OR, XOR and PLUS with constant… · 59024515
      re PR target/50447 ([avr] Better support of AND, OR, XOR and PLUS with constant integers for 16- and 32-bit values)
      
      	PR target/50447
      	* config/avr/avr.md: (adjust_len): Add alternative "out_plus".
      	(addsi3): Rewrite using QI scratch register.  Adjust text
      	peepholes using plus:SI.
      	(*addsi3_zero_extend.hi): New insn.
      	(*subsi3_zero_extend.hi): New insn.
      	(*subhi3_zero_extend1): Set attribute "cc" to "set_czn".
      	(*subsi3_zero_extend): Ditto.
      	(subsi3): Change predicate #2 to register_operand.
      	* config/avr/avr-protos.h (avr_out_plus): New prototype.
      	(avr_out_plus_1): New static function.
      	(avr_out_plus): New function.
      	(adjust_insn_length): Handle ADJUST_LEN_OUT_PLUS.
      
      From-SVN: r179123
      Georg-Johann Lay committed
    • re PR c++/50258 ([C++0x] -std=gnu++0x should allow in-class initialization of… · d4551081
      re PR c++/50258 ([C++0x] -std=gnu++0x should allow in-class initialization of static const floating types without constexpr)
      
      /cp
      2011-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50258
      	* decl.c (check_static_variable_definition): Allow in-class
      	initialization of static data member of non-integral type in
      	permissive mode.
      
      /testsuite
      2011-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50258
      	* g++.dg/cpp0x/constexpr-static8.C: New.
      
      From-SVN: r179121
      Paolo Carlini committed
    • Include <termios.h> in mksysinfo.sh. · 6172a2f2
      From Rainer Orth.
      
      From-SVN: r179120
      Ian Lance Taylor committed
    • i386.c (ix86_prepare_sse_fp_compare_args): For GE/GT/UNLE/UNLT swap arguments… · 50926346
      i386.c (ix86_prepare_sse_fp_compare_args): For GE/GT/UNLE/UNLT swap arguments and condition even for TARGET_AVX.
      
      	* config/i386/i386.c (ix86_prepare_sse_fp_compare_args): For
      	GE/GT/UNLE/UNLT swap arguments and condition even for TARGET_AVX.
      
      	* gcc.target/i386/avxfp-1.c: New test.
      	* gcc.target/i386/avxfp-2.c: New test.
      
      From-SVN: r179119
      Jakub Jelinek committed
    • godump.c (go_define): Treat a single character in single quotes, or a string, as an operand. · 9e4ef69e
      	* godump.c (go_define): Treat a single character in single quotes,
      	or a string, as an operand.
      
      From-SVN: r179118
      Ian Lance Taylor committed
    • ipa-prop.h (jump_func_type): Updated comments. · c7573249
      2011-09-23  Martin Jambor  <mjambor@suse.cz>
      
      	* ipa-prop.h (jump_func_type): Updated comments.
      	(ipa_known_type_data): New type.
      	(ipa_jump_func): Use it to describe known type jump functions.
      	* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Updated to
      	reflect the new known type jump function contents.
      	(compute_known_type_jump_func): Likewise.
      	(combine_known_type_and_ancestor_jfs): Likewise.
      	(try_make_edge_direct_virtual_call): Likewise.
      	(ipa_write_jump_function): Likewise.
      	(ipa_read_jump_function): Likewise.
      	* ipa-cp.c (ipa_value_from_known_type_jfunc): New function.
      	(ipa_value_from_jfunc): Use ipa_value_from_known_type_jfunc.
      	(propagate_accross_jump_function): Likewise.
      
      From-SVN: r179117
      Martin Jambor committed
    • re PR target/50446 ([avr] Implement rotate patterns with offset 1) · 5d94b988
      	PR target/50446
      	* config/avr/avr.md (rotlqi3): Support all offsets 0..7.
      	(rotlqi3_4): Turn insn into expander.
      	(*rotlqi3): New insn.
      	(rotlhi3, rotlsi3): Support rotate left/right by 1.
      	(*rotlhi2.1, *rotlhi2.15): New insns.
      	(*rotlsi2.1, *rotlsi2.31): New insns.
      	* config/avr/constraints.md (C03, C05, C06, C07): New constraints.
      
      From-SVN: r179116
      Georg-Johann Lay committed
    • bpabi.h (BE8_LINK_SPEC): Add cortex-m arch and processors. · 9acebb8a
      2011-09-23  Bin Cheng  <bin.cheng@arm.com>
      
              * config/arm/bpabi.h (BE8_LINK_SPEC): Add cortex-m arch
              and processors.
      
      From-SVN: r179115
      Bin Cheng committed
    • * gcc.c-torture/execute/941014-1.x: Deleted. · ec6b5ccf
      From-SVN: r179112
      Terry Guo committed
    • re PR c++/50491 ([C++0x] [4.6/4.7 Regression] "unexpected ast of kind… · ee71530f
      re PR c++/50491 ([C++0x] [4.6/4.7 Regression] "unexpected ast of kind using_decl" on call to using'ed grandparent member function)
      
      /cp
      2011-09-22  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50491
      	* semantics.c (potential_constant_expression_1): Handle USING_DECL.
      
      /testsuite
      2011-09-22  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50491
      	* g++.dg/cpp0x/pr50491.C: New.
      
      From-SVN: r179109
      Paolo Carlini committed