Commit Graph

111514 Commits

Author SHA1 Message Date
Arnaud Charlet
8c889ae483 [multiple changes]
2011-08-29  Thomas Quinot  <quinot@adacore.com>

	* s-pooglo.adb: Minor reformatting.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch5.adb (Expand_N_Assignment_Statement): if the left-hand side is
	an indexed component of a packed array whose element type is a record
	with a representation clause different from that of the right-hand
	side, generate a temporary to minimuze the number of bit-field
	operations generated.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

	* exp_util.adb (Insert_Actions): Use clauses can be part of lists of
	declarations, and thus are likely insertion points for actions.

2011-08-29  Bob Duff  <duff@adacore.com>

	* einfo.ads: Minor comment fix.

From-SVN: r178182
2011-08-29 11:41:15 +02:00
Arnaud Charlet
1a07a71a4b [multiple changes]
2011-08-29  Robert Dewar  <dewar@adacore.com>

	* frontend.adb, gnat1drv.adb: Minor reformatting.

2011-08-29  Tristan Gingold  <gingold@adacore.com>

	* s-pooglo.adb (Allocate, Deallocate): Take into account the alignment.
	* a-fihema.adb (Allocate, Deallocate): Ditto.  Possibly add padding
	space in front of the header.

From-SVN: r178181
2011-08-29 11:38:56 +02:00
Johannes Kanig
4bcd641141 frontend.adb (Frontend): Exit after creating Standard package when -gnatd.H is present.
2011-08-29  Johannes Kanig  <kanig@adacore.com>

	* frontend.adb (Frontend): Exit after creating Standard package when
	-gnatd.H is present.
	* gnat1drv.adb (Gnat1drv): Call Backend right away when -gnatd.H is
	present.

From-SVN: r178180
2011-08-29 11:36:59 +02:00
Robert Dewar
f0f88eb6da exp_ch9.adb, [...]: Minor reformatting.
2011-08-29  Robert Dewar  <dewar@adacore.com>

	* exp_ch9.adb, mlib-prj.adb, prj.adb, prj.ads, ttypes.ads, sem_ch4.adb,
	makeutl.adb, makeutl.ads, atree.ads, snames.adb-tmpl,
	snames.ads-tmpl: Minor reformatting.

From-SVN: r178179
2011-08-29 11:34:19 +02:00
Philippe Gil
3e37be71aa prj.adb (Reset_Units_In_Table): New procedure.
2011-08-29  Philippe Gil  <gil@adacore.com>

	* prj.adb (Reset_Units_In_Table): New procedure.
	Reset units to avoid access to freed memory.

From-SVN: r178178
2011-08-29 11:30:33 +02:00
Arnaud Charlet
94fb760844 [multiple changes]
2011-08-29  Thomas Quinot  <quinot@adacore.com>

	* get_scos.adb: When reading a P statement SCO without a pragma name
	(from an older ALI file), ensure that the Pragma_Name component is set
	to Unknown_Pragma (not left uninitialized).

2011-08-29  Vincent Celier  <celier@adacore.com>

	* makeutl.adb (Get_Directories): New procedure moved from Buildgpr and
	modified to compute correctly the object path of a SAL project that is
	extending another library project.
	(Write_Path_File): New procedure.
	* makeutl.ads (Directories): New table moved from Buildgpr
	(Get_Directories): New procedure moved from Buildgpr
	(Write_Path_File): New procedure
	* mlib-prj.adb (Build_Library): Use Makeutl.Get_Directories to set the
	paths before binding SALs, instead of Set_Ada_Paths.
	* prj-env.adb (Set_Path_File_Var): Procedure has been moved to package
	Prj.
	* prj.adb (Set_Path_File_Var): New procedure moved from Prj.Env
	(Current_Source_Path_File_Of): New function
	(Set_Current_Object_Path_File_Of): New procedure
	(Current_Source_Object_File_Of): New function
	(Set_Current_Object_Path_File_Of): New procedure
	* prj.ads (Set_Path_File_Var): New procedure moved from Prj.Env
	(Current_Source_Path_File_Of): New function
	(Set_Current_Object_Path_File_Of): New procedure
	(Current_Source_Object_File_Of): New function
	(Set_Current_Object_Path_File_Of): New procedure

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch5.adb (Expand_N_Assignment_Statement): For an assignment to a
	packed entity, use a bit-field assignment only if there is no change of
	representation.

From-SVN: r178177
2011-08-29 11:28:10 +02:00
Arnaud Charlet
c5ecd6b73c [multiple changes]
2011-08-29  Thomas Quinot  <quinot@adacore.com>

	* rtsfind.ads, exp_ch3.adb (In_Runtime): Minor code improvement, use
	Is_RTU instead of using Chars comparisons.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

	* exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do not create a
	temporary object if the actual is constrained, and the discriminants
	read from the stream don't match.

2011-08-29  Tristan Gingold  <gingold@adacore.com>

	* sem_attr.adb, exp_attr.adb: Add handling of
	Attribute_System_Allocator_Alignment
	* snames.ads-tmpl: Add Name_System_Allocator_Alignment and
	Attribute_System_Allocator_Alignment.
	* ttypes.ads, get_targ.ads: Add Get_System_Allocator_Alignment.
	* gcc-interface/targtyps.c, gcc-interface/utils2.c,
	gcc-interface/gigi.h: Renames get_target_default_allocator_alignment to
	get_target_system_allocator_alignment.

