Commit Graph

112809 Commits

Author SHA1 Message Date
Bernd Schmidt eec8a31a73 re PR rtl-optimization/50833 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2243 with -fshrink-wrap)
PR rtl-optimization/50833
	* function.c (thread_prologue_and_epilogue_insns): Expect the
	return insn optimization only if optimize.

From-SVN: r180377
2011-10-24 11:46:04 +00:00
Bernd Schmidt 9f02e6a5b5 re PR bootstrap/50836 (bootstrap fails due to error: no previous prototype for 'find_all_hard_reg_sets')
PR bootstrap/50836
	* rtlanal.c: Swap includes of "hard-reg-set.h" and "rtl.h".

From-SVN: r180376
2011-10-24 11:03:12 +00:00
Arnaud Charlet b3c336413b [multiple changes]
2011-10-24  Robert Dewar  <dewar@adacore.com>

	* sem.adb (Initialize): Fix bug that blew up if called a second
	time.

2011-10-24  Robert Dewar  <dewar@adacore.com>

	* tb-alvxw.c, tracebak.c, expect.c, initflt.c, tb-alvms.c,
	tb-ivms.c, tb-gcc.c: Update headers to GPL 3.

2011-10-24  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case Debug): Give proper pragma
	name in error msg.

2011-10-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* gnat_rm.texi Add an entry for restriction No_Finalization.

2011-10-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Insert_Freeze_Node_For_Instance):  If the
	current instance is within the one that contains the generic,
	the freeze node for the current one must appear in the current
	declarative part. Ditto if the current instance is within another
	package instance. In both of these cases the freeze node of the
	previous instance is not relevant.

2011-10-24  Gary Dismukes  <dismukes@adacore.com>

	* switch-m.adb (Normalize_Compiler_Switches): Add recognition
	of AAMP-specific switches -univ and -aamp_target.

2011-10-24  Robert Dewar  <dewar@adacore.com>

	* a-tienau.adb (Put): Deal properly with limited line length.

2011-10-24  Robert Dewar  <dewar@adacore.com>

	* sem_warn.adb, sem_ch12.adb: Minor reformatting.

From-SVN: r180375
2011-10-24 12:31:29 +02:00
Tristan Gingold 8263e17a8c Makefile.in: Use GNU ld switches to generate map files on AIX.
2011-10-16  Tristan Gingold  <gingold@adacore.com>

        * gcc-interface/Makefile.in: Use GNU ld switches to generate map files
        on AIX.

From-SVN: r180374
2011-10-24 12:01:42 +02:00
Arnaud Charlet 12b4d33822 [multiple changes]
2011-10-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Earlier): make available globally. If both
	nodes have the same sloc, the freeze node that does not come
	from source is the later one.
	(True_Parent): Make available globally.
	(Previous_Instance): Subsidiary of
	Insert_Freeze_Node_For_Instance, to check whether the generic
	parent of the current instance is declared within a previous
	instance in the same unit or declarative  part, in which case the
	freeze nodes of both instances must appear in order to prevent
	elaboration problems in gigi.
	* sem_ch12.adb (Insert_Freeze_Node_For_Instance): A stub is a
	freeze point, and the freeze node of a preceding instantiation
	must be inserted before it.

2011-10-24  Robert Dewar  <dewar@adacore.com>

	* checks.ads, checks.adb: Add handling of Synchronization_Check
	* debug.adb: Add doc for -gnatd.d and -gnatd.e (disable/enable
	atomic sync).
	* exp_ch2.adb (Expand_Entity_Reference): Set Atomic_Sync_Required
	flag Minor code reorganization.
	* opt.ads (Warn_On_Atomic_Synchronization): New switch.
	* par-prag.adb: Add dummy entries for pragma
	Disable/Enable_Atomic_Synchronization.
	* sem_prag.adb (Process_Suppress_Unsuppress): Handle
	case of Atomic_Synchronization specially (not suppressed
	by All_Checks, cannot be set from Source).
	(Pragma Disable/Enable_Atomic_Synchronization): Add processing.
	* sinfo.ads, sinfo.adb: Add Atomic_Sync_Required flag
	* snames.ads-tmpl: Add entry for Atomic_Synchronization Add
	entry for pragma Disable/Enable_Atomic_Synchronization
	* switch-c.adb: The -gnatp switch does not disable
	Atomic_Synchronization Add -gnatep switch to disable
	Atomic_Synchronization.
	* types.ads: Add entry for Synchronization_Check
	* usage.adb: Add line for -gnated switch
	* warnsw.adb: Settings for Warn_On_Atomic_Synchronization

