Commit Graph

112887 Commits

Author SHA1 Message Date
Joseph Myers 793ff12bf2 * ja.po: Update.
From-SVN: r180432
2011-10-25 16:37:28 +01:00
Paolo Carlini df9ee5c829 re PR c++/50858 (segfault at ../../gcc/libiberty/hashtab.c:981)
/cp
2011-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50858
	* typeck.c (composite_pointer_type_r): Check return value of
	composite_pointer_type_r for error_mark_node.

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

	PR c++/50858
	* g++.dg/overload/operator5.C: New.

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

	PR c++/50861
	* pt.c (tsubst_copy_and_build): Check return value of
	tsubst_copy_and_build for error_mark_node.

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

	PR c++/50861
	* g++.dg/template/crash108.C: New.

From-SVN: r180430
2011-10-25 13:48:10 +00:00
Kirill Yukhin 4bc5143271 * MAINTAINERS (Write After Approval): Add myself.
From-SVN: r180429
2011-10-25 09:39:49 +00:00
Dodji Seketeli 3bb0c8dbb0 Fix lookup of macro maps
* line-map.c (linemap_macro_map_lookup): Fix logic.

From-SVN: r180427
2011-10-25 10:59:07 +02:00
Dodji Seketeli 84756fd40a Support expansion of reserved locations wrapped in virtual locations
libcpp/

	* include/line-map.h (linemap_expand_location): Take a line table
	parameter.  Update comment.
	(linemap_resolve_location): Update comment.
	(linemap_expand_location_full): Remove.
	* line-map.c (linemap_resolve_location):  Handle reserved
	locations; return a NULL map in those cases.
	(linemap_expand_location): If location is reserved, return a
	zeroed expanded location.  Update comment.  Take a line table to
	assert that the function takes non-virtual locations only.
	(linemap_expand_location_full): remove.
	(linemap_dump_location): Handle the fact that
	linemap_resolve_location can return NULL line maps when the
	location resolves to a reserved location.

gcc/
	* input.c (expand_location): Rewrite using
	linemap_resolve_location and linemap_expand_location.  Add a
	comment.

From-SVN: r180426
2011-10-25 10:58:54 +02:00
David S. Miller ae5f5715d6 Delete remaining references to sparc little-endian support.
* config/sparc/little-endian.opt: Delete.
	* config.gcc: Remove references to config/sparc/little-endian.opt
	* doc/invoke.texi: Remove documentation of -mlittl-endian on sparc.
	* config/sparc/linux64.h: Delete references to -mlittle-endian.
	* config/sparc/netbsd-elf.h: Likewise.
	* config/sparc/openbsd64.h: Likewise.
	* config/sparc/sparc.h: Likewise.
	* config/sparc/sp64-elf.h: Likewise and delete overrides for
	BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
	* config/sparc/sparc.c (dump_target_flag_bits): Remove reference
	to MASK_LITTLE_ENDIAN.
	* config/sparc/sparc.opt (Mask(LITTLE_ENDIAN)): Delete.

From-SVN: r180425
2011-10-25 01:57:25 -07:00
Jakub Jelinek ab0ef70693 re PR tree-optimization/50596 (Problems in vectorization of condition expression)
PR tree-optimization/50596
	* tree-vect-stmts.c (vect_mark_relevant): Only use
	FOR_EACH_IMM_USE_FAST if lhs is SSA_NAME.
	(vectorizable_store): If is_pattern_stmt_p look through
	VIEW_CONVERT_EXPR on lhs.
	* tree-vect-patterns.c (check_bool_pattern, adjust_bool_pattern):
	Use unsigned type instead of signed.
	(vect_recog_bool_pattern): Optimize also stores into bool memory in
	addition to casts from bool to integral types.
	(vect_mark_pattern_stmts): If pattern_stmt already has vinfo
	created, don't create it again.

	* gcc.dg/vect/vect-cond-10.c: New test.

From-SVN: r180424
2011-10-25 10:02:08 +02:00
Kai Tietz db85437893 i386.c (ix86_frame_pointer_required): Require frame-pointer, if setjmp is used for 32-bit ms-abi.
* config/i386/i386.c (ix86_frame_pointer_required): Require
        frame-pointer, if setjmp is used for 32-bit ms-abi.

From-SVN: r180423
2011-10-25 09:32:31 +02:00
Ian Lance Taylor cbe98a41a5 Implement new order of assignment rules.
In "i, x[i] = 1, 2" the assigment to x[i] must use the value
of i from before the assignment statement.

