Commit Graph

111969 Commits

Author SHA1 Message Date
Ian Lance Taylor f0f91207e4 Fix sysinfo.go on systems which don't need to import "unsafe".
From-SVN: r179216
2011-09-26 21:49:08 +00:00
David S. Miller 1b946b2764 Add rdgsr, edge, and pixel-compare VIS tests.
gcc/testsuite/

	* gcc.target/sparc/rdgsr.c: New test.
	* gcc.target/sparc/edge.c: New test.
	* gcc.target/sparc/fcmp.c: New test.

From-SVN: r179215
2011-09-26 14:09:06 -07:00
David S. Miller caa0691633 Fix sparc %gsr write elimination and add a testcase.
gcc/

	* config/sparc/sparc.c (sparc_conditional_register_usage): When VIS
	is enabled, mark %gsr as global.
	* config/sparc/sparc.md (UNSPEC_WRGSR): Delete.
	(wrgsr_vis, *wrgsr_sp64, wrgsr_v8plus): Don't wrap in an unspec.

gcc/testsuite/

	* gcc.target/sparc/wrgsr.c: New test.

From-SVN: r179214
2011-09-26 13:21:19 -07:00
Janus Weil ef71fdd925 re PR fortran/50515 (gfortran should not accept an external that is a common (r178939))
2011-09-26  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50515
	* resolve.c (resolve_common_blocks): Check for EXTERNAL attribute.

	PR fortran/50517
	* interface.c (gfc_compare_interfaces): Bugfix in check for result type.


2011-09-26  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50515
	* gfortran.dg/common_15.f90: New.

	PR fortran/50517
	* gfortran.dg/dummy_procedure_5.f90: New.
	* gfortran.dg/interface_26.f90: Modified error message.
	* gfortran.dg/proc_ptr_11.f90: Ditto.
	* gfortran.dg/proc_ptr_15.f90: Ditto.
	* gfortran.dg/proc_ptr_comp_20.f90: Ditto.
	* gfortran.dg/proc_ptr_result_5.f90: Ditto.

From-SVN: r179213
2011-09-26 22:05:43 +02:00
Ian Lance Taylor fbaec95026 Fix location of error about unused import "unsafe".
From-SVN: r179211
2011-09-26 19:36:06 +00:00
David S. Miller 8d12174db5 Move target CPP macro handling to C file and add __VIS/__VIS__.
* config/sparc/sparc-c.c: New file implementing sparc_target_macros,
	which will now define __VIS and __VIS__ when -mvis is enabled.
	* config/sparc/t-sparc: Likewise.
	* config.gcc: Add sparc-c.o to c_target_objs and cxx_target_objs,
	and add t-sparc to tmake_file for all sparc targets.
	* config/sparc/sparc-protos.h (sparc_target_macros): Declare.
	* config/sparc/sparc.h (TARGE_CPU_CPP_BUILTINS): Call it.

From-SVN: r179210
2011-09-26 12:04:35 -07:00
Jason Merrill 6cb1ef5143 re PR c++/50512 (surprising change in overloading resolution)
PR c++/50512
	* call.c (compare_ics): Only consider rvaluedness_matches_p
	if the target type is the same or it too differs in rvalueness.

From-SVN: r179208
2011-09-26 13:55:04 -04:00
Georg-Johann Lay 31fd727b4d avr.md (peephole casesi+2): Use -1 instead of 65536.
* config/avr/avr.md (peephole casesi+2): Use -1 instead of 65536.
	* config/avr/avr.c (avr_out_compare): Print shorter sequence for
	EQ/NE comparisons against +/-1 in the case of unused-after,
	non-ld-regs target.

From-SVN: r179206
2011-09-26 16:55:55 +00:00
Jakub Jelinek 2186081438 gimple-fold.c (gimplify_and_update_call_from_tree): Set gctx.into_ssa after push_gimplify_context.
* gimple-fold.c (gimplify_and_update_call_from_tree): Set
	gctx.into_ssa after push_gimplify_context.

	* gimple.c (gimple_build_call_valist): New function.
	* gimple.h (gimple_build_call_valist): New prototype.
	* tree-ssa-propagate.c (finish_update_gimple_call): New function.
	(update_gimple_call): Likewise.
	(update_call_from_tree): Use finish_update_gimple_call.
	* tree-ssa-propagate.h (update_gimple_call): New prototype.