From-SVN: r180373
2011-10-24 11:51:42 +02:00
Arnaud Charlet 08ce7bb81d [multiple changes]
2011-10-24  Geert Bosch  <bosch@adacore.com>

	* s-gearop.adb (Back_Substitute): Avoid overflow if matrix
	bounds start at Integer'First.

2011-10-24  Robert Dewar  <dewar@adacore.com>

	* sem_ch12.adb, s-gearop.adb: Minor reformatting

2011-10-24  Robert Dewar  <dewar@adacore.com>

	* warnsw.adb: Add some missing warnings to Set_GNAT_Mode_Warnings
	* warnsw.ads: Add comments to Set_GNAT_Mode_Warnings

From-SVN: r180372
2011-10-24 11:41:42 +02:00
Georg-Johann Lay d2111e2f14 avr.c: Break long lines.
* config/avr/avr.c: Break long lines.
	Define target hooks on the fly if applicable.
	(TARGET_ASM_FUNCTION_RODATA_SECTION): Remove first definition
	overridden later.
	(targetm): Move definition to end of file.
	(avr_can_eliminate): Make static on the fly.
	(avr_frame_pointer_required_p): Ditto.
	(avr_hard_regno_scratch_ok): Ditto.
	(avr_builtin_setjmp_frame_value): Make static on the fly.
	Indent according to coding rules.
	(avr_case_values_threshold): Ditto.
	(avr_attribute_table): Move down.

From-SVN: r180371
2011-10-24 09:39:09 +00:00
Arnaud Charlet 292689c213 [multiple changes]
2011-10-24  Emmanuel Briot  <briot@adacore.com>

	* prj-proc.adb (Process_Expression_Variable_Decl): No special
	handling for Project_Path unless it is an attribute.

2011-10-24  Javier Miranda  <miranda@adacore.com>

	* sem_ch12.adb (Check_Hidden_Primitives): New subprogram.
	(Install_Hidden_Primitives): New subprogram.
	(Restore_Hidden_Primitives): New subprogram.
	(Analyze_Formal_Package_Declaration,
	Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
	Invoke Check_Hidden_Primitives after every call to
	Analyze_Associations, and invoke Restore_Hidden_Primitives to
	restore their visibility after processing the instantiation.
	(Instantiate_Package_Body): Install visible primitives before
	analyzing the instantiation and uninstall them to restore their
	visibility when the instantiation has been analyzed.
	* sem_util.ads, sem_util.adb (Add_Suffix): New subprogram
	(Remove_Suffix): New subprogram
	* sem_ch3.adb (Derive_Subprogram): When handling
	a derived subprogram for the instantiation of a formal derived
	tagged type, inherit the dispatching attributes from the actual
	subprogram (not from the parent type).

From-SVN: r180370
2011-10-24 11:28:21 +02:00
Arnaud Charlet db4b3c499d [multiple changes]
2011-10-24  Vasiliy Fofanov  <fofanov@adacore.com>

	* gnat_ugn.texi: Document explicit use of XDECGNAT library.

2011-10-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch3.adb (Build_Assignment): Add local constant N_Loc and
	update its uses.
	(Build_Discriminant_Assignments): Add local variable D_Loc and update
	its uses.
	(Build_Init_Statements): Add local variables Comp_Loc, Decl_Loc and
	Var_Loc and update their uses.
	(Build_Record_Init_Proc): Code reformatting.
	(Increment_Counter): Add formal parameter Loc.
	(Make_Counter): Add formal parameter Loc.

2011-10-24  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_disp.adb (Covers_Some_Interface): Fix typo.

2011-10-24  Matthew Heaney  <heaney@adacore.com>

	* a-cuprqu.adb, a-cbprqu.adb (Dequeue_Only_High_Priority):
	Predicate had wrong sense.

2011-10-24  Yannick Moy  <moy@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications/Aspect_Test_Case):
	Translate arguments in positional notation into pragma argument
	association arguments for the generated pragma.