From-SVN: r180421
2011-10-25 05:37:48 +00:00
Andreas Tobler cbffbd59d6 t-freebsd: Add wildcard.
2011-10-25  Andreas Tobler  <andreast@fgznet.ch>

	* config/rs6000/t-freebsd: Add wildcard.

From-SVN: r180420
2011-10-25 07:13:12 +02:00
Joey Ye 1e8eb1b79a pr42575.c: Remove architecture option.
2011-10-25  Joey Ye  <joey.ye@arm.com>

	* gcc.target/arm/pr42575.c: Remove architecture option.

From-SVN: r180419
2011-10-25 03:33:31 +00:00
David S. Miller a160b43cf1 Add some sparc VIS3 move test cases.
gcc/testsuite/

	* gcc.target/sparc/vis3move-1.c: New test.
	* gcc.target/sparc/vis3move-2.c: New test.
	* gcc.target/sparc/vis3move-3.c: New test.

From-SVN: r180418
2011-10-24 20:22:15 -07:00
GCC Administrator c04a30b4c0 Daily bump.
From-SVN: r180417
2011-10-25 00:19:13 +00:00
Jonathan Wakely b81e920eac re PR libstdc++/49894 ([C++0x] Uniform initialization in constructor)
PR libstdc++/49894
	* include/std/mutex (__mutex_base,__recursive_mutex_base): Define new
	base classes to manage construction/destruction of native mutexes,
	using NSDMI when INIT macros are defined.
	(mutex,recursive_mutex,timed_mutex,recursive_timed_mutex): Derive from
	new base classes.
	* include/std/condition_variable (condition_variable): Use NSDMI when
	INIT macro is defined. Use noexcept.
	* src/condition_variable.cc (condition_variable): Explicitly-default
	constructor/destructor when using NSDMI. Use noexcept.
	(condition_variable_any): Likewise.

From-SVN: r180411
2011-10-25 00:26:25 +01:00
David S. Miller cca3f03dfe Segregate sparc FP/VEC constant constraints.
* config/sparc/sparc.md: Only use F, G, and C constraints in FP
	insns.  Only use D, Y, and Z constraints in vector insns.

From-SVN: r180410
2011-10-24 16:04:40 -07:00
Michael Meissner ce835863ba Remove extra newline added in October 11 change
From-SVN: r180408
2011-10-24 22:28:53 +00:00
David S. Miller 1b43bc82f7 Consolidate some sparc insn patterns using "enabled".
* config/sparc/sparc.md (cpu_feature, enabled): New attributes.
	(*movsi_insn_novis3, *movsi_insn_vis3): Consolidate into one pattern
	called *movsi_insn.
	(*movdi_insn_sp32_v9_novis3, *movdi_insn_sp32_v9_vis3): Consolidate
	into *movdi_insn_sp32.
	(*movdi_insn_sp64_novis3, *movdi_insn_sp64_vis3): Consolidate into
	one pattern called *movdi_insn_sp64.
	(*movsf_insn_novis3, *movsf_insn_vis3, *movsf_insn_no_fpu):
	Consolidate into one pattern called *movsf_insn.
	(*movdf_insn_sp32_no_fpu, *movdf_insn_sp32_v9_novis3,
	*movdf_insn_sp32_v9_vis3, *movdf_insn_sp32_v9_no_fpu): Consolidate
	into *movdf_insn_sp32.
	(*movdf_insn_sp64_novis3, *movdf_insn_sp64_vis3,
	*movdf_insn_sp64_no_fpu): Consolidate into one pattern called
	*movdf_insn_sp64.
	(*zero_extendsidi2_insn_sp64_novis3,
	*zero_extendsidi2_insn_sp64_vis3): Consolidate into one pattern
	called *zero_extendsidi2_insn_sp64.
	(*sign_extendsidi2_insn_novis3, *sign_extendsidi2_insn_vis3):
	Consolidate into one pattern named *sign_extendsidi2_insn.
	(*mov<VM32:mode>_insn_novis3, *mov<VM32:mode>_insn_vis3):
	Consolidate into one pattern named *mov<VM32:mode>_insn.
	(*mov<VM64:mode>_insn_sp64_novis3,
	*mov<VM64:mode>_insn_sp64_novis3): Consolidate into one pattern
	named *mov<VM64:mode>_insn_sp64.
	(*mov<VM64:mode>_insn_sp32_novis3,
	*mov<VM64:mode>_insn_sp32_vis3): Consolidate into one pattern
	named *mov<VM64:mode>_insn_sp32.