From-SVN: r179204
2011-09-26 18:19:55 +02:00
Jason Merrill 12b03642cb re PR c++/50523 (C++ FE apparently incorrectly rejects tramp3d)
PR c++/50523
	* call.c (implicit_conversion): Mask out inappropriate LOOKUP
	flags at the top of the function.

From-SVN: r179203
2011-09-26 11:47:17 -04:00
Jason Merrill fcb7afc20f * pt.c (tsubst_copy) [PARM_DECL]: Handle 'this' in NSDMI.
From-SVN: r179201
2011-09-26 10:26:56 -04:00
Paolo Carlini 8fb3401bdc pt.c (convert_nontype_argument): Handle NULLPTR_TYPE.
/cp
2011-09-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* pt.c (convert_nontype_argument): Handle NULLPTR_TYPE.

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

	* g++.dg/cpp0x/nullptr25.C: New.

From-SVN: r179199
2011-09-26 13:58:47 +00:00
Paolo Carlini 734e01f0a3 re PR c++/26747 (bad break/continue is not detected until the gimplifier)
2011-09-26  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/26747
	* cp-gimplify.c (get_bc_label): Remove obsolete diagnostics.

From-SVN: r179198
2011-09-26 13:51:52 +00:00
Richard Guenther f8a7df4594 re PR tree-optimization/50472 (Volatile qualification in data is not enough to avoid optimization over pointer to data)
2011-09-26  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/50472
	* gimple-fold.c (fold_const_aggregate_ref_1): Do not fold
	volatile references.

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

From-SVN: r179196
2011-09-26 12:58:35 +00:00
Bingfeng Mei b5bcaa4a74 tm.texi: Correct documentation for TARGET_ADDR_SPACE_SUBSET_P.
2011-09-26  Bingfeng Mei <bmei@broadcom.com>
	* doc/tm.texi: Correct documentation for TARGET_ADDR_SPACE_SUBSET_P.
	* target.def: (addr_space_subset_p): Likewise.

From-SVN: r179195
2011-09-26 12:46:09 +00:00
Eric Botcazou 412dd7641e opt22.adb: New test.
2011-09-26  Eric Botcazou  <ebotcazou@adacore.com>

	* gnat.dg/opt22.adb: New test.
	* gnat.dg/opt22_pkg.ad[sb]: New helper.

From-SVN: r179194
2011-09-26 12:41:17 +00:00
Tom de Vries 703ffc3005 tree-ssa-alias.h (pt_solution_singleton_p): Declare.
2011-09-26  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-alias.h (pt_solution_singleton_p): Declare.
	* tree-ssa-structalias.c (pt_solution_singleton_p): New function.
	* tree-ssa-ccp.c (fold_builtin_alloca_for_var): Set points-to solution
	of new var.

From-SVN: r179193
2011-09-26 12:36:56 +00:00
Tristan Gingold 750db0248d 2011-09-26 Tristan Gingold <gingold@adacore.com>
* inclhack.def (ms_define_can_use_extern_prefix):
	(vms_use_pragma_extern_model, vms_disable_decc_string_builtins):
	New fixes.
	* fixincl.x: Regenerate.
	* tests/base/rtldef/string.h: New test.
	* tests/base/rtldef/decc$types.h: Likewise.
	* tests/base/testing.h: Update

From-SVN: r179192
2011-09-26 12:12:51 +00:00
Georg-Johann Lay 8a6a05ce93 re PR target/50465 ([avr] Use insn attribute to depict if and how instruction lengths have to be adjusted)
PR target/50465
	* config/avr/avr-protos.h (output_reload_insisf): Don't pass insn.
	* config/avr/avr.md (*reload_insi, *reload_insf): Change call to
	output_reload_insisf.
	(adjust_len): Set default to "no".
	Remove alternative "yes".  Add alternatives: "mov8", "mov16",
	"mov32", "ashlqi", "ashrqi", "lshrqi", "ashlhi", "ashrhi",
	"lshrhi", "ashlsi, "ashrsi", "lshrsi".
	(*movqi, *movhi, *movsi, *ashlqi3, ashlhi3, ashlsi3,
	*ashlhi3_const, *ashlsi3_const, ashrqi3, ashrhi3, ashrsi3,
	*ashrhi3_const, *ashrsi3_const, *lshrqi3, lshrhi3, *lshrhi3_const,
	*lshrsi3_const): Set attribute "adjust_len".
	* config/avr/avr.c (output_reload_insisf): Remove parameter "insn".
	(output_movsisf): Don't pass insn to output_reload_insisf.
	(adjust_insn_length): Handle new alternatives to adjust_len.
	Remove handling of ADJUST_LEN_YES.  Clean-up code.