2011-10-24  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch5.adb: Fix minor typo.

2011-10-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Is_Visible_Component): Refine predicate for
	the case of a component reference in an instance body, when the
	enclosing type is private.

From-SVN: r180369
2011-10-24 11:24:35 +02:00
Arnaud Charlet 86f0e17adc 2011-10-24 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi: For gnatelim, move the note about using the GNAT
	driver for getting the project support into gnatelim section.

2011-10-24  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Minor correction to documentation on address
	clause.

2011-10-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* s-finmas.adb (Attach): Synchronize and call the unprotected version.
	(Attach_Unprotected): New routine.
	(Delete_Finalize_Address): Removed.
	(Delete_Finalize_Address_Unprotected): New routine.
	(Detach): Synchronize and call the unprotected version.
	(Detach_Unprotected): Remove locking.
	(Finalize): Add various comment on synchronization. Lock the critical
	region and call the unprotected versions of routines.
	(Finalize_Address): Removed.
	(Finalize_Address_Unprotected): New routine.
	(Set_Finalize_Address): Synchronize and call
	the unprotected version.
	(Set_Finalize_Address_Unprotected): New routine.
	(Set_Heterogeneous_Finalize_Address): Removed.
	(Set_Heterogeneous_Finalize_Address_Unprotected): New routine.
	(Set_Is_Heterogeneous): Add comment on synchronization and
	locking.
	* s-finmas.ads: Flag Finalization_Started is no longer atomic
	because synchronization uses task locking / unlocking.
	(Attach): Add comment on usage.
	(Attach_Unprotected): New routine.
	(Delete_Finalize_Address): Renamed to
	Delete_Finalize_Address_Unprotected.
	(Detach): Add comment on usage.
	(Detach_Unprotected): New routine.
	(Finalize_Address): Renamed to Finalize_Address_Unprotected.
	(Set_Finalize_Address): Add comment on usage.
	(Set_Finalize_Address_Unprotected): New routine.
	(Set_Heterogeneous_Finalize_Address): Renamed to
	Set_Heterogeneous_Finalize_Address_Unprotected.
	* s-stposu.adb (Allocate_Any_Controlled): Add local variable
	Allocation_Locked. Add various comments on synchronization. Lock
	the critical region and call the unprotected version of
	routines.
	(Deallocate_Any_Controlled): Add various comments on
	synchronization. Lock the critical region and call the unprotected
	version of routines.

2011-10-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Set_Fixed_Range): The bounds of a fixed point type
	are universal and must carry the corresponding type.
	* sem_eval.adb (Check_Non_Static_Context): If the type of the
	expression is universal real, as may be the case for a fixed point
	expression with constant operands in the context of a conversion,
	there is nothing to check.
	* s-finmas.adb: Minor reformatting

From-SVN: r180368
2011-10-24 11:19:15 +02:00
Ira Rosen 02b76a8d70 re PR tree-optimization/50730 (SLP vectorization confused by unrelated DRs)
PR tree-optimization/50730
        * tree-vect-data-refs.c (vect_analyze_data_refs): Stop basic
        block analysis if encountered unsupported data-ref.

From-SVN: r180367
2011-10-24 09:16:53 +00:00
Ian Lance Taylor a1ee0aafc7 Implement append([]byte, string...).
From-SVN: r180364
2011-10-24 05:00:34 +00:00
Ian Lance Taylor 703f56e5cb Some minor fixes to the rewritten syscall library.
From-SVN: r180363
2011-10-24 04:57:08 +00:00
David S. Miller d377a5fbf1 Fix sol2 sparc -mv8 regression.
* config/sparc/sparc.c (sparc_option_override): Remove -mv8plus
	cpu adjustment.
	* config/sparc/linux64.h (CC1_SPEC): When defaulting to 64-bit,
	append -mcpu=v9 when -mv8plus is given.