2011-08-29  Arnaud Charlet  <charlet@adacore.com>

	* gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
	dependencies.

From-SVN: r178176
2011-08-29 11:24:55 +02:00
Thomas Koenig
e7898e54f4 re PR libfortran/50192 (Wrong character comparision with wide strings)
2011-08-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/50192
	* intrinsics/string_intrinsics.c (memcmp_char4):  New function.
	* intrinsics/string_intrinsics_inc.c:  New macro MEMCMP, either
	set to memcmp or memcmp_char4.
	(compare_string):  Use MEMCMP, with correct size for it.
	* libgfortran.h:  Add prototype for memcmp_char4.

2011-08-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/50192
	* gfortran.dg/widechar_compare_1.f90:  New test.

From-SVN: r178173
2011-08-29 09:05:11 +00:00
Richard Guenther
4d59a001d3 gimple-fold.c (gimple_fold_stmt_to_constant_1): Set a location on the built ADDR_EXPR.
2011-08-29  Richard Guenther  <rguenther@suse.de>

	* gimple-fold.c (gimple_fold_stmt_to_constant_1): Set a location
	on the built ADDR_EXPR.

From-SVN: r178172
2011-08-29 09:03:41 +00:00
Arnaud Charlet
8abdac2920 exp_ch3.adb (In_Runtime): Fix typo.
2011-08-29  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch3.adb (In_Runtime): Fix typo.

From-SVN: r178171
2011-08-29 11:00:59 +02:00
Arnaud Charlet
df17060504 [multiple changes]
2011-08-29  Bob Duff  <duff@adacore.com>

	* sem_ch4.adb (Analyze_Allocator): Analyze the subpool specification.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration): If the entity is tagged
	and a separate tag assignment is generated, ensure that the tag
	assignment is analyzed.

From-SVN: r178170
2011-08-29 10:59:28 +02:00
Ed Schonberg
864a4236aa atree.ads, atree.adb (Copy_Separate_List): New function that applies Copy_Separate_Tree to a list of nodes.
2011-08-29  Ed Schonberg  <schonberg@adacore.com>

	* atree.ads, atree.adb (Copy_Separate_List): New function that applies
	Copy_Separate_Tree to a list of nodes. Used to create disjoint copies
	of statement lists that may contain local declarations.
	(Expand_N_Timed_Entry_Call): Use Copy_Separate_List to duplicate the
	triggering statements needed for the expansion of this construct, when
	the trigger is a dispatching call to a synchronized primitive.

From-SVN: r178169
2011-08-29 10:56:40 +02:00
Arnaud Charlet
7f394c1d9b gnat_rm.texi: Add doc for 'Elab_Subp_Body.
2011-08-29  Arnaud Charlet  <charlet@adacore.com>

	* gnat_rm.texi: Add doc for 'Elab_Subp_Body.
	* bindgen.adb: Add comments.
	* snames.adb-tmpl (Is_Attribute_Name): Only recognize 'Elab_Subp_Body
	in CodePeer mode.

From-SVN: r178168
2011-08-29 10:55:18 +02:00
Jakub Jelinek
304fe432e5 re PR debug/50215 (FAIL: gcc.dg/guality/pr45882.c)
PR debug/50215
	* var-tracking.c (create_entry_value): Call cselib_lookup_from_insn
	before adding ENTRY_VALUE to val->locs.

From-SVN: r178167
2011-08-29 10:55:02 +02:00
Robert Dewar
2c1a2cf39e exp_attr.adb: Minor reformatting.
2011-08-29  Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb: Minor reformatting.
	Minor code reorganization and commenting.
	* par_sco.adb, checks.adb, sem_attr.adb, get_scos.adb: Minor
	reformatting.

From-SVN: r178166
2011-08-29 10:54:00 +02:00
Arnaud Charlet
0bfc9a64c3 [multiple changes]
2011-08-29  Thomas Quinot  <quinot@adacore.com>

	* get_scos.adb: Ignore chaining indicators not currently supported
	by Ada.

2011-08-29  Arnaud Charlet  <charlet@adacore.com>

	* system.ads: Minor editing.

2011-08-29  Arnaud Charlet  <charlet@adacore.com>

	* bindgen.adb (Gen_Elab_Calls): Generate calls to subp'Elab_Subp_Body in
	CodePeer mode.
	* sem_attr.ads, sem_attr.adb, exp_Attr.adb, sem_ch6.adb: Add handling of
	Attribute_Elab_Subp_Body.
	* snames.ads-tmpl (Attribute_Elab_Subp_Body, Name_Elab_Subp_Body): New.
	* sem_util.adb: Update comments.

From-SVN: r178165
2011-08-29 10:52:00 +02:00
Thomas Quinot
828d4cf0c9 par_sco.adb, [...]: Record pragma name for each SCO statement corresponding to a pragma.
2011-08-29  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb, scos.adb, scos.ads, put_scos.adb, get_scos.adb: Record
	pragma name for each SCO statement corresponding to a pragma.