From-SVN: r179191
2011-09-26 11:53:40 +00:00
Eric Botcazou 2d0dd51a1a Fix oversight
From-SVN: r179190
2011-09-26 11:43:08 +00:00
Rainer Orth 58666503ad Restore Ada bootstrap on Solaris 8, 9/x86
From-SVN: r179189
2011-09-26 10:54:33 +00:00
Eric Botcazou ce438663a8 ifcvt.c (noce_try_cmove_arith): Use may_trap_or_fault_p in lieu of may_trap_p to detect loads that may trap of...
* ifcvt.c (noce_try_cmove_arith): Use may_trap_or_fault_p in lieu of
	may_trap_p to detect loads that may trap of fault.

From-SVN: r179188
2011-09-26 09:49:02 +00:00
Eric Botcazou bdbebf669e utils2.c (build_allocator): Set TREE_THIS_NOTRAP on the dereference of the pointer to the storage area.
* gcc-interface/utils2.c (build_allocator): Set TREE_THIS_NOTRAP on the
	dereference of the pointer to the storage area.  Remove useless type
	conversions and factor out common code.

From-SVN: r179187
2011-09-26 09:21:01 +00:00
Eric Botcazou 1aa291f7d1 utils.c (maybe_unconstrained_array): Declare TYPE local variable and use it throughout.
* gcc-interface/utils.c (maybe_unconstrained_array): Declare TYPE local
	variable and use it throughout.
	<UNCONSTRAINED_ARRAY_TYPE>: Add 'break' at the end.
	<RECORD_TYPE>: Do not unconditionally convert to the unpadded type as a
	first step.  Also convert to the unpadded type as a last step.

From-SVN: r179186
2011-09-26 09:03:52 +00:00
Eric Botcazou 7d76717db8 gigi.h (create_subprog_decl): Replace TREE_CHAIN with DECL_CHAIN in comment.
* gcc-interface/gigi.h (create_subprog_decl): Replace TREE_CHAIN with
	DECL_CHAIN in comment.
	* gcc-interface/trans.c (gigi): Likewise.
	(Attribute_to_gnu): Likewise.
	(build_function_stub): Likewise.
	(gnat_to_gnu): Likewise.
	* gcc-interface/utils.c (create_subprog_decl): Likewise.
	(convert_vms_descriptor64): Likewise.
	(convert_vms_descriptor32): Likewise.

From-SVN: r179185
2011-09-26 08:50:16 +00:00
Eric Botcazou 42acad07c0 trans.c (assoc_to_constructor): Minor tweaks.
* gcc-interface/trans.c (assoc_to_constructor): Minor tweaks.
	* gcc-interface/utils2.c (build_simple_component_ref): Fix formatting
	issues.  Use COMPLETE_TYPE_P in assertion.  Also set TREE_READONLY if
	the type of the record is TYPE_READONLY.

From-SVN: r179184
2011-09-26 08:45:36 +00:00
Eric Botcazou a1d7228158 sem_ch6.adb (Set_Formal_Mode): Set Can_Never_Be_Null on an IN or IN OUT formal parameter which is of an...
* sem_ch6.adb (Set_Formal_Mode): Set Can_Never_Be_Null on an IN or IN
	OUT formal parameter which is of an null-exclusion access subtype.

Co-Authored-By: Robert Dewar <dewar@adacore.com>

From-SVN: r179183
2011-09-26 08:37:32 +00:00
Eric Botcazou a1c7d7973c ada-tree.h (DECL_CAN_NEVER_BE_NULL_P): New macro.
* gcc-interface/ada-tree.h (DECL_CAN_NEVER_BE_NULL_P): New macro.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Set the flag.
	(gnat_to_gnu_param): Likewise.
	* gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Invoke
	maybe_unconstrained_array instead of doing the work manually.
	(maybe_unconstrained_array): Propagate the TREE_THIS_NOTRAP flag.
	* gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: If operand
	is a DECL with the flag, set TREE_THIS_NOTRAP on the reference.
	(gnat_stabilize_reference_1): Propagate the TREE_THIS_NOTRAP flag.
	(gnat_stabilize_reference): Likewise.