From-SVN: r180362
2011-10-23 21:15:46 -07:00
Ian Lance Taylor b7190f2fc6 Rename is_open_array_type to is_slice_type.
From-SVN: r180361
2011-10-24 04:06:44 +00:00
David S. Miller bb12a72a48 Add support for sparc VIS3 fp<-->int moves.
* config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): We can move
	between float and non-float regs when VIS3.
	* config/sparc/sparc.c (eligible_for_restore_insn): We can't
	use a restore when the source is a float register.
	(sparc_split_regreg_legitimate): When VIS3 allow moves between
	float and integer regs.
	(sparc_register_move_cost): Adjust to account for VIS3 moves.
	(sparc_preferred_reload_class): On 32-bit with VIS3 when moving an
	integer reg to a class containing EXTRA_FP_REGS, constrain to
	FP_REGS.
	(sparc_secondary_reload): On 32-bit with VIS3 when moving between
	float and integer regs we sometimes need a FP_REGS class
	intermediate move to satisfy the reload.  When this happens
	specify an extra cost of 2.
	(*movsi_insn): Rename to have "_novis3" suffix and add !VIS3
	guard.
	(*movdi_insn_sp32_v9): Likewise.
	(*movdi_insn_sp64): Likewise.
	(*movsf_insn): Likewise.
	(*movdf_insn_sp32_v9): Likewise.
	(*movdf_insn_sp64): Likewise.
	(*zero_extendsidi2_insn_sp64): Likewise.
	(*sign_extendsidi2_insn): Likewise.
	(*movsi_insn_vis3): New insn.
	(*movdi_insn_sp32_v9_vis3): New insn.
	(*movdi_insn_sp64_vis3): New insn.
	(*movsf_insn_vis3): New insn.
	(*movdf_insn_sp32_v9_vis3): New insn.
	(*movdf_insn_sp64_vis3): New insn.
	(*zero_extendsidi2_insn_sp64_vis3): New insn.
	(*sign_extendsidi2_insn_vis3): New insn.
	(TFmode reg/reg split): Make sure both REG operands are float.
	(*mov<VM32:mode>_insn): Add "_novis3" suffix and !VIS3 guard. Remove
	easy constant to integer reg alternatives.
	(*mov<VM64:mode>_insn_sp64): Likewise.
	(*mov<VM64:mode>_insn_sp32_novis3): Likewise.
	(*mov<VM32:mode>_insn_vis3): New insn.
	(*mov<VM64:mode>_insn_sp64_vis3): New insn.
	(*mov<VM64:mode>_insn_sp32_vis3): New insn.
	(VM64 reg<-->reg split): New spliiter for 32-bit.

From-SVN: r180360
2011-10-23 20:51:47 -07:00
Jonathan Wakely ec8ab7c4e4 re PR libstdc++/50834 (Documentation about STL thread safety is ambiguous)
PR libstdc++/50834
	* doc/xml/manual/using.xml: Update thread safety docs w.r.t. C++11.

From-SVN: r180359
2011-10-24 01:19:56 +01:00
GCC Administrator a0d90b97f0 Daily bump.
From-SVN: r180358
2011-10-24 00:17:20 +00:00
David S. Miller b1fc9f8b8d Factor out common tests in 8-byte reg/reg move splitters on 32-bit sparc.
* config/sparc/sparc.c (sparc_split_regreg_legitimate): New
	function.
	* config/sparc/sparc-protos.h (sparc_split_regreg_legitimate):
	Declare it.
	* config/sparc/sparc.md (DImode reg/reg split): Use it.
	(DFmode reg/reg split): Likewise.

From-SVN: r180354
2011-10-23 15:34:07 -07:00
Steven G. Kargl 9c85d38bf4 simplify.c (simplify_transformation_to_array): Fix memory leak.
2011-10-23  Steven G. Kargl  <kargl@gcc.gnu.org>

    * simplify.c (simplify_transformation_to_array): Fix memory leak.

From-SVN: r180353
2011-10-23 22:30:00 +00:00
David S. Miller 1255f800a8 Add missing fzero/fone cases to DImode move on 32-bit v9 sparc.
* config/sparc/sparc.md (*movdi_insn_sp32_v9): Add alternatives for
	generating fzero and fone instructions.
	(DImode const_int --> reg splitter): Only trigger for integer regs.