From-SVN: r178164
2011-08-29 10:49:48 +02:00
Arnaud Charlet
5cd7bb1538 [multiple changes]
2011-08-29  Arnaud Charlet  <charlet@adacore.com>

	* opt.ads: Minor editing.

2011-08-29  Yannick Moy  <moy@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Remove options for ALFA mode
	that only made sense for CodePeer mode.

2011-08-29  Jose Ruiz  <ruiz@adacore.com>

	* targparm.ads (Support_64_Bit_Divides_On_Target): Remove this flag
	which is no longer used.
	* targparm.adb (S64, S64_Str, Get_Target_Parameters): Remove the
	handling of the 64-bit division check.
	* exp_ch4.adb (Expand_N_Op_Divide): Remove the check for 64-bit
	division available.
	* system*.ads (Support_64_Bit_Divides): Remove this flag which is no
	longer used.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

	* get_scos.adb: Minor reformatting.

From-SVN: r178163
2011-08-29 10:46:47 +02:00
Arnaud Charlet
25b589cbd5 [multiple changes]
2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Process_Statements_For_Controlled_Objects): Whenever a
	statement list is wrapped in a block, the block is explicitly analyzed
	in order to properly redecorate the entities and create a servicing
	finalizer.

2011-08-29  Tristan Gingold  <gingold@adacore.com>

	* sinfo.ads, sinfo.adb (Zero_Cost_Handling): Remove.
	(Set_Zero_Cost_Handling): Remove.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting

From-SVN: r178162
2011-08-29 10:40:53 +02:00
Arnaud Charlet
1197ddb11e [multiple changes]
2011-08-29  Geert Bosch  <bosch@adacore.com>

	* s-vaflop-vms-alpha.adb (Neg_F): Use subtraction instead of negation
	instruction, as the latter may produce -0.0, which is not a valid VAX
	F float number.
	(Neg_G): Likewise for VAX F float.

2011-08-29  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb: Minor reformatting.

2011-08-29  Yannick Moy  <moy@adacore.com>

	* sem_ch3.adb: Minor comment update.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

	* checks.adb (Apply_Type_Conversion_Checks): Use the Underlying_Type of
	the operand type.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb (Traverse_Declarations_Or_Statements): Do not flush
	current statement sequence on a generic instantiation or a subprogram
	declaration.

From-SVN: r178161
2011-08-29 10:36:28 +02:00
Arnaud Charlet
8f66cda7be [multiple changes]
2011-08-29  Robert Dewar  <dewar@adacore.com>

	* sem_type.adb, einfo.ads, freeze.adb, exp_ch4.adb, sem_ch13.adb:
	Minor reformatting.

2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
	Correct the check which involves the freeze node of a controlled or
	access-to-controlled type.

2011-08-29  Geert Bosch  <bosch@adacore.com>

	* sem_warn.adb (Check_Code_Statement): Remove check for consecutive Asm
	statements.
	* s-vaflop-vms-alpha.adb: Remove bogus Volatile => True arguments from
	Asm statements.

From-SVN: r178160
2011-08-29 10:32:46 +02:00
Arnaud Charlet
cf161d6620 [multiple changes]
2011-08-29  Yannick Moy  <moy@adacore.com>

	* sem_ch3.adb (Array_Type_Declaration): Insert a subtype declaration
	for every index type and component type that is not a subtype_mark.
	(Process_Subtype): Set Etype of subtype.

2011-08-29  Robert Dewar  <dewar@adacore.com>

	* a-cbmutr.adb, a-cimutr.adb, a-comutr.adb, prj-nmsc.adb: Minor code
	reorganization.  Minor reformatting.

From-SVN: r178159
2011-08-29 10:30:02 +02:00
Arnaud Charlet
7cc83cd8a5 [multiple changes]
2011-08-29  Steve Baird  <baird@adacore.com>

	* exp_ch4.adb (Expand_N_Op_Expon): Suppress N_Op_Expon node expansion
	for CodePeer and ALFA modes.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

	* sem_type.adb (Collect_Interps): Within an instance, collect a homonym
	that comes from an enclosing scope if it is not the renaming of an
	actual, to handle properly a spurious ambiguity in an instance.

From-SVN: r178158
2011-08-29 10:26:40 +02:00
Arnaud Charlet
76af413754 [multiple changes]
2011-08-29  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch13.adb (Alignment_Check_For_Esize_Change): Rename to...
	(Alignment_Check_For_Size_Change): ...this.  Add SIZE parameter and
	use it instead of the Esize of the first parameter.
	(Analyze_Attribute_Definition_Clause) <Object_Size>: Adjust call to
	above change.
	<Size>: Likewise.  Call it for composite types on the RM size.

2011-08-29  Yannick Moy  <moy@adacore.com>

	* exp_ch4.adb (Expand_N_Op_Not): Do not expand not on array.
	* sem_util.adb (Unique_Name): Correct behaviour for names of
	compilation units.

From-SVN: r178157
2011-08-29 10:24:15 +02:00
Arnaud Charlet
9b20e59bb3 [multiple changes]
2011-08-29  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb (Check_Precondition_Postcondition): In formal
	verification mode, analyze pragma expression for correctness, for
	pre/post on library-level subprogram, as it is not expanded later.