From-SVN: r179182
2011-09-26 08:26:37 +00:00
Georg-Johann Lay 20633efc34 avr-protos.h (output_reload_inhi): Change prototype.
* config/avr/avr-protos.h (output_reload_inhi): Change prototype.
	* config/avr/avr.md (adjust_len): Add "reload_in16" alternative.
	(*reload_inhi): Use it.  Adapt call to output_reload_inhi to new
	prototype.
	(*movhi): Split constraint alternative "r,rL" into "r,r" and "r,L".
	* config/avr/avr.c: Rename output_reload_insisf_1 to
	output_reload_in_const.
	(avr_popcount_each_byte): Handle SFmode, too.
	(output_reload_in_const): Change so it can handle HI loads, too.
	Use avr_popcount_each_byte to work out if scratch register must be
	created on the fly.
	(output_reload_inhi): Rewrite using output_reload_in_const and...
	(output_movhi): ...use it to print constants' loads.
	(adjust_insn_length): New case ADJUST_LEN_RELOAD_IN16. Cleanup code.

From-SVN: r179181
2011-09-26 08:14:25 +00:00
Eric Botcazou 50179d5882 ada-tree.h (TYPE_NULL_BOUNDS): New macro.
* gcc-interface/ada-tree.h (TYPE_NULL_BOUNDS): New macro.
	(SET_TYPE_NULL_BOUNDS): Likewise.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Set again
	TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template.
	* gcc-interface/trans.c (Identifier_to_gnu): Return initializers of fat
	pointer types.
	* gcc-interface/utils.c (create_var_decl_1): If the object is external,
	check that the initializer is a valid constant expression for use in
	initializing a static variable.  Add missing guard.
	(update_pointer_to): Adjust TYPE_NULL_BOUNDS if set.
	(convert_to_fat_pointer): In the null fat pointer case, build a valid
	pointer for the bounds.
	* gcc-interface/utils2.c (compare_fat_pointers): New function.
	(build_binary_op) <EQ_EXPR>: Call it to compare fat pointers.

From-SVN: r179180
2011-09-26 07:52:58 +00:00
Jason Merrill 382346e535 parser.c (inject_this_parameter): Split out from cp_parser_late_return_type_opt.
* parser.c (inject_this_parameter): Split out from
	cp_parser_late_return_type_opt.
	(cp_parser_class_specifier_1): Use it for NSDMIs.
	* tree.c (bot_replace): Replace NSDMI 'this' with real 'this'.

From-SVN: r179179
2011-09-25 23:56:10 -04:00
GCC Administrator 02aaf894b5 Daily bump.
From-SVN: r179178
2011-09-26 00:19:12 +00:00
David S. Miller e8b141b593 Add support for floating-point fused multiply-add on Sparc.
* configure.ac: Add feature check to make sure the assembler
	supports the FMAF, HPC, and VIS 3.0 instructions found on
	Niagara-3 and later cpus.
	* configure: Rebuild.
	* config.in: Likewise.
	* config/sparc/sparc.opt: New option '-mfmaf'.
	* config/sparc/sparc.md: Add float fused multiply-add patterns.
	* config/sparc/sparc.h (AS_NIAGARA3_FLAG): New macro.
	(ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC): Use it, as needed.
	* config/sparc/sol2.h (ASM_CPU32_DEFAULT_SPEC,
	ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC): Likewise.
	* config/sparc/sparc.c (sparc_option_override): Turn MASK_FMAF on
	by default for Niagara-3 and later.  Turn it off if TARGET_FPU is
	disabled.
	(sparc_rtx_costs): Handle 'FMA'.
	* doc/invoke.texi: Document -mfmaf.

From-SVN: r179174
2011-09-25 14:28:51 -07:00
David S. Miller 7cbcf85bf9 Generate 'fone' and 'fones' sparc instructions when possible.
* config/sparc/constraints.md (C, P, Z): New constraints for
	const_doube, const_int, and const_vector "all ones" values.
	Make unused constraint letters comment match reality.
	* config/sparc/predicates.md (const_all_ones_operand,
	register_or_zero_or_all_ones_operand): New predicates.
	* config/sparc/sparc.c (sparc_expand_move): Allow all ones
	as well as zero constants when VIS.
	(sparc_legitimate_constant_p): Likewise.
	* config/sparc/sparc.md (movsi_insn): Add fones alternative.
	(movsf_insn): Likewise
	(movdi_insn_sp64): Add fone alternative.
	(movdf_insn_sp32_v9): Likewise.
	(movdf_insn_sp64): Likewise.