From-SVN: r180352
2011-10-23 15:21:51 -07:00
David S. Miller 4d1a883835 Fix sparc so that reload doesn't try to load non-trivial vector consts directly.
* config/sparc/predicates.md (input_operand): Disallow vector
	constants other than 0 and -1.
	* config/sparc/sparc.c (sparc_preferred_reload_class): Return
	NO_REGS for vector constants other than 0 and -1.

From-SVN: r180351
2011-10-23 14:51:16 -07:00
David S. Miller 5a53588ff0 Use a macro instead of a constant to test for sparc integer regnos.
* config/sparc/sparc.h (SPARC_FIRST_INT_REG, SPARC_LAST_INT_REG,
	SPARC_INT_REG_P): Define.
	(HARD_REGNO_NREGS): Use SPARC_INT_REG_P.
	(REGNO_OK_FOR_INDEX_P): Likewise.
	* config/sparc/sparc.c (gen_df_reg): Likewise.
	(eligible_for_return_delay): Likewise.
	(eligible_for_sibcall_delay): Likewise.
	(sparc_legitimate_address_p): Likewise.
	(emit_save_or_restore_regs): Likewise.
	(registers_ok_for_ldd_peep): Likewise.
	* config/spac/sparc.md (DI mode splitters): Likewise.
	(SF mode const splitters): Likewise.
	(DF mode splitters): Likewise.
	(32-bit DI mode logical op splitters): Likewise.

From-SVN: r180350
2011-10-23 14:50:56 -07:00
Paolo Carlini 0bcf216b2a re PR c++/50841 (bootstrap failure: narrowing conversion of '-0x00000000000000001' from 'int' in tree-object-size.c)
/c-family
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50841
	Revert:
	2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50810
	* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
	of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
	Wnarrowing for C++0x and C++98.
	* c.opt ([Wnarrowing]): Update.

/cp
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50841
	Revert:
	2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50810
	* typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
	(digest_init_r): Call check_narrowing irrespective of the C++ dialect.
	* decl.c (check_initializer): Likewise.
	* semantics.c (finish_compound_literal): Likewise.

/testsuite
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50841
	Revert:
	2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50810
	* g++.dg/cpp0x/warn_cxx0x2.C: New.
	* g++.dg/cpp0x/warn_cxx0x3.C: Likewise.

2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50841
	Revert:
	2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50810
	* doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.

From-SVN: r180349
2011-10-23 21:15:08 +00:00
Paolo Carlini 5f53c2438d re PR c++/50841 (bootstrap failure: narrowing conversion of '-0x00000000000000001' from 'int' in tree-object-size.c)
/c-family
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50841
	Revert:
	2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50810
	* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
	of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
	Wnarrowing for C++0x and C++98.
	* c.opt ([Wnarrowing]): Update.

/cp
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50841
	Revert:
	2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50810
	* typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
	(digest_init_r): Call check_narrowing irrespective of the C++ dialect.
	* decl.c (check_initializer): Likewise.
	* semantics.c (finish_compound_literal): Likewise.

/testsuite
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50841
	Revert:
	2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50810
	* g++.dg/cpp0x/warn_cxx0x2.C: New.
	* g++.dg/cpp0x/warn_cxx0x3.C: Likewise.

2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50841
	Revert:
	2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50810
	* doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.

From-SVN: r180348
2011-10-23 20:59:43 +00:00
Eric Botcazou be98aaf0bc * gcc-interface/decl.c (create_concat_name): Add explicit cast.
From-SVN: r180347
2011-10-23 20:21:06 +00:00
Uros Bizjak 0d459eaed8 sse.md (avx2_lshl<mode>3): Remove insn pattern.
* config/i386/sse.md (avx2_lshl<mode>3): Remove insn pattern.
	(VI248_256): Remove mode iterator.
	* config/i386/i386.c (ix86_expand_vec_perm): Use gen_ashlv4di3
	instead of gen_avx2_lshlv4di3.
	(bdesc_args): Use CODE_FOR_ashl{v16hi,v8si,v4di}3 instead of
	CODE_FOR_avx2_lshl{v16hi,v8si,v4di}3.