2011-08-29  Yannick Moy  <moy@adacore.com>

	* exp_aggr.adb (Expand_Array_Aggregate): Do not expand array aggregates
	in formal verification.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

	* sem_util.adb: Minor reformatting.
	* freeze.adb, sem_ch13.adb: Fix comment: Bit_Order is an attribute,
	there's no pragma.
	* par_sco.ads, par_sco.adb: Update comments.

2011-08-29  Yannick Moy  <moy@adacore.com>

	* einfo.adb, einfo.ads: Remove flag Is_Postcondition_Proc and
	associated getter/setter.
	* sem_ch6.adb: Remove reference to Is_Postcondition_Proc.

2011-08-29  Vincent Celier  <celier@adacore.com>

	* prj-attr.adb: New Compiler attribute Dependency_Kind and Language_Kind
	* prj-conf.adb: Add_Default_GNAT_Naming_Scheme: Add a package Compiler
	with declarations for Language_Kind and Dependency_Kind for Ada.
	* prj-nmsc.adb (Check_Unit_Name): New name of procedure Check_Ada_Name
	(Process_Compiler): Take into account the new attributes Dependency_Kind
	and Language_Kind.
	(Check_Configuration): Check if language kind is unit based, not if the
	language name is Ada.
	(Process_Exceptions_Unit_Based): Ditto
	(Add_Language): Remove default additions of language and dependency kind
	* prj.ads: Minor comment change
	* snames.ads-tmpl: New standard names Dependency_Kind and Language_Kind

2011-08-29  Johannes Kanig  <kanig@adacore.com>

	* debug.adb: Update comments.