From-SVN: r180407
2011-10-24 14:53:38 -07:00
Teresa Johnson 3c5bc77d7f MAINTAINERS (Write After Approval): Add myself.
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r180405
2011-10-24 21:26:47 +00:00
Andreas Krebbel 93a90db6b0 tree-ssa-strlen.c (get_string_length): Change assertion to STPCPY.
2011-10-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* tree-ssa-strlen.c (get_string_length): Change assertion to STPCPY.
	(zero_length_string): Change assertion to accept strinfo without
	length but with stmt instead.
	Set the endptr pointer also if starting a new chain.
	(adjust_related_strinfos): Ignore strinfos marked for delayed
	length computation.
	(handle_builtin_strcpy): Mark earlier strinfo elements also for
	delayed length computation.

2011-10-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* gcc.dg/strlenopt-22.c: New testcase.
	* gcc.dg/strlenopt-4.c: Change scan value for s390(x).

From-SVN: r180402
2011-10-24 20:14:35 +00:00
Ian Lance Taylor 980889d814 Error if naked return when result variables are shadowed.
From-SVN: r180401
2011-10-24 19:44:18 +00:00
Jonathan Wakely d41c3b8947 49668.cc: Add missing dg-require.
* testsuite/30_threads/async/49668.cc: Add missing dg-require.
	* testsuite/30_threads/packaged_task/49668.cc: Likewise.

From-SVN: r180400
2011-10-24 20:11:31 +01:00
Uros Bizjak d00fe66276 sse-5.c (dg-options): Add -mno-sse.
* gcc.target/i386/sse-5.c (dg-options): Add -mno-sse.
	Remove -march=i386.
	(dg-skip-if): Remove.
	* gcc.target/i386/funcspec-1.c: Ditto.
	* gcc.target/i386/funcspec-3.c (dg-options): Add -mno-sse3.

From-SVN: r180397
2011-10-24 20:04:37 +02:00
Georg-Johann Lay 3f6a1bb12d re PR target/50820 ([avr] Use EIND consistently)
PR target/50820
	Port from 4.6 branch r180379
	* doc/invoke.texi (AVR Options): New subsubsection to explain EIND
	handling and indirect jump/calls on devices > 128k.

From-SVN: r180388
2011-10-24 14:49:47 +00:00
Anatoly Sokolov 3d33d151c1 re PR target/49824 ([avr] Missing documentation for OS_task and OS_main attributes)
PR target/49824
	* doc/extend.texi (Declaring Attributes of Functions):
	Document OS_main and OS_task attributes.
	(Specifying Attributes of Variables): Move up
	subsection "AVR Variable Attributes" as of alphabetical order.


Co-Authored-By: Georg-Johann Lay <avr@gjlay.de>

From-SVN: r180385
2011-10-24 14:45:51 +00:00
Richard Guenther 7b7b1813da tree-vect-stmts.c (vect_get_vec_def_for_operand): Convert constants to vector element type.
2011-10-24  Richard Guenther  <rguenther@suse.de>

	* tree-vect-stmts.c (vect_get_vec_def_for_operand): Convert constants
	to vector element type.
	(vectorizable_assignment): Bail out for non-mode-precision operations.
	(vectorizable_shift): Likewise.
	(vectorizable_operation): Likewise.
	(vectorizable_type_demotion): Likewise.
	(vectorizable_type_promotion): Likewise.
	(vectorizable_store): Handle non-mode-precision stores.
	(vectorizable_load): Handle non-mode-precision loads.
	(get_vectype_for_scalar_type_and_size): Return a vector type
	for non-mode-precision integers.
	* tree-vect-loop.c (vectorizable_reduction): Bail out for
	non-mode-precision reductions.

	* gcc.dg/vect/vect-bool-1.c: New testcase.

From-SVN: r180384
2011-10-24 14:24:36 +00:00
Julian Brown 695074beca m68k.c (notice_update_cc): Tighten condition for setting CC_REVERSED for FP comparisons.
gcc/
	* config/m68k/m68k.c (notice_update_cc): Tighten condition for
	setting CC_REVERSED for FP comparisons.

From-SVN: r180383
2011-10-24 13:47:09 +00:00
Richard Guenther 0a500dd3ac re PR tree-optimization/50838 (ice in refs_may_alias_p_1 with -O3)
2011-10-24  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/50838
	* tree-data-ref.c (dr_analyze_indices): Properly canonicalize
	a MEM_REF base if we change it.

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

From-SVN: r180381
2011-10-24 12:31:01 +00:00
Arnaud Charlet 30e1709cc9 Fix date.
From-SVN: r180380
2011-10-24 14:28:46 +02:00
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