From-SVN: r179173
2011-09-25 14:03:53 -07:00
Paolo Carlini a0ce4616fb revert: testsuite_error.h: Add empty default constructor to __gnu_test::test_category and...
2011-09-25  Paolo Carlini  <paolo.carlini@oracle.com>

	Revert (no longer necessary post r179130):

	2010-04-27  Fabien Chêne  <fabien.chene@gmail.com>

	* testsuite/util/testsuite_error.h: Add empty default constructor
	to __gnu_test::test_category and
	__gnu_test::test_derived_category.
	* src/future.cc: Add empty default constructor to
	future_error_category.
	* src/system_error.cc: Add default ctor to generic_error_category
	and system_error_category.

From-SVN: r179172
2011-09-25 20:58:46 +00:00
Eric Botcazou ad1d36bafd ada-tree.h (TREE_THIS_NOTRAP): Redefine.
* gcc-interface/ada-tree.h (TREE_THIS_NOTRAP): Redefine.
	* gcc-interface/trans.c (Identifier_to_gnu): Factor out common code in
	the by-ref case.  Do not set TREE_READONLY on a renamed object.  Set
	TREE_THIS_NOTRAP on UNCONSTRAINED_ARRAY_REF nodes.
	(Attribute_to_gnu) <Attr_Length>: Expand the use of the parameter cache
	to the indirect case.
	* gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Preserve
	the TREE_THIS_NOTRAP flag.

From-SVN: r179171
2011-09-25 20:40:10 +00:00
Eric Botcazou 6162cec0d9 trans.c (Loop_Statement_to_gnu): In the case of an iteration scheme...
* gcc-interface/trans.c (Loop_Statement_to_gnu): In the case of an
	iteration scheme, always generate the do-while form if optimization
	is enabled.  Use more straightforward test at the end.

From-SVN: r179169
2011-09-25 20:27:37 +00:00
Eric Botcazou dee12fcd11 decl.c (gnat_to_gnu_entity): Use XNEW instead of xmalloc.
* 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
2011-09-25 20:15:10 +00:00
Eric Botcazou dea976c480 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
2011-09-25 15:42:00 +00:00
Jakub Jelinek 960dcaf528 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
2011-09-25 17:03:56 +02:00
Eric Botcazou 1ee0d66040 tree-eh.c (cleanup_empty_eh): Allow a call to __builtin_stack_restore if there is no outgoing edge.
* 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
2011-09-25 14:55:12 +00:00
Ira Rosen 8e19f5a1b3 tree-vect-slp.c (vect_slp_analyze_bb_1): Split out core part of vect_analyze_bb here.
* 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
2011-09-25 12:33:03 +00:00
Paolo Carlini 13ec1ccaaa re PR c++/50280 (Incorrect type deduced for T& when passed a const bitfield)
2011-09-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50280
	* g++.dg/template/bitfield1.C: New.

From-SVN: r179163
2011-09-25 10:43:00 +00:00
Ira Rosen 4e4452b65b tree-data-ref.c (dr_analyze_innermost): Add new argument.
* 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
2011-09-25 09:21:42 +00:00
David S. Miller 10b859c0d8 Teach sparc backend about %gsr register and add intrinsics to access it.
* 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
2011-09-24 19:29:23 -07:00
Jason Merrill 6eaade31bb except.c (expr_noexcept_p): Split out from finish_noexcept_expr.
* 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
2011-09-24 22:26:21 -04:00
Jason Merrill 6fd4488141 init.c (perform_member_init): Instantiate NSDMI here.
* init.c (perform_member_init): Instantiate NSDMI here.
	* pt.c (tsubst_decl) [FIELD_DECL]: Not here.

From-SVN: r179157
2011-09-24 22:26:08 -04:00
Jason Merrill eb02633818 Handle deferred parsing of NSDMIs.
* 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
2011-09-24 22:26:01 -04:00
Jason Merrill 0e5f8a598d Implement C++11 non-static data member initializers.
* 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
2011-09-24 22:25:52 -04:00
GCC Administrator 77236534b9 Daily bump.
From-SVN: r179154
2011-09-25 00:18:46 +00:00