From-SVN: r180346
2011-10-23 21:48:41 +02:00
Ian Lance Taylor de27caacfb Implement new syscall package.
Calls to library functions now use entersyscall and
exitsyscall as appropriate.  This is a first step toward
multiplexing goroutines onto threads.

From-SVN: r180345
2011-10-23 19:04:37 +00:00
Uros Bizjak 7b45b87f01 sse.md (sseintprefix): Rename from gthrfirstp.
* config/i386/sse.md (sseintprefix): Rename from gthrfirstp.
	(<avx_avx2>_maskload<ssemodesuffix><avxsizesuffix>): Delete expander.
	(<avx_avx2>_maskload<ssemodesuffix><avxsizesuffix>) Merge insn
	pattern from *avx2_maskload<ssemodesuffix><avxsizesuffix> and
	*avx_maskload<ssemodesuffix><avxsizesuffix> using V48_AVX mode
	iterator.  Use sseintprefix mode attribute.
	(<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Delete expander.
	(<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>) Merge insn
	pattern from *avx2_maskstore<ssemodesuffix><avxsizesuffix> and
	*avx_maskstore<ssemodesuffix><avxsizesuffix> using V48_AVX mode
	iterator.  Use sseintprefix mode attribute.
	(*avx2_gathersi<mode>) Use sseintprefix and ssemodesuffix mode
	attributes.
	(*avx2_gatherdi<mode>): Ditto.
	(*avx2_gatherdi<mode>256): Ditto.
	(VI48_AVX2): Remove mode iterator.
	(gthrlastfp): Remove mode attribute.

From-SVN: r180344
2011-10-23 20:43:11 +02:00
Paolo Carlini 263734e172 re PR c++/50810 (c++0x-compat does not warn about narrowing conversions)
/c-family
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50810
	* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
	of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
	Wnarrowing for C++0x and C++98.
	* c.opt ([Wnarrowing]): Update.

/cp
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50810
	* typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
	(digest_init_r): Call check_narrowing irrespective of the C++ dialect.
	* decl.c (check_initializer): Likewise.
	* semantics.c (finish_compound_literal): Likewise.

/testsuite
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50810
	* g++.dg/cpp0x/warn_cxx0x2.C: New.
	* g++.dg/cpp0x/warn_cxx0x3.C: Likewise.

2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50810
	* doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.

From-SVN: r180343
2011-10-23 18:34:45 +00:00
Tom de Vries 19b6a33daa re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree-tail-merge)
2011-10-23  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/50763
	* gcc.dg/pr50763.c: New test.

From-SVN: r180342
2011-10-23 16:06:40 +00:00
Tom de Vries 4cbdcd40fa re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree-tail-merge)
2011-10-23  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/50763
	* tree-ssa-tail-merge.c (same_succ_flush_bb): New function, factored out
	of ...
	(same_succ_flush_bbs): Use same_succ_flush_bb.
	(purge_bbs): Remove argument.  Remove calls to same_succ_flush_bbs,
	release_last_vdef and delete_basic_block.
	(unlink_virtual_phi): New function.
	(update_vuses): Add and use vuse1_phi_args argument.  Set var to
	SSA_NAME_VAR of vuse1 or vuse2, and use var.  Handle case that def_stmt2
	is NULL.  Use phi result as phi arg in case vuse1 or vuse2 is NULL_TREE.
	Replace uses of vuse1 if vuse2 is NULL_TREE.  Fix code to limit
	replacement of uses.  Propagate phi argument for phis with a single
	argument.
	(replace_block_by): Update vops if phi_vuse1 or phi_vuse2 is NULL_TREE.
	Set vuse1_phi_args if vuse1 is a phi defined in bb1.  Add vuse1_phi_args
	as argument to call to update_vuses.  Call release_last_vdef,
	same_succ_flush_bb, delete_basic_block.  Update CDI_DOMINATORS info.
	(tail_merge_optimize): Remove argument in call to purge_bbs.  Remove
	call to free_dominance_info.  Only call calculate_dominance_info once.