From-SVN: r178156
2011-08-29 10:21:24 +02:00
GCC Administrator
6d2a312ec4 Daily bump.
From-SVN: r178152
2011-08-29 00:18:54 +00:00
Paolo Carlini
75f5cbb17b move.h (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Remove workaround for c++/49045.
2011-08-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/move.h (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Remove
	workaround for c++/49045.
	* include/bits/algorithmfwd.h: Likewise.

From-SVN: r178147
2011-08-28 21:05:48 +00:00
Dodji Seketeli
892a371f3b Fix the use of linemap_add and remove unnecessary kludge
libcpp/

	* line-map.c (linemap_add): Assert that reason must not be
	LC_RENAME when called for the first time on a "main input file".

c-family/

	* c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as it's
	the first time it's being called on this main TU.

gcc/lto/

	* lto-lang.c (lto_init): Likewise.  Also, avoid calling
	linemap_add twice.

gcc/fortran/

	* scanner.c (load_file): Don't abuse LC_RENAME reason while
	(indirectly) calling linemap_add.

From-SVN: r178146
2011-08-28 22:14:46 +02:00
Jason Merrill
e90abaa0a2 Core DR 342 PR c++/48582
Core DR 342
	PR c++/48582
	* pt.c (check_valid_ptrmem_cst_expr): A null member pointer value
	is valid in C++11.
	(convert_nontype_argument): Likewise.  Implicitly convert nullptr
	and do constant folding.
	* mangle.c (write_template_arg_literal): Mangle null member
	pointer values as 0.
	* call.c (null_member_pointer_value_p): New.
	* cp-tree.h: Declare it.

From-SVN: r178144
2011-08-28 11:38:29 -04:00
Joseph Myers
2aef967bc8 * ja.po: Update.
From-SVN: r178142
2011-08-28 13:38:57 +01:00
Mikael Pettersson
76725a03ea re PR bootstrap/50218 (tree-ssa-loop-ivopts.c triggers -Werror=maybe-uninitialized breaking i686-linux bootstrap)
2011-08-28  Mikael Pettersson  <mikpe@it.uu.se>

	PR bootstrap/50218
	* tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Initialize
	comp.

From-SVN: r178141
2011-08-28 12:08:41 +00:00
Thomas Koenig
3d2244b97f re PR fortran/48066 (Segfault with SUM of zero-sized array)
2011-08-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/40866
	* generated/iall_i1.c: Regenerated.
	* generated/iall_i16.c: Regenerated.
	* generated/iall_i2.c: Regenerated.
	* generated/iall_i4.c: Regenerated.
	* generated/iall_i8.c: Regenerated.
	* generated/iany_i1.c: Regenerated.
	* generated/iany_i16.c: Regenerated.
	* generated/iany_i2.c: Regenerated.
	* generated/iany_i4.c: Regenerated.
	* generated/iany_i8.c: Regenerated.
	* generated/iparity_i1.c: Regenerated.
	* generated/iparity_i16.c: Regenerated.
	* generated/iparity_i2.c: Regenerated.
	* generated/iparity_i4.c: Regenerated.
	* generated/iparity_i8.c: Regenerated.
	* generated/norm2_r10.c: Regenerated.
	* generated/norm2_r16.c: Regenerated.
	* generated/norm2_r4.c: Regenerated.
	* generated/norm2_r8.c: Regenerated.
	* generated/parity_l1.c: Regenerated.
	* generated/parity_l16.c: Regenerated.
	* generated/parity_l2.c: Regenerated.
	* generated/parity_l4.c: Regenerated.
	* generated/parity_l8.c: Regenerated.
	* generated/misc_specifics.F90: Regenerated (comment change).
	* generated/_abs_c10.F90: Regenerated (comment change).
	* generated/_abs_c16.F90: Regenerated (comment change).
	* generated/_abs_c4.F90: Regenerated (comment change).
	* generated/_abs_c8.F90: Regenerated (comment change).
	* generated/_abs_i16.F90: Regenerated (comment change).
	* generated/_abs_i4.F90: Regenerated (comment change).
	* generated/_abs_i8.F90: Regenerated (comment change).
	* generated/_abs_r10.F90: Regenerated (comment change).
	* generated/_abs_r16.F90: Regenerated (comment change).
	* generated/_abs_r4.F90: Regenerated (comment change).
	* generated/_abs_r8.F90: Regenerated (comment change).
	* generated/_acosh_r10.F90: Regenerated (comment change).
	* generated/_acosh_r16.F90: Regenerated (comment change).
	* generated/_acosh_r4.F90: Regenerated (comment change).
	* generated/_acosh_r8.F90: Regenerated (comment change).
	* generated/_acos_r10.F90: Regenerated (comment change).
	* generated/_acos_r16.F90: Regenerated (comment change).
	* generated/_acos_r4.F90: Regenerated (comment change).
	* generated/_acos_r8.F90: Regenerated (comment change).
	* generated/_aimag_c10.F90: Regenerated (comment change).
	* generated/_aimag_c16.F90: Regenerated (comment change).
	* generated/_aimag_c4.F90: Regenerated (comment change).
	* generated/_aimag_c8.F90: Regenerated (comment change).
	* generated/_aint_r10.F90: Regenerated (comment change).
	* generated/_aint_r16.F90: Regenerated (comment change).
	* generated/_aint_r4.F90: Regenerated (comment change).
	* generated/_aint_r8.F90: Regenerated (comment change).
	* generated/_anint_r10.F90: Regenerated (comment change).
	* generated/_anint_r16.F90: Regenerated (comment change).
	* generated/_anint_r4.F90: Regenerated (comment change).
	* generated/_anint_r8.F90: Regenerated (comment change).
	* generated/_asinh_r10.F90: Regenerated (comment change).
	* generated/_asinh_r16.F90: Regenerated (comment change).
	* generated/_asinh_r4.F90: Regenerated (comment change).
	* generated/_asinh_r8.F90: Regenerated (comment change).
	* generated/_asin_r10.F90: Regenerated (comment change).
	* generated/_asin_r16.F90: Regenerated (comment change).
	* generated/_asin_r4.F90: Regenerated (comment change).
	* generated/_asin_r8.F90: Regenerated (comment change).
	* generated/_atan2_r10.F90: Regenerated (comment change).
	* generated/_atan2_r16.F90: Regenerated (comment change).
	* generated/_atan2_r4.F90: Regenerated (comment change).
	* generated/_atan2_r8.F90: Regenerated (comment change).
	* generated/_atanh_r10.F90: Regenerated (comment change).
	* generated/_atanh_r16.F90: Regenerated (comment change).
	* generated/_atanh_r4.F90: Regenerated (comment change).
	* generated/_atanh_r8.F90: Regenerated (comment change).
	* generated/_atan_r10.F90: Regenerated (comment change).
	* generated/_atan_r16.F90: Regenerated (comment change).
	* generated/_atan_r4.F90: Regenerated (comment change).
	* generated/_atan_r8.F90: Regenerated (comment change).
	* generated/_conjg_c10.F90: Regenerated (comment change).
	* generated/_conjg_c16.F90: Regenerated (comment change).
	* generated/_conjg_c4.F90: Regenerated (comment change).
	* generated/_conjg_c8.F90: Regenerated (comment change).
	* generated/_cosh_r10.F90: Regenerated (comment change).
	* generated/_cosh_r16.F90: Regenerated (comment change).
	* generated/_cosh_r4.F90: Regenerated (comment change).
	* generated/_cosh_r8.F90: Regenerated (comment change).
	* generated/_cos_c10.F90: Regenerated (comment change).
	* generated/_cos_c16.F90: Regenerated (comment change).
	* generated/_cos_c4.F90: Regenerated (comment change).
	* generated/_cos_c8.F90: Regenerated (comment change).
	* generated/_cos_r10.F90: Regenerated (comment change).
	* generated/_cos_r16.F90: Regenerated (comment change).
	* generated/_cos_r4.F90: Regenerated (comment change).
	* generated/_cos_r8.F90: Regenerated (comment change).
	* generated/_dim_i16.F90: Regenerated (comment change).
	* generated/_dim_i4.F90: Regenerated (comment change).
	* generated/_dim_i8.F90: Regenerated (comment change).
	* generated/_dim_r10.F90: Regenerated (comment change).
	* generated/_dim_r16.F90: Regenerated (comment change).
	* generated/_dim_r4.F90: Regenerated (comment change).
	* generated/_dim_r8.F90: Regenerated (comment change).
	* generated/_exp_c10.F90: Regenerated (comment change).
	* generated/_exp_c16.F90: Regenerated (comment change).
	* generated/_exp_c4.F90: Regenerated (comment change).
	* generated/_exp_c8.F90: Regenerated (comment change).
	* generated/_exp_r10.F90: Regenerated (comment change).
	* generated/_exp_r16.F90: Regenerated (comment change).
	* generated/_exp_r4.F90: Regenerated (comment change).
	* generated/_exp_r8.F90: Regenerated (comment change).
	* generated/_log10_r10.F90: Regenerated (comment change).
	* generated/_log10_r16.F90: Regenerated (comment change).
	* generated/_log10_r4.F90: Regenerated (comment change).
	* generated/_log10_r8.F90: Regenerated (comment change).
	* generated/_log_c10.F90: Regenerated (comment change).
	* generated/_log_c16.F90: Regenerated (comment change).
	* generated/_log_c4.F90: Regenerated (comment change).
	* generated/_log_c8.F90: Regenerated (comment change).
	* generated/_log_r10.F90: Regenerated (comment change).
	* generated/_log_r16.F90: Regenerated (comment change).
	* generated/_log_r4.F90: Regenerated (comment change).
	* generated/_log_r8.F90: Regenerated (comment change).
	* generated/_mod_i16.F90: Regenerated (comment change).
	* generated/_mod_i4.F90: Regenerated (comment change).
	* generated/_mod_i8.F90: Regenerated (comment change).
	* generated/_mod_r10.F90: Regenerated (comment change).
	* generated/_mod_r16.F90: Regenerated (comment change).
	* generated/_mod_r4.F90: Regenerated (comment change).
	* generated/_mod_r8.F90: Regenerated (comment change).
	* generated/_sign_i16.F90: Regenerated (comment change).
	* generated/_sign_i4.F90: Regenerated (comment change).
	* generated/_sign_i8.F90: Regenerated (comment change).
	* generated/_sign_r10.F90: Regenerated (comment change).
	* generated/_sign_r16.F90: Regenerated (comment change).
	* generated/_sign_r4.F90: Regenerated (comment change).
	* generated/_sign_r8.F90: Regenerated (comment change).
	* generated/_sinh_r10.F90: Regenerated (comment change).
	* generated/_sinh_r16.F90: Regenerated (comment change).
	* generated/_sinh_r4.F90: Regenerated (comment change).
	* generated/_sinh_r8.F90: Regenerated (comment change).
	* generated/_sin_c10.F90: Regenerated (comment change).
	* generated/_sin_c16.F90: Regenerated (comment change).
	* generated/_sin_c4.F90: Regenerated (comment change).
	* generated/_sin_c8.F90: Regenerated (comment change).
	* generated/_sin_r10.F90: Regenerated (comment change).
	* generated/_sin_r16.F90: Regenerated (comment change).
	* generated/_sin_r4.F90: Regenerated (comment change).
	* generated/_sin_r8.F90: Regenerated (comment change).
	* generated/_sqrt_c10.F90: Regenerated (comment change).
	* generated/_sqrt_c16.F90: Regenerated (comment change).
	* generated/_sqrt_c4.F90: Regenerated (comment change).
	* generated/_sqrt_c8.F90: Regenerated (comment change).
	* generated/_sqrt_r10.F90: Regenerated (comment change).
	* generated/_sqrt_r16.F90: Regenerated (comment change).
	* generated/_sqrt_r4.F90: Regenerated (comment change).
	* generated/_sqrt_r8.F90: Regenerated (comment change).
	* generated/_tanh_r10.F90: Regenerated (comment change).
	* generated/_tanh_r16.F90: Regenerated (comment change).
	* generated/_tanh_r4.F90: Regenerated (comment change).
	* generated/_tanh_r8.F90: Regenerated (comment change).
	* generated/_tan_r10.F90: Regenerated (comment change).
	* generated/_tan_r16.F90: Regenerated (comment change).
	* generated/_tan_r4.F90: Regenerated (comment change).
	* generated/_tan_r8.F90: Regenerated (comment change).

From-SVN: r178140
2011-08-28 10:08:50 +00:00
GCC Administrator
aa35481fbf Daily bump.
From-SVN: r178139
2011-08-28 00:18:34 +00:00
Bernd Schmidt
268987713c rtl.texi (simple_return): Document.
* doc/rtl.texi (simple_return): Document.
	(parallel, PATTERN): Here too.
	* doc/md.texi (return): Mention it's allowed to expand to simple_return
	in some cases.
	(simple_return): Document standard pattern.
	* gengenrtl.c (special_rtx): SIMPLE_RETURN is special.
	* final.c (final_scan_insn): Use ANY_RETURN_P on body.
	* reorg.c (function_return_label, function_simple_return_label):
	New static variables, replacing...
	(end_of_function_label): ... this.
	(simplejump_or_return_p): New static function.
	(optimize_skip, steal_delay_list_from_fallthrough,
	fill_slots_from_thread): Use it.
	(relax_delay_slots): Likewise.  Use ANY_RETURN_P on body.
	(rare_destination, follow_jumps): Use ANY_RETURN_P on body.
	(find_end_label): Take a new arg which is one of the two return
	rtxs.  Depending on which, set either function_return_label or
	function_simple_return_label.  All callers changed.
	(make_return_insns): Make both kinds.
	(dbr_schedule): Adjust for two kinds of end labels.
	* function.c (emit_return_into_block): Set JUMP_LABEL properly.
	* genemit.c (gen_exp): Handle SIMPLE_RETURN.
	(gen_expand, gen_split): Use ANY_RETURN_P.
	* df-scan.c (df_uses_record): Handle SIMPLE_RETURN.
	* rtl.def (SIMPLE_RETURN): New code.
	* ifcvt.c (find_if_case_1): Be more careful about
	redirecting jumps to the EXIT_BLOCK.
	* jump.c (condjump_p, condjump_in_parallel_p, any_condjump_p,
	returnjump_p_1): Handle SIMPLE_RETURNs.
	* print-rtl.c (print_rtx): Likewise.
	* rtl.c (copy_rtx): Likewise.
	* bt-load.c (compute_defs_uses_and_gen): Use ANY_RETURN_P.
	* combine.c (simplify_set): Likewise.
	* resource.c (find_dead_or_set_registers, mark_set_resources):
	Likewise.
	* emit-rtl.c (verify_rtx_sharing, classify_insn, copy_insn_1,
	copy_rtx_if_shared_1, mark_used_flags): Handle SIMPLE_RETURNs.
	(init_emit_regs): Initialize simple_return_rtx.
	* cfglayout.c (fixup_reorder_chain): Pass a JUMP_LABEL to
	force_nonfallthru_and_redirect.
	* rtl.h (ANY_RETURN_P): Allow SIMPLE_RETURN.
	(GR_SIMPLE_RETURN): New enum value.
	(simple_return_rtx): New macro.
	* basic-block.h (force_nonfallthru_and_redirect): Adjust
	declaration.
	* cfgrtl.c (force_nonfallthru_and_redirect): Take a new jump_label
	argument.  All callers changed.  Be careful about what kinds of
	returnjumps to generate.
	* config/i386/3i86.c (ix86_pad_returns, ix86_count_insn_bb,
	ix86_pad_short_function): Likewise.
	* config/arm/arm.c (arm_final_prescan_insn): Handle both kinds
	of return.
	* config/mips/mips.md (any_return): New code_iterator.
	(optab): Add cases for return and simple_return.
	(return): Expand to a simple_return.
	(simple_return): New pattern.
	(*<optab>, *<optab>_internal for any_return): New patterns.
	(return_internal): Remove.
	* config/mips/mips.c (mips_expand_epilogue): Make the last insn
	a simple_return_internal.

From-SVN: r178135
2011-08-27 17:38:58 +00:00
Uros Bizjak
3b0eee5d58 sse.md (*absneg<mode>2): Fix split condition.
* config/i386/sse.md (*absneg<mode>2): Fix split condition.
	(vec_extract_lo_<mode>): Prevent both operands in memory.
	(vec_extract_lo_v16hi): Ditto.
	(*vec_extract_v4sf_mem): Add TARGET_SSE insn constraint.

	* config/i386/sse.md (mulv16qi3): Attach REG_EQUAL note.
	(*sse2_mulv4si3): Ditto.
	(mulv2di3): Ditto.
	* config/i386/i386.c (legitimize_tls_address): Change REG_EQIV
	notes to REG_EQUAL.

From-SVN: r178132
2011-08-27 12:44:00 +02:00
Uros Bizjak
b807694e27 re PR target/50202 (ICE: in final_scan_insn, at final.c:2709 (could not split insn) with __builtin_ia32_pcmpistri128)
PR target/50202
	* config/i386/sse.md (sse4_2_pcmpestr): Emit NOTE_INSN_DELETED note
	when all outputs are unused.
	(sse4_2_pcmpestr): Ditto.

testsuite/ChangeLog:

	PR target/50202
	* gcc.target/i386/pr50202.c: New test.

From-SVN: r178130
2011-08-27 09:46:35 +02:00
GCC Administrator
851018fb85 Daily bump.
From-SVN: r178129
2011-08-27 00:18:32 +00:00
Uros Bizjak
734dfb474f i386.c (ix86_build_const_vector): Rewrite using loop with RTVEC_ELT accessor.
* config/i386/i386.c (ix86_build_const_vector): Rewrite using loop
	with RTVEC_ELT accessor.

From-SVN: r178124
2011-08-26 22:53:38 +02:00
Uros Bizjak
bbeb5bebd6 i386.md (round<mode>2): New expander.
* config/i386/i386.md (round<mode>2): New expander.
	* config/i386/i386.c (enum ix86_builtins): Add
	IX86_BUILTIN_ROUND{PS,PD}_AZ{,256}.
	(struct builtin_description): Add __builtin_ia32_round{ps,pd}_az{,256}
	descriptions.
	(ix86_builtin_vectorized_function): Handle BUILT_IN_ROUND{,F} builtins.

testsuite/ChangeLog:

	* gcc.target/i386/sse_4_1-round-vec.c: New test.
	* gcc.target/i386/sse_4_1-roundf-vec.c: New test.
	* gcc.target/i386/avx-round-vec.c: New test.
	* gcc.target/i386/avx-roundf-vec.c: New test.

From-SVN: r178123
2011-08-26 21:42:30 +02:00
Uros Bizjak
44782c0cba re PR middle-end/50083 (All 32-bit fortran tests fail on 32-bit Solaris)
PR middle-end/50083
	* convert.c (convert_to_integer) <BUIT_IN_ROUND{,F,L}>: Convert
	only when TARGET_C99_FUNCTIONS.
	<BUILT_IN_NEARBYINT{,F,L}>: Ditto.
	<BUILT_IN_RINT{,F,L}>: Ditto.

From-SVN: r178119
2011-08-26 18:10:45 +02:00
Michael Matz
0b11d702db re PR lto/50165 (Huge build time regression (Firefox lto build))
PR lto/50165
	* lto-streamer-in.c (canon_file_name): Initialize new_slot->len;
	don't call strlen twice, use memcpy.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r178118
2011-08-26 16:02:17 +00:00
H.J. Lu
f13677ba99 Add <lzcntintrin.h>, <bmiintrin.h> and <bmi2intrin.h> to <immintrin.h>.
2011-08-26  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/bmi2intrin.h: Allow in <immintrin.h>.
	* config/i386/bmiintrin.h: Likewise.
	* config/i386/lzcntintrin.h: Likewise.

	* config/i386/immintrin.h: Include <lzcntintrin.h>,
	<bmiintrin.h> and <bmi2intrin.h>.

From-SVN: r178117
2011-08-26 08:45:32 -07:00
Rainer Orth
a26479f3cc Disable .init_array/.fini_array support on Solaris (PR target/50166)
PR target/50166
	* acinclude.m4 (gcc_AC_INITFINI_ARRAY): Check count in main.
	* configure: Regenerate.

From-SVN: r178116
2011-08-26 15:17:42 +00:00
Jakub Jelinek
a6c975bd8e trans-decl.c (get_proc_pointer_decl): Set DECL_TLS_MODEL if threadprivate.
* trans-decl.c (get_proc_pointer_decl): Set DECL_TLS_MODEL
	if threadprivate.
	* symbol.c (check_conflict): Allow threadprivate attribute with
	FL_PROCEDURE if proc_pointer.

	* testsuite/libgomp.fortran/threadprivate4.f90: New test.

From-SVN: r178114
2011-08-26 16:55:05 +02:00
Jakub Jelinek
2f27df53e7 cmpxchg16b-1.c: Match also space after the instruction.
* gcc.target/i386/cmpxchg16b-1.c: Match also space after the
	instruction.

From-SVN: r178113
2011-08-26 16:52:54 +02:00
Jakub Jelinek
f1a89dd00c re PR c/50179 (wrong "set but not used" warning)
PR c/50179
	* c-typeck.c (c_process_expr_stmt): Skip over nops and
	call mark_exp_read even if exprv is ADDR_EXPR.

	* c-c++-common/Wunused-var-14.c: New test.

From-SVN: r178110
2011-08-26 16:37:22 +02:00
Richard Sandiford
fd3e0a33c7 df-problems.c (df_note_bb_compute): Pass uses rather than defs to df_set_dead_notes_for_mw.
gcc/
	* df-problems.c (df_note_bb_compute): Pass uses rather than defs
	to df_set_dead_notes_for_mw.

From-SVN: r178109
2011-08-26 14:21:19 +00:00
Richard Guenther
315036fe54 varasm.c (decode_addr_const): Handle MEM_REF[&X, OFF].
2011-08-26  Richard Guenther  <rguenther@suse.de>

	* varasm.c (decode_addr_const): Handle MEM_REF[&X, OFF].

From-SVN: r178107
2011-08-26 14:02:28 +00:00
Tom de Vries
3e0694cf75 ivopts-lt.c: New test.
2011-08-26  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/tree-ssa/ivopts-lt.c: New test.

From-SVN: r178105
2011-08-26 13:38:22 +00:00
Zdenek Dvorak
d8af4ba307 tree-ssa-loop-ivopts.c (struct cost_pair): Add comp field.
2011-08-26  Zdenek Dvorak  <ook@ucw.cz>
	    Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-loop-ivopts.c (struct cost_pair): Add comp field.
	(struct ivopts_data): Add loop_single_exit_p field.
	(niter_for_exit): Change parameter desc_p into return value.  Return
	desc if	desc->may_be_zero.  Free desc if unused.
	(niter_for_single_dom_exit): Change return type.
	(find_induction_variables): Handle changed return type of
	niter_for_single_dom_exit.  Dump may_be_zero.
	(add_candidate_1): Keep original base and step type for IP_ORIGINAL.
	(set_use_iv_cost): Add and handle comp parameter.
	(determine_use_iv_cost_generic, determine_use_iv_cost_address): Add
	comp argument to set_use_iv_cost.
	(strip_wrap_conserving_type_conversions, expr_equal_p)
	(difference_cannot_overflow_p, iv_elimination_compare_lt): New function.
	(may_eliminate_iv): Add comp parameter.  Handle new return type of
	niter_for_exit.  Use loop_single_exit_p.  Use iv_elimination_compare_lt.
	(determine_use_iv_cost_condition): Add comp argument to set_use_iv_cost
	and may_eliminate_iv.
	(rewrite_use_compare): Move call to iv_elimination_compare to ...
	(may_eliminate_iv): Here.
	(tree_ssa_iv_optimize_loop): Initialize loop_single_exit_p.

Co-Authored-By: Tom de Vries <tom@codesourcery.com>

From-SVN: r178104
2011-08-26 13:36:28 +00:00