From-SVN: r180341
2011-10-23 16:06:32 +00:00
Eric Botcazou 4db183a2d5 re PR tree-optimization/44683 (Optimization bug with copysign builtin)
* fold-const.c (invert_tree_comparison): Always invert EQ_EXPR/NE_EXPR.

	PR tree-optimization/44683
	* tree-ssa-dom.c (record_edge_info): Record simple equivalences only if
	we can be sure that there are no signed zeros involved.

From-SVN: r180340
2011-10-23 15:57:09 +00:00
Jan Hubicka d621a5fb6d * ipa-inline.c (estimate_badness): Scale up and handle overflows.
From-SVN: r180336
2011-10-23 14:30:24 +00:00
Uros Bizjak fe646a69c7 re PR target/50788 (ICE: in merge_overlapping_regs, at regrename.c:318 with -mavx -fpeel-loops -fstack-protector-all and __builtin_ia32_maskloadpd256)
PR target/50788
	* config/i386/sse.md (avx2_maskload<ssemodesuffix><avxsizesuffix>):
	Remove (match_dup 0).
	(*avx2_maskload<ssemodesuffix><avxsizesuffix>): New insn pattern.
	(*avx_maskload<ssemodesuffix><avxsizesuffix>): Ditto.
	(*avx2_maskstore<ssemodesuffix><avxsizesuffix>): Ditto.
	(*avx_maskstore<ssemodesuffix><avxsizesuffix>): Ditto.
	(*avx2_maskmov<ssemodesuffix><avxsizesuffix>): Remove insn pattern.
	(*avx_maskmov<ssemodesuffix><avxsizesuffix>): Ditto.

testsuite/ChangeLog:

2011-10-23  Uros Bizjak  <ubizjak@gmail.com>

	PR target/50788
	* testsuite/gcc.target/i386/pr50788.c: New test.

From-SVN: r180335
2011-10-23 16:18:08 +02:00
Ira Rosen 5bfdb7d889 re PR tree-optimization/50819 (missed SLP vectorization)
PR tree-optimization/50819
        * tree-vectorizer.h (vect_analyze_data_ref_dependences): Remove
        the last argument.
        * tree-vect-loop.c (vect_analyze_loop_2): Update call to
        vect_analyze_data_ref_dependences.
        * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
        Remove the last argument.  Check load-after-store dependence
        for unknown dependencies in basic blocks.
        (vect_analyze_data_ref_dependences): Update call to
        vect_analyze_data_ref_dependences.
        * tree-vect-patterns.c (vect_recog_widen_shift_pattern): Fix
        typo.
        * tree-vect-slp.c (vect_bb_vectorizable_with_dependencies):
        Remove.
        (vect_slp_analyze_bb_1): Update call to
        vect_analyze_data_ref_dependences.  Don't call
        vect_bb_vectorizable_with_dependencies.

From-SVN: r180334
2011-10-23 12:13:49 +00:00
GCC Administrator b0ed0a6f21 Daily bump.
From-SVN: r180333
2011-10-23 00:18:37 +00:00
Jonathan Wakely 3b2eeb43cf re PR libstdc++/50196 ([C++0x] std::thread not available under macos)
PR libstdc++/50196
	* acinclude.m4 (GLIBCXX_HAS_GTHREADS): Don't depend on _POSIX_TIMEOUTS.
	* configure: Regenerate.
	* include/std/mutex (timed_mutex, recursive_timed_mutex): Define
	conditionally on GTHREADS_HAS_MUTEX_TIMEDLOCK.
	* testsuite/lib/libstdc++.exp (check_v3_target_gthreads_timed): Define.
	* testsuite/lib/dg-options.exp (dg-require-gthreads-timed): Define.
	* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
	Use dg-require-gthreads-timed instead of dg-require-gthreads.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/
	typesizes.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
	Likewise.
	* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
	* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
	Likewise.
	* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/timed_mutex/requirements/standard_layout.cc:
	Likewise.
	* testsuite/30_threads/timed_mutex/requirements/typedefs.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.

From-SVN: r180329
2011-10-22 22:31:24 +01:00
Dodji Seketeli ad2305adb4 Fix cpp_peek_token behaviour (PR bootstrap/50778)
libcpp/

	* include/internal.h (_cpp_remaining_tokens_num_in_context): Take the
	context to act upon.
	* lex.c (_cpp_remaining_tokens_num_in_context): Likewise.  Update
	comment.
	(cpp_token_from_context_at): Likewise.
	(cpp_peek_token): Use the context to peek tokens from.

From-SVN: r180328
2011-10-22 19:49:18 +02:00
Ian Lance Taylor 94bf1a5fb7 Update Go library to r60.3 release.
From-SVN: r180327
2011-10-22 16:19:46 +00:00
David S. Miller 89b925a660 Remove unused functions from sparc backend.
* config/sparc/sparc.c (short_branch, reg_unused_after): Delete.
	* config/sparc/sparc-protos.h (short_branch, reg_unused_after):
	Get rid of declarations.

From-SVN: r180325
2011-10-22 01:01:58 -07:00
David S. Miller f0237267ba Make sparc's "struct processor_costs" private to sparc.c
* config/sparc/sparc.h (sparc_costs): Remove extern decl.
	(struct processor_costs): Move from here..
	* config/sparc/sparc.c (struct processor_costs): To here.
	(sparc_costs): Mark static.

From-SVN: r180324
2011-10-22 00:30:12 -07:00
David S. Miller 9dc98917cc Convert sparc over to TARGET_SECONDARY_RELOAD.
gcc/

	* config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS,
	SECONDARY_OUTPUT_RELOAD_CLASS): Delete.
	* config/sparc/sparc.c (TARGET_SECONDARY_RELOAD): Redefine.
	(sparc_secondary_reload): New function.

From-SVN: r180323
2011-10-22 00:05:32 -07:00
DJ Delorie 40c4cbcd82 obstack.h [!GNUC] (obstack_free): Avoid cast to int.
* obstack.h [!GNUC] (obstack_free): Avoid cast to int.
* ansidecl.h (ENUM_BITFIELD): Always use enum in C++

From-SVN: r180321
2011-10-21 21:35:29 -04:00
GCC Administrator 799ae3ed41 Daily bump.
From-SVN: r180320
2011-10-22 00:19:07 +00:00
Steven G. Kargl 6d8c9e5c9a re PR fortran/50821 (3 new GCC HEAD@180266 regressions)
2011-10-20  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/50821
	* check.c (gfc_check_ishftc): Check args are constant before 
	extracting the integer.

From-SVN: r180316
2011-10-21 22:48:39 +00:00
Paul Brook 74b388c339 c6x.c (c6x_asm_emit_except_personality, [...]): New functions.
* config/c6x/c6x.c (c6x_asm_emit_except_personality,
	c6x_asm_init_sections): New functions.
	(TARGET_ASM_EMIT_EXCEPT_PERSONALITY, TARGET_ASM_INIT_SECTIONS):
	Define.

From-SVN: r180314
2011-10-21 21:04:13 +00:00
Paul Brook 56dc349e1a * unwind-arm-common.inc: Handle ID3/4 unwinding data.
From-SVN: r180313
2011-10-21 21:00:11 +00:00
Paolo Carlini d2e312d7e5 re PR c++/45385 (missing -Wconversion for method calls)
/cp
2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/45385
	* init.c (build_vec_init): Early return error_mark_node if
	maxindex is -1.

/c-family
2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/45385
	* c-common.c (conversion_warning): Remove code looking for
	artificial operands.

/testsuite
2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/45385
	* g++.dg/warn/Wconversion4.C: New.

From-SVN: r180312
2011-10-21 20:01:31 +00:00
Jakub Jelinek 9956ad4d14 re PR target/50813 (gcc.dg/torture/vshuf-{v4di,v8si}.c fail on AVX target)
PR target/50813
	* config/i386/i386.c (expand_vec_perm_even_odd_1): Handle
	V4DImode and V8SImode for !TARGET_AVX2.

	* gcc.dg/torture/vshuf-32.inc: Add broadcast permutation
	from element other than first and reverse permutation.
	* gcc.dg/torture/vshuf-16.inc: Likewise.
	* gcc.dg/torture/vshuf-8.inc: Likewise.
	* gcc.dg/torture/vshuf-4.inc: Likewise.

From-SVN: r180311
2011-10-21 21:32:20 +02:00