Commit Graph

103517 Commits

Author SHA1 Message Date
Robert Dewar
22b77f6852 prj-util.adb, [...]: Minor reformatting.
2010-10-05  Robert Dewar  <dewar@adacore.com>

	* prj-util.adb, prj-util.ads, prj.ads, s-vxwext-rtp.adb, sem_ch4.adb,
	sem_ch7.adb, sem_res.adb, sem_type.adb: Minor reformatting.
	Minor code reorganization (use Nkind_In).

From-SVN: r164981
2010-10-05 12:22:52 +02:00
Arnaud Charlet
f2282a5810 [multiple changes]
2010-10-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Analyze_Task_Body_Stub): Diagnose duplicate stub for
	task.

2010-10-05  Vincent Celier  <celier@adacore.com>

	* gnatbind.adb: If the main library file is not for a suitable main
	program, change the error message.

2010-10-05  Vincent Celier  <celier@adacore.com>

	* a-direct.ads: Minor spelling error fixes in comments.
	* gnat_rm.texi: Add three entries in "Implementation Defined
	Characteristics" for the interpretations of the Form parameters in
	Ada.Directories.

From-SVN: r164980
2010-10-05 12:18:09 +02:00
Robert Dewar
3ce5ca7546 exp_ch3.adb, [...]: Minor code reorganization.
2010-10-05  Robert Dewar  <dewar@adacore.com>

	* exp_ch3.adb, exp_ch5.adb, exp_disp.adb, exp_dist.adb, gnatlink.adb,
	makeutl.adb, par-ch6.adb, prj-dect.adb, prj-env.adb, prj-env.ads,
	prj-ext.adb, prj-nmsc.adb, prj-part.adb, prj-pp.ads: Minor code
	reorganization.
	Minor reformatting.

From-SVN: r164979
2010-10-05 12:14:50 +02:00
Arnaud Charlet
96d2756f41 [multiple changes]
2010-10-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Check_Parameterless_Call): If the prefix of 'Address is
	an explicit dereference of an access to function, the prefix is not
	interpreted as a parameterless call.

2010-10-05  Ed Schonberg  <schonberg@adacore.com>

	* exp_attr.adb: For 'Read and 'Write, use full view of base type if
	private.

2010-10-05  Vincent Celier  <celier@adacore.com>

	* make.adb (Switches_Of): Allow wild cards in index of attributes
	Switches.
	* prj-util.adb (Value_Of): When Allow_Wildcards is True, use the index
	of the associative array as a glob regular expression.
	* prj-util.ads (Value_Of (Index, In_Array)): New Boolean parameter
	Allow_Wildcards, defaulted to False.
	(Value_Of (Name, Attribute_Or_Array_Name)): Ditto
	* projects.texi: Document that attribute Switches (<file name>) may
	use wild cards in the index.

2010-10-05  Robert Dewar  <dewar@adacore.com>

	* a-direct.adb, a-direct.ads, back_end.adb, checks.adb,
	einfo.adb: Minor reformatting.
	* debug.adb: Remove obsolete documentation for d.Z flag.

From-SVN: r164978
2010-10-05 12:07:35 +02:00
Vincent Celier
610ef7c0f9 vms_data.ads: Add VMS qualifier /SRC_INFO= corresponding to gnatmake switch --create-info-file=.
2010-10-05  Vincent Celier  <celier@adacore.com>

	* vms_data.ads: Add VMS qualifier /SRC_INFO= corresponding to gnatmake
	switch --create-info-file=.
	* gnat_ugn.texi: Add documentation for new gnatmake switch
	--source-info=

From-SVN: r164977
2010-10-05 12:00:45 +02:00
Arnaud Charlet
1c218ac3ff [multiple changes]
2010-10-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb: Do not elaborate type definition if syntax error.

2010-10-05  Javier Miranda  <miranda@adacore.com>

	* sprint.adb (Sprint_Node_Actual): Improve output of subprogram bodies
	to generate the full-qualified names of its corresponding spec.
	This facilitates locating the corresponing body when reading
	the DG output.

2010-10-05  Thomas Quinot  <quinot@adacore.com>

	* exp_dist.adb (Make_Helper_Function_Name): For a tagged type, use
	canonical name without serial number only if the helper is becoming a
	primitive of the type.

2010-10-05  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Make_DT): Minor code reorganization.

2010-10-05  Ed Schonberg  <schonberg@adacore.com>

	* par-ch6.adb: improve recovery with extra paren in function spec.

2010-10-05  Quentin Ochem  <ochem@adacore.com>

	* prj-tree.ads: Project_Path is now aliased.

2010-10-05  Thomas Quinot  <quinot@adacore.com>

	* checks.adb: Minor reformatting.

2010-10-05  Eric Botcazou  <ebotcazou@adacore.com>

	* mlib-tgt-specific-mingw.adb (No_Argument_List): Delete.
	(Shared_Libgcc): New aliased variable.
	(Shared_Libgcc_Switch): New constant.
	(Build_Dynamic_Library): Pass Shared_Libgcc_Switch to the compiler
	* gcc-interface/Makefile.in (gnatlib-shared-win32): Pass -shared-libgcc
	to the compiler.
	
2010-10-05  Vincent Celier  <celier@adacore.com>

	* prj-part.adb (Parse_Simple_Project): When checking if a child project
	imports its parent project, also look in projects being extended by
	imported projects.

2010-10-05  Eric Botcazou  <ebotcazou@adacore.com>

	* gnat_ugn.texi: Adjust instructions in G.10 Building DLLs with GNAT.

2010-10-05  Javier Miranda  <miranda@adacore.com>

	* exp_cg.adb (Slot_Number): Add support to handle aliased entities.
	(Generate_CG_Output): Switch -gnatd.Z is no longer needed to
	activate this output.

2010-10-05  Arnaud Charlet  <charlet@adacore.com>

	* back_end.adb (Call_Back_End): Generate an error message when scil
	generation is enabled, and no scil back-end (by default) is available.

2010-10-05  Javier Miranda  <miranda@adacore.com>

	* debug.adb: Update documentation because -gnatd.Z is no longer required
	to generate the call-graph information.

2010-10-05  Javier Miranda  <miranda@adacore.com>

	* exp_ch5.adb (Expand_Simple_Function_Return): Rewrite expansion of a
	runtime access check by an equivalent expansion that causes
	no problems in the VM backend. The original expansion was
	not good for the VM backends because when Tagged_Type_Expansion
	is disabled the attribute Access_Disp_Table is not available.

2010-10-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_type.adb (Covers): In a dispatching context, T1 covers T2 if T2
	is class-wide and T1 is its specific type.

2010-10-05  Ed Schonberg  <schonberg@adacore.com>

	* einfo.adb: Add guard to Is_String_Type to prevent cascaded errors.

2010-10-05  Vincent Celier  <celier@adacore.com>

	* back_end.ads: Minor spelling error correction.

2010-10-05  Arnaud Charlet  <charlet@adacore.com>

	* switch-c.adb, gnat1drv.adb (Scan_Front_End_Switches): Disable
	warnings when -gnatC is specified here so that warnings can be
	re-enabled  explicitly.
	(Adjust_Global_Switches): No longer suppress warnings.

2010-10-05  Vincent Celier  <celier@adacore.com>

	* makeutl.adb: Minor reformatting.

2010-10-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb: add guard in Analyze_One_Call to prevent crash when a
	non-discrete type appears as an actual in a call.

From-SVN: r164976
2010-10-05 11:57:10 +02:00
Vincent Celier
dfa8a067ca make.adb (Scan_Make_Arg): Take into account new switch --source-info=file.
2010-10-05  Vincent Celier  <celier@adacore.com>

	* make.adb (Scan_Make_Arg): Take into account new switch
	--source-info=file.
	* makeusg.adb: Add line for new switch --source-info=file.
	* makeutl.ads (Source_Info_Option): New constant String for new builder
	switch.
	* prj-conf.adb: Put subprograms in alphabetical order
	(Process_Project_And_Apply_Config): Read/write an eventual source info
	file, if necessary.
	* prj-nmsc.adb (Look_For_Sources.Get_Sources_From_Source_Info): New
	procedure.
	(Look_For_Sources): If a source info file was successfully read, get the
	source data from the data read from the source info file.
	* prj-util.adb (Source_Info_Table): New table
	(Source_Info_Project_HTable): New hash table
	(Create): New procedure
	(Put (File), Put_Line): New procedures
	(Write_Source_Info_File): New procedure
	(Read_Source_Info_File): New procedure
	(Initialize): New procedure
	(Source_Info_Of): New procedure
	(Next): New procedure
	(Close): When file is an out file, fail if the buffer cannot be written
	or if the file cannot be close successfully.
	(Get_Line): Fail if file is an out file
	* prj-util.ads (Create): New procedure
	(Put (File), Put_Line): New procedures
	(Write_Source_Info_File): New procedure
	(Read_Source_Info_File): New procedure
	(Source_Info_Data): New record type
	(Source_Info_Iterator): New private type
	(Initialize): New procedure
	(Source_Info_Of): New procedure
	(Next): New procedure
	* prj.ads (Project_Tree_Data): New components Source_Info_File_Name and
	Source_Info_File_Exists.

From-SVN: r164975
2010-10-05 11:56:39 +02:00
Arnaud Charlet
a8ef12e56b [multiple changes]
2010-10-05  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb: Fix typo.

2010-10-05  Thomas Quinot  <quinot@adacore.com>

	* lib-writ.adb: Minor reformatting.

2010-10-05  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Access_Definition): Remove useless code.

From-SVN: r164974
2010-10-05 11:42:12 +02:00
Sebastian Huber
79d34420f6 re PR libstdc++/44647 (std::nothrow and std::bad_alloc are coupled)
2010-10-05  Sebastian Huber  <sebastian.huber@embedded-brains.de>
	    Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/44647
	* libsupc++/Makefile.am (sources): Add bad_alloc.cc.
	* libsupc++/new_handler.cc (bad_alloc): Move to ...
	* libsupc++/bad_alloc.cc (bad_alloc): ... here, new file.
	* libsupc++/Makefile.in: Regenerate.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>

From-SVN: r164973
2010-10-05 09:41:57 +00:00
Arnaud Charlet
92817e8977 [multiple changes]
2010-10-05  Emmanuel Briot  <briot@adacore.com>

	* prj-env.adb, prj-env.ads (Set_Path): New subprogram.
	(Deep_Copy): Removed, not used.

2010-10-05  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Add_Internal_Interface_Entities): Code reorganization:
	move code that searches in the list of primitives of a tagged type for
	the entity that will be overridden by user-defined routines.
	* sem_disp.adb (Find_Primitive_Covering_Interface): Move here code
	previously located in routine Add_Internal_Interface_Entities.
	* sem_disp.ads (Find_Primitive_Covering_Interface): Update documentation
	* sem_ch6.adb (New_Overloaded_Entity): Add missing check on
	availability of attribute Alias.

2010-10-05  Ed Falis  <falis@adacore.com>

	* s-taprop-vxworks.adb, s-osinte-vxworks.adb, s-osinte-vxworks.ads,
	s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.adb, s-vxwext-rtp.ads:
	Move definition of intContext to System.OS_Interface.
	Add necessary variants in System.VxWorks.Extensions.

2010-10-05  Doug Rupp  <rupp@adacore.com>

	* s-asthan-vms-alpha.adb: On VMS, a task using
	pragma AST_Entry exhibits a memory leak when the task terminates
	because the vector allocated for the AST interface is not freed. Fixed
	by making the vector a controlled type.

From-SVN: r164972
2010-10-05 11:37:44 +02:00
Emmanuel Briot
eada5fd1cf prj-nmsc.adb (Expand_Subdirectory_Pattern): Check that the prefix in a "**" pattern properly exists...
2010-10-05  Emmanuel Briot  <briot@adacore.com>

	* prj-nmsc.adb (Expand_Subdirectory_Pattern): Check that the prefix in
	a "**" pattern properly exists, and report an error otherwise.

2010-10-05  Emmanuel Briot  <briot@adacore.com>

	* prj-env.ads: Use GNAT.OS_Lib rather than System.OS_Lib.

From-SVN: r164971
2010-10-05 11:32:05 +02:00
Emmanuel Briot
c5be6c3a9d prj-nmsc.adb, [...] (Expand_Subdirectory_Pattern): New subprogram.
2010-10-05  Emmanuel Briot  <briot@adacore.com>

	* prj-nmsc.adb, prj-err.adb (Expand_Subdirectory_Pattern): New
	subprogram.
	Extract some code from Get_Directories, to share with the handling
        of aggregate projects (for the Project_Files attributes)

From-SVN: r164970
2010-10-05 11:29:14 +02:00
Emmanuel Briot
a0a786e30d gnatcmd.adb, [...] (Project_Search_Path): New type.
2010-10-05  Emmanuel Briot  <briot@adacore.com>

	* gnatcmd.adb, prj-proc.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
	switch-m.adb, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-env.adb,
	prj-env.ads, prj-tree.adb, prj-tree.ads (Project_Search_Path): New type.

From-SVN: r164969
2010-10-05 11:26:00 +02:00
Arnaud Charlet
9d9f5f49ae [multiple changes]
2010-10-05  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch5.adb (Make_Field_Expr): Revert previous change (removed).

2010-10-05  Emmanuel Briot  <briot@adacore.com>

	* prj-dect.adb, prj-nmsc.adb, prj-attr.adb, snames.ads-tmpl
	(Aggregate projects): added support for parsing aggregate projects.
	In particular, check the presence and value of the new attributes
	related to aggregate projects, ie Project_Files, Project_Path
	and External.
	(Check_Attribute_Allowed, Check_Package_Allowed,
	Rename_Obsolescent_Attributes): new subprogram, extracting code
	from existing subprogram to keep their sizes smaller.
	(Check_Aggregate_Project, Check_Abstract_Project,
	Check_Missing_Sources): new subprograms
	(Check): remove comments that duplicated either the name of the
	following subprogram call, or the comment on that subprogram.
	* prj-part.adb (Check_Extending_All_Imports): New subprogram, extracted
	from Parse_Single_Project.
	(Check_Aggregate_Imports): new subprogram.

From-SVN: r164968
2010-10-05 11:22:21 +02:00
Arnaud Charlet
98ee5fc477 [multiple changes]
2010-10-05  Vincent Celier  <celier@adacore.com>

	* make.adb (Check): When compiling with -gnatc, recompile if the ALI
	file has not been generated for the current source, for example if it
	has been generated for the spec, but we are compiling the body.

2010-10-05  Bob Duff  <duff@adacore.com>

	* xgnatugn.adb: Remove unused procedure.

From-SVN: r164967
2010-10-05 11:16:23 +02:00
GCC Administrator
de9535785c Daily bump.
From-SVN: r164966
2010-10-05 00:18:20 +00:00
Jakub Jelinek
098db05ef4 re PR debug/45849 (ICE: in emit_note_insn_var_location, at var-tracking.c:7336 with -O -g)
PR debug/45849
	* var-tracking.c (strip_pointer_flags): New function.
	(emit_note_insn_var_location): If rtx_equal_p check failed,
	retry on locations simplified with simplify_replace_fn_rtx
	and strip_pointer_flags as its callback.

	* gcc.dg/debug/pr45849.c: New test.

From-SVN: r164962
2010-10-05 00:02:28 +02:00
Jan Hubicka
b3b9f3d0a8 gimple-fold.c (static_object_in_other_unit_p): Rename to...
* gimple-fold.c (static_object_in_other_unit_p): Rename to...
	(can_refer_decl_in_current_unit_p): ... this one; reverse return
	value; handle comdats too.
	(canonicalize_constructor_val): Use it; handle function_decls
	correctly.
	(gimple_fold_obj_type_ref_known_binfo): Likewise.
	* gimple.c (get_base_address): Accept all kinds of decls.

From-SVN: r164961
2010-10-04 20:59:07 +00:00
Joseph Myers
fa37ed29b9 flags.h (g_switch_value, [...]): Remove.
* flags.h (g_switch_value, g_switch_set): Remove.
	* opts.c (g_switch_value, g_switch_set): Remove.
	* config/g.opt (G): Add Var(g_switch_value).
	* config/alpha/alpha.c (alpha_handle_option): Don't handle -G
	here.
	(alpha_option_override): Check global_options_set.x_g_switch_value
	instead of g_switch_set.
	(alpha_in_small_data_p): Remove cast in comparison with
	g_switch_value.
	* config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
	g_switch_value to unsigned HOST_WIDE_INT.
	* config/frv/frv.c (frv_const_unspec_p): Remove cast in comparison
	with g_switch_value.
	(frv_handle_option): Don't handle -G here.
	(frv_option_override): Check global_options_set.x_g_switch_value
	instead of g_switch_set.  Don't modify g_switch_set.
	(frv_in_small_data_p): Remove cast in comparison with
	g_switch_value.
	* config/frv/frv.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Cast
	g_switch_value to unsigned HOST_WIDE_INT.
	* config/ia64/ia64.c (ia64_handle_option): Don't handle -G here.
	(ia64_option_override): Check global_options_set.x_g_switch_value
	instead of g_switch_set.
	* config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION):
	Remove.
	(lm32_in_small_data_p): Remove cast in comparison with
	g_switch_value.
	* config/lm32/lm32.h (ASM_OUTPUT_ALIGNED_LOCAL,
	ASM_OUTPUT_ALIGNED_COMMON): Cast g_switch_value to unsigned
	HOST_WIDE_INT.
	* config/m32r/m32r.c (m32r_handle_option): Don't handle -G here.
	(m32r_init): Check global_options_set.x_g_switch_value instead of
	g_switch_set.
	(m32r_in_small_data_p): Remove cast in comparison with
	g_switch_value.
	(m32r_file_start): Format g_switch_value with %d.
	* config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_COMMON,
	ASM_OUTPUT_ALIGNED_BSS): Cast g_switch_value to unsigned
	HOST_WIDE_INT.
	* config/microblaze/microblaze.c (microblaze_handle_option): Don't
	handle -G here.
	(microblaze_option_override): Check
	global_options_set.x_g_switch_value instead of g_switch_set.
	* config/mips/mips.c (mips_handle_option): Don't handle -G here.
	(mips_option_override): Check global_options_set.x_g_switch_value
	instead of g_switch_set.
	* config/rs6000/rs6000.c (rs6000_handle_option): Don't handle -G
	here.
	(rs6000_file_start): Format g_switch_value with %d.
	(small_data_operand, rs6000_elf_in_small_data_p): Remove casts in
	comparisons with g_switch_value.
	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Check
	global_options_set.x_g_switch_value instead of g_switch_set.
	* config/rs6000/vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
	global_options_set.x_g_switch_value instead of g_switch_set.
	* config/score/score.c (score_handle_option): Don't handle -G
	here.
	* config/score/score3.c (score3_option_override): Check
	global_options_set.x_g_switch_value instead of g_switch_set.
	* config/score/score7.c (score7_option_override): Check
	global_options_set.x_g_switch_value instead of g_switch_set.

From-SVN: r164960
2010-10-04 21:48:39 +01:00
Vladimir Makarov
22b0982c17 common.opt (fira-coalesce): Remove.
2010-10-04  Vladimir Makarov  <vmakarov@redhat.com>

	* common.opt (fira-coalesce): Remove.

	* doc/invoke.texi (flag_ira_coalesce): Remove.

	* ira-color.c (allocno_coalesced_p): Move before
	copy_freq_compare_func.
	processed_coalesced_allocno_bitmap): Ditto.
	(update_conflict_hard_regno_costs): Don't use
	ALLOCNO_FIRST_COALESCED_ALLOCNO.
	(allocno_cost_compare_func, print_coalesced_allocno): Remove.
	(assign_hard_reg): Assume no coalesced allocnos.
	(get_coalesced_allocnos_attributes): Remove.
	(bucket_allocno_compare_func): Assume no coalesced allocnos.
	(push_allocno_to_stack): Ditto.
	(remove_allocno_from_bucket_and_push): Use
	ira_print_expanded_allocno instead of print_coalesced_allocno.
	(push_allocnos_to_stack): Assume uncoalesced allocnos.
	(all_conflicting_hard_regs_coalesced): Ditto.  Rename to
	all_conflicting_hard_regs.
	(setup_allocno_available_regs_num): Assume uncoalesced allocnos.
	(setup_allocno_left_conflicts_size): Ditto.
	(put_allocno_into_bucket): Ditto.
	(copy_freq_compare_func): Remove.
	(copy_freq_compare_func, merge_allocnos): Move before
	coalesced_pseudo_reg_freq_compare.
	coalesced_allocno_conflict_p): Ditto.
	(coalesced_allocno_conflict_p, coalesce_allocnos): Ditto.  Remove
	parameter.  Assume it true.
	(color_allocnos): Assume uncoalesced allocnos.  Use
	ira_print_expanded_allocno instead of print_coalesced_allocno.
	(ira_sort_regnos_for_alter_reg): Call coalesce_allocnos without
	parameter.

	* ira.c: Remove comment about coalescing.

From-SVN: r164959
2010-10-04 20:37:57 +00:00
Joseph Myers
f770d743df mips.h (target_flags_explicit): Declare for GENERATOR_FILE.
* config/mips/mips.h (target_flags_explicit): Declare for
	GENERATOR_FILE.

From-SVN: r164958
2010-10-04 21:10:06 +01:00
Paolo Carlini
6703f185d4 functional (function<>::swap): Use std::swap.
2010-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/functional (function<>::swap): Use std::swap.
	* include/tr1/functional (function<>::swap): Likewise.

From-SVN: r164952
2010-10-04 17:28:24 +00:00
Andi Kleen
a90163e973 Mark linker Makefile rules for job server build
-fwhopr=jobserver requires telling GNU make that the linker (= lto)
rules support job server, so that the necessary jobserver
information is passed through.

Add + to all the executable targets that run LTO for this purpose.

This improves build performance with a -fwhopr=jobserver
bootstrap (or BUILD_CONFIG=bootstrap-lto) significantly.

I didn't change Ada because that apparently doesn't support LTO.

Passes bootstrap and test suite. Ok to commit?

gcc/

2010-10-04  Andi Kleen <ak@linux.intel.com>

	* Makefile.in (xgcc, cpp, cc1, collect2, lto-wrapper, gcov,
        gcov-dump, cc1-dummy, genprog, build/gcov-iov):
        Add + to build rule.

gcc/cp/

2010-10-04  Andi Kleen <ak@linux.intel.com>

	* Make-lang.in (g++, cc1plus): Add + to build rule.

gcc/fortran/

2010-10-04  Andi Kleen <ak@linux.intel.com>

	* Make-lang.in (gfortran, f951): Add + to build rule.

gcc/java/

2010-10-04  Andi Kleen <ak@linux.intel.com>

	* Make-lang.in (xgcj, jc1, jcf-dump, jvgenmain):
        Add + to build rule.

gcc/lto/

2010-10-04  Andi Kleen <ak@linux.intel.com>

	* Make-lang.in (lto1): Add + to build rule.

gcc/objc/

2010-10-04  Andi Kleen <ak@linux.intel.com>

	* Make-lang.in (cc1obj-dummy, cc1obj): Add + to build rule.

gcc/objcp/

2010-10-04  Andi Kleen <ak@linux.intel.com>

	* Make-lang.in (cc1objplus-dummy, cc1objplus): Add + to build rule.

More plus fixes

From-SVN: r164949
2010-10-04 17:09:45 +00:00
Matthias Klose
6fda54ac81 t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the multilib osdirname if it exists.
2010-10-04  Matthias Klose  <doko@ubuntu.com>

        * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
        multilib osdirname if it exists.
        * config/s390/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.

From-SVN: r164947
2010-10-04 16:51:59 +00:00
Jason Merrill
b95ca5135e tree.c (decl_storage_duration): New.
* tree.c (decl_storage_duration): New.
	* cp-tree.h: Declare it.
	(duration_kind): Return values.

From-SVN: r164944
2010-10-04 12:18:03 -04:00
Jakub Jelinek
828fde809c re PR middle-end/45876 (ICE: verify_gimple failed)
PR middle-end/45876
	* fold-const.c (fold_binary_loc) <case BIT_AND_EXPR>: Use
	arg0's type or its unsigned counterpart as utype.  Convert
	arg1 to utype unconditionally.

	* gcc.c-torture/compile/pr45876.c: New test.

From-SVN: r164943
2010-10-04 17:49:13 +02:00
Arnaud Charlet
bed8af19ec [multiple changes]
2010-10-04  Vincent Celier  <celier@adacore.com>

	* a-direct.adb (Copy_File): Interpret the Form parameter and call
	System.OS_Lib.Copy_File to do the work accordingly. Raise Use_Error if
	the Form parameter contains an incorrect value for field preserve= or
	mode=.
	* a-direct.ads (Create_Directory, Create_Path): Indicate that the Form
	parameter is ignored.
	(Copy_File): Indicate the interpretation of the Form parameter.

2010-10-04  Vincent Celier  <celier@adacore.com>

	* make.adb (Gnatmake): When there are no foreign languages declared and
	a main in attribute Main of the main project does not exist or is a
	source of another project, fail immediately before attempting
	compilation.

2010-10-04  Javier Miranda  <miranda@adacore.com>

	* exp_disp.ads (Convert_Tag_To_Interface): New function which must be
	used to convert a node referencing a tag to a class-wide interface type.
	* exp_disp.adb (Convert_Tag_To_Interface): New function.
	(Expand_Interface_Conversion): Replace invocation of
	Unchecked_Conversion by new function Convert_Tag_To_Interface.
	(Write_DT): Add support for null primitives.
	* exp_ch3.adb (Expand_N_Object_Declaration): For tagged type objects,
	cleanup code that handles interface conversions and avoid unchecked
	conversion of referenced tag components.
	* exp_ch5.adb (Expand_N_Assignment_Statement): Code cleanup. Avoid
	unrequired conversions when generating a dispatching call to _assign.
	* sprint.adb (Write_Itype): Fix wrong output of not null access itypes.

2010-10-04  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb (Expand_N_Op_Not): Handle properly both operands when the
	parent is a binary boolean operation and the operand is an unpacked
	array.
	(Build_Boolean_Array_Proc_Call): If the operands are both negations, the
	operands of the rewritten node are the operands of the negations, not
	the negations themselves.

From-SVN: r164942
2010-10-04 17:07:59 +02:00
Julian Brown
c452684d45 expr.c (expand_assignment): Add assertion to prevent emitting null rtx for movmisalign pattern.
gcc/
	* expr.c (expand_assignment): Add assertion to prevent emitting
	null rtx for movmisalign pattern.
	(expand_expr_real_1): Likewise.
	* config/arm/arm.c (arm_builtin_support_vector_misalignment): New.
	(TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): New. Use above.
	(arm_vector_alignment_reachable): New.
	(TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): New. Use above.
	(neon_vector_mem_operand): Disallow PRE_DEC for misaligned loads.
	(arm_print_operand): Include alignment qualifier in %A.
	* config/arm/neon.md (UNSPEC_MISALIGNED_ACCESS): New constant.
	(movmisalign<mode>): New expander.
	(movmisalign<mode>_neon_store, movmisalign<mode>_neon_load): New
	insn patterns.

	gcc/testsuite/
	* gcc.dg/vect/vect-42.c: Use vect_element_align instead of
	vect_hw_misalign.
	* gcc.dg/vect/vect-60.c: Likewise.
	* gcc.dg/vect/vect-56.c: Likewise.
	* gcc.dg/vect/vect-93.c: Likewise.
	* gcc.dg/vect/no-scevccp-outer-8.c: Likewise.
	* gcc.dg/vect/vect-95.c: Likewise.
	* gcc.dg/vect/vect-96.c: Likewise.
	* gcc.dg/vect/vect-outer-5.c: Use quad-word vectors when available.
	* gcc.dg/vect/slp-25.c: Likewise.
	* gcc.dg/vect/slp-3.c: Likewise.
	* gcc.dg/vect/vect-multitypes-1.c: Likewise.
	* gcc.dg/vect/no-vfa-pr29145.c: Likewise.
	* gcc.dg/vect/vect-multitypes-4.c: Likewise. Use vect_element_align.
	* gcc.dg/vect/vect-109.c: Likewise.
	* gcc.dg/vect/vect-peel-1.c: Likewise.
	* gcc.dg/vect/vect-peel-2.c: Likewise.
	* lib/target-supports.exp
	(check_effective_target_arm_vect_no_misalign): New.
	(check_effective_target_vect_no_align): Use above.
	(check_effective_target_vect_element_align): New.
	(add_options_for_quad_vectors): New.

From-SVN: r164941
2010-10-04 14:59:30 +00:00
Arnaud Charlet
a3f2babd42 [multiple changes]
2010-10-04  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Set_Biased): New procedure, now used throughout, adds
	name of entity to biased warning msg.
	(Analyze_Enumeration_Representation_Clause): Remove attempt to use
	biased rep (wrong and never worked anyway).

2010-10-04  Arnaud Charlet  <charlet@adacore.com>

	* sem_elab.adb: Minor reformatting.

2010-10-04  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb (Expand_N_Null): Handle properly the case of a subtype of
	an access_to_protected subprogram type, and convert null value into
	corresponding aggregate.

2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>

	* gnat_ugn.texi: Clarify first point of 7.1.5 about pragma Inline.

2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>

	* make.adb (Scan_Make_Arg): Pass -Oxxx switches to the linker as well.
	* gnatlink.adb (Gnatlink): Filter out -Oxxx switches for CLI, RTX and
	AAMP.

2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch4.adb (Analyze_Indexed_Component_Form): Remove redundant test
	for N_Operator_Symbol.
	(Indicate_Name_And_Type): Likewise.
	* sem_ch8.adb (Analyze_Subprogram_Renaming): Likewise.
	* sem_res.adb (Resolve): Likewise.
	* sem_type.adb (Add_One_Interp): Likewise.
	(Disambiguate): Likewise.
	
2010-10-04  Vincent Celier  <celier@adacore.com>

	* osint.adb (Read_Library_Info_From_Full): If object timestamp is less
	than ALI file timestamp, return null.

2010-10-04  Vincent Celier  <celier@adacore.com>

	* prj-makr.adb (Finalize): Invoke Pretty_Print with Max_Length set to 79
	* prj-pp.adb (Pretty_Print): New parameter Max_Line_Length, that
	replaces global constant with the same name. When a line is too long,
	indent properly the next continuation line.
	* prj-pp.ads (Pretty_Print): New parameter Max_Line_Length with a range
	from 50 to 255, defaulted to 255, to indicate the maximum length of
	lines in the project file.

2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch7.adb (Analyze_Package_Body_Helper) <Has_Referencer>: New
	Check_Subprogram_Ref function and Check_Subprogram_Refs instantiation
	of Traverse_Func on it to look for subprogram references in a body.
	Call Check_Subprogram_Refs on the body of inlined subprograms at the
	outer level and keep clearing the Is_Public flag of subprograms as long
	as it returns OK.  Do not look at anything else than subprograms once
	an inlined subprogram has been seen.

From-SVN: r164940
2010-10-04 16:09:52 +02:00
Arnaud Charlet
d69cf005d0 [multiple changes]
2010-10-04  Robert Dewar  <dewar@adacore.com>

	* exp_cg.adb: Minor reformatting.

2010-10-04  Javier Miranda  <miranda@adacore.com>

	* exp_cg.adb (Expand_N_Assignment_Statement): Restore tag check when
	the target object is an interface.
	* sem_disp.adb (Propagate_Tag): If the controlling argument is an
	interface type then we generate an implicit conversion to force
	displacement of the pointer to the object to reference the secondary
	dispatch table associated with the interface.

2010-10-04  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Set
	Enumeration_Rep_Expr to point to the literal, not the identifier.
	(Analyze_Enumeration_Representation_Clause): Improve error message for
	size too small for enum rep value
	(Analyze_Enumeration_Representation_Clause): Fix size test to use proper
	size (RM_Size, not Esize).

From-SVN: r164939
2010-10-04 15:59:18 +02:00
Arnaud Charlet
f5d96d0038 [multiple changes]
2010-10-04  Robert Dewar  <dewar@adacore.com>

	* s-taprop-vxworks.adb, sem_res.adb: Minor reformatting.

2010-10-04  Javier Miranda  <miranda@adacore.com>

	* exp_cg.adb (Write_Call_Info): Code clean up.

From-SVN: r164938
2010-10-04 15:53:10 +02:00
Arnaud Charlet
39eb65425d [multiple changes]
2010-10-04  Arnaud Charlet  <charlet@adacore.com>

	* s-taprop-mingw.adb (Create_Task): Initialize Thread_Id field to 0.

2010-10-04  Robert Dewar  <dewar@adacore.com>

	* exp_cg.adb: Minor code reorganization
	Minor reformatting.
	* exp_ch5.adb, prj-nmsc.adb: Minor reformatting.

From-SVN: r164937
2010-10-04 15:46:35 +02:00
Arnaud Charlet
9db0b2326f [multiple changes]
2010-10-04  Bob Duff  <duff@adacore.com>

	* sem_res.adb (Resolve_Type_Conversion): If a type conversion is needed
	to make a qualified expression into a name (syntax-wise), then do not
	consider it redundant.

2010-10-04  Thomas Quinot  <quinot@adacore.com>

	* sem_warn.ads: Fix typo.

2010-10-04  Javier Miranda  <miranda@adacore.com>

	* exp_cg.adb (Is_Predefined_Dispatching_Operation): Handle suffix in
	TSS names.
	(Write_Call_Info): Add missing support for renamed primitives.

2010-10-04  Thomas Quinot  <quinot@adacore.com>

	* exp_ch5.adb (Make_Field_Expr): New subprogram, to factor duplicated
	code between Make_Component_List_Assign and Make_Field_Assign.

2010-10-04  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb (Get_Directories): For non extending projects that
	declare that they have no sources, do not create a non existing object
	or exec directory if builder switch -p is used.

2010-10-04  Sergey Rybin  <rybin@adacore.com>

	* gnat_ugn.texi (gnatcheck): Change the description of the report file
	format.

2010-10-04  Ed Falis  <falis@adacore.com>

	* s-taprop-vxworks.adb (Is_Task_Context): Import VxWorks intContext to
	determine whether Set_True is called from a task or an ISR.
	(Set_True): test for being in a task context before trying to
	dereference Defer_Abort or Undefer_Abort.

From-SVN: r164936
2010-10-04 15:43:01 +02:00
Arnaud Charlet
477bd73273 [multiple changes]
2010-10-04  Robert Dewar  <dewar@adacore.com>

	* sem_res.adb, sinput-l.adb: Minor reformatting.

2010-10-04  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch5.adb (Expand_N_Assignment_Statement): Do not generate a tag
	check when the target object is an interface since the expression of
	the right hand side must only cover the interface.

From-SVN: r164935
2010-10-04 15:38:32 +02:00
Vincent Celier
ea4ce0f777 frontend.adb: Set Lib.Parsing_Main_Extended_Source to True before loading the main source...
2010-10-04  Vincent Celier  <celier@adacore.com>

	* frontend.adb: Set Lib.Parsing_Main_Extended_Source to True before
	loading the main source, so that if it is preprocessed and -gnateG is
	used, the preprocessed file is written.
	* lib.ads (Analysing_Subunit_Of_Main): New global variable to indicate
	if a subunit is from the main unit when it is loaded.
	* sem_ch10.adb (Analyze_Proper_Body): Set Lib.Analysing_Subunit_Of_Main
	to True before loading a subunit.
	* sem_ch12.adb (Copy_Generic_Node): Set Lib.Analysing_Subunit_Of_Main
	to True when the main is a generic unit before loading one of its
	subunits.
	* sinput-l.adb (Load_File): If -gnateG is used, write the preprocessed
	file only for the main unit (spec, body and subunits).

From-SVN: r164934
2010-10-04 15:27:57 +02:00
Arnaud Charlet
1366997bf2 [multiple changes]
2010-10-04  Vincent Celier  <celier@adacore.com>

	* sinput-l.adb (Load_File): Do not fail when switch -gnateG is
	specified and the processed file cannot be written. Just issue a
	warning and continue.

2010-10-04  Thomas Quinot  <quinot@adacore.com>

	* sem_res.adb: Minor reformatting.

2010-10-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Analyze_Subprogram_Renaming): If the renamed operation
	is an overridden inherited operation, the desired operation is the
	overriding one, which is the alias of the visible one.

2010-10-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Find_Corresponding_Spec): Check that the wrapper body is
	present before deleting from the tree, when an inherited function with
	a controlling result that returns a null extension is overridden by a
	later declaration or body.

2010-10-04  Gary Dismukes  <dismukes@adacore.com>

	* checks.adb: Update comment.

From-SVN: r164933
2010-10-04 15:16:56 +02:00
Joseph Myers
d4d24ba450 optc-gen.awk: Define global_options_set.
* optc-gen.awk: Define global_options_set.  Don't define
	target_flags_explicit.
	* opth-gen.awk: Declare global_options_set.  Define
	target_flags_explicit as macro.
	* opts-common.c (handle_option): Take opts_set and generated_p
	parameters.
	(handle_generated_option, read_cmdline_option, set_option): Take
	opts_set parameter.
	(set_option): Use opts_set instead of hardcoding target_flags and
	target_flags_explicit.
	* opts.c (sel_sched_switch_set, profile_arc_flag_set,
	flag_profile_values_set, flag_unroll_loops_set, flag_tracer_set,
	flag_value_profile_transformations_set, flag_peel_loops_set,
	flag_branch_probabilities_set, flag_inline_functions_set,
	flag_ipa_cp_set, flag_ipa_cp_clone_set,
	flag_predictive_commoning_set, flag_unswitch_loops_set,
	flag_gcse_after_reload_set): Remove.
	(common_handle_option, lang_handle_option, target_handle_option):
	Take opts_set parameter.  Assert that it is &global_options_set.
	(common_handle_option): Don't set _set variables.  Check opts_set
	instead of such variables.
	(enable_warning_as_error): Pass &global_options_set to
	handle_generated_option.
	* opts.h (cl_option_handler_func.handler, set_option,
	handle_option, handle_generated_option, read_cmdline_option): Add
	opts_set parameters.
	(handle_option): Add generated_p parameter.
	* config/i386/i386.c (ix86_function_specific_save,
	ix86_function_specific_restore): Updat for renaming of
	target_flags_explicit field.
	* config/i386/i386.opt (target_flags_explicit): Rename to
	ix86_target_flags_explicit.
	* config/ia64/ia64.c (ia64_override_options_after_change): Check
	global_options_set.x_flag_selective_scheduling and
	global_options_set.x_flag_selective_scheduling2, not
	sel_sched_switch_set.
	* flags.h (sel_sched_switch_set,
	flag_speculative_prefetching_set): Remove.
	* gcc.c (driver_handle_option): Take opts_set parameter.  Assert
	that it is &global_options_set.
	(process_command): Pass &global_options_set to
	read_cmdline_option.
	* lto-opts.c (lto_reissue_options): Pass &global_options_set to
	set_option.
	* toplev.c (target_flags_explicit): Remove.

c-family:
	* c-opts.c (c_common_handle_option): Pass &global_options_set to
	handle_generated_option.

From-SVN: r164932
2010-10-04 12:51:00 +01:00
Jan Hubicka
4a2da10512 re PR middle-end/45871 (lto bootstrap miscompiles expmed.c)
PR middle-end/45871
	* tree-ssa-ccp.c (get_base_constructor): Take HOST_WIDE_INT offset;
	use get_ref_base_and_offset to handle references.
	(fold_const_aggregate_ref): Update.

From-SVN: r164931
2010-10-04 11:11:57 +00:00
Martin Jambor
1dbee8c9f9 re PR tree-optimization/45572 (various ICEs with -finline-small-functions -findirect-inlining -finline-functions)
2010-10-04  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/45572
	* ipa-prop.c (ipa_make_edge_direct_to_target): Call
	ipa_check_create_node_params.
	* ipa-inline.c (add_new_edges_to_heap): Do not insert inlined edges.

	* testsuite/g++.dg/ipa/pr45572-1.C: New test.
	* testsuite/g++.dg/ipa/pr45572-2.C: Likewise.

From-SVN: r164930
2010-10-04 12:15:10 +02:00
Yao Qi
eeb4dfdacf passes.texi: Clean up.
2010-10-04  Yao Qi  <yao@codesourcery.com>

        * doc/passes.texi: Clean up.

From-SVN: r164929
2010-10-04 09:59:54 +00:00
Richard Guenther
e5b1675528 f95-lang.c (current_translation_unit): New global variable.
2010-10-04  Richard Guenther  <rguenther@suse.de>

	* f95-lang.c (current_translation_unit): New global variable.
	(gfc_create_decls): Build a translation-unit decl.
	(pushdecl): In the global binding-level use the
	translation-unit decl as DECL_CONTEXT.
	* trans-decl.c (gfc_get_symbol_decl): Use DECL_FILE_SCOPE_P.
	(build_function_decl): Likewise.  Delay setting the assembler
	name, leave setting of DECL_CONTEXT to pushdecl.
	(trans_function_start): Use DECL_FILE_SCOPE_P.
	(gfc_create_module_variable): Likewise.  Remove questionable
	asserts.
	* trans.c (gfc_generate_module_code): Likewise.

From-SVN: r164928
2010-10-04 09:19:55 +00:00
Andreas Schwab
b453ace381 acinclude.m4 (GLIBCXX_ENABLE): Properly quote argument to AC_HELP_STRING.
* acinclude.m4 (GLIBCXX_ENABLE): Properly quote argument to
AC_HELP_STRING.  Double quote expansion of _g_help.
(GLIBCXX_ENABLE_LIBSTDCXX_TIME): Double quote third argument of
GLIBCXX_ENABLE.
(GLIBCXX_ENABLE_CHEADERS): Likewise.
(GLIBCXX_ENABLE_CLOCALE): Likewise.
(GLIBCXX_ENABLE_ALLOCATOR): Likewise.
(GLIBCXX_ENABLE_CSTDIO): Likewise.
(GLIBCXX_ENABLE_SYMVERS): Likewise.
* configure: Regenerate.

From-SVN: r164927
2010-10-04 08:49:59 +00:00
Ian Lance Taylor
478a1c5b90 c-typeck.c (lookup_field): If -fplan9-extensions, permit referring to a field using a typedef name.
gcc/:
	* c-typeck.c (lookup_field): If -fplan9-extensions, permit
	referring to a field using a typedef name.
	(find_anonymous_field_with_type): New static function.
	(convert_to_anonymous_field): New static function.
	(convert_for_assignment): If -fplan9-extensions, permit converting
	pointer to struct to pointer to anonymous field.
	* c-decl.c (grokfield): If -fplan9-extensions, permit anonymous
	fields.
	(is_duplicate_field): New static function.
	(detect_field_duplicates_hash): If -fplan9-extensions, check for
	typedef names duplicating field names.
	(detect_field_duplicates): Likewise.
	* doc/invoke.texi (Option Summary): Mention -fplan9-extensions.
	(C Dialect Options): Document -fplan9-extensions.
	* doc/extend.texi (Unnamed Fields): Document -fplan9-extensions.
gcc/c-family/:
	* c.opt (-fplan9-extensions): New option.
gcc/testsuite/:
	* gcc.dg/anon-struct-11.c: New test.
	* gcc.dg/anon-struct-12.c: New test.
	* gcc.dg/anon-struct-13.c: New test.
	* gcc.dg/anon-struct-14.c: New test.

From-SVN: r164926
2010-10-04 03:50:39 +00:00
GCC Administrator
3b5269a95e Daily bump.
From-SVN: r164924
2010-10-04 00:17:33 +00:00
H.J. Lu
a1e53f3f45 Revert revision 164914.
gcc/

2010-10-03  H.J. Lu  <hongjiu.lu@intel.com>

	* tree-vect-data-refs.c (vect_analyze_data_ref_access): Revert
	revision 164914.
	(vect_create_data_ref_ptr): Likewise.
	* tree-vect-stmts.c (vectorizable_store): Likewise.
	(perm_mask_for_reverse): Likewise.
	(reverse_vec_elements): Likewise.
	(vectorizable_load): Likewise.

gcc/testsuite/

2010-10-03  H.J. Lu  <hongjiu.lu@intel.com>

	* g++.dg/torture/pr45764.C: Revert revision 164914.
	* gcc.dg/vect/pr43432.c: Likewise.
	* gcc.dg/vect/vect-114.c: Likewise.
	* gcc.dg/vect/vect-15.c: Likewise.

From-SVN: r164919
2010-10-03 16:57:01 -07:00
Jason Merrill
79fe346e8a typeck.c (require_complete_type_sfinae): Add complain parm to...
* typeck.c (require_complete_type_sfinae): Add complain parm to...
	(require_complete_type): ...this function.
	(cp_build_array_ref, convert_arguments): Use it.
	(convert_for_initialization, cp_build_modify_expr): Likewise.
	* cp-tree.h: Declare it.
	* call.c (build_over_call): Use it.

From-SVN: r164918
2010-10-03 19:28:15 -04:00
François-Xavier Coudert
82a1c2fe69 cppbuiltin.c: New file.
gcc/
	* cppbuiltin.c: New file.
	* cppbuiltin.h: New file.
	* Makefile.in: Take into account cppbuiltin.{h,c}.

gcc/c-family/
	* c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
	Remove.
	(c_cpp_builtins): Call functions from cppbuiltin.c instead
	of duplicating code.

gcc/fortran/
	* cpp.c (cpp_define_builtins): Call functions from cppbuiltin.c
	instead of duplicating code.
	* Make-lang.in: Add dependency on cppbuiltin.h. Don't define
	BASEVER.

From-SVN: r164917
2010-10-03 19:00:55 +00:00
Andi Kleen
f1e92a43e9 lto-cgraph.c (input_cgraph): Check for missing sections.
gcc/
    
2010-10-03  Andi Kleen <ak@linux.intel.com>
    
	* lto-cgraph.c (input_cgraph): Check for missing sections.
    
gcc/lto/
   
2010-10-03  Andi Kleen <ak@linux.intel.com>
    
    	* lto.c (lto_file_finalize): Replace gcc_assert for missing section
          with fatal_error.

From-SVN: r164916
2010-10-03 15:56:06 +00:00
Uros Bizjak
5ed6934450 i386.md (*ashl<mode>3_mask): Change operand 2 preticate to nonimmediate_operand.
* config/i386/i386.md (*ashl<mode>3_mask): Change operand 2 preticate
	to nonimmediate_operand.  Force operand 2 to register when allowed.
	(*<shiftrt_insn><mode>3_mask): Ditto.
	(*<rotate_insn><mode>3_mask): Ditto.

From-SVN: r164915
2010-10-03 15:09:42 +02:00
H.J. Lu
888a22d085 Disallow negative steps in vectorizer.
gcc/

2010-10-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR tree-optimization/45720
	PR tree-optimization/45764
	* tree-vect-data-refs.c (vect_analyze_data_ref_access):
	Don't accept backwards consecutive accesses.
	(vect_create_data_ref_ptr): Disallow negative steps.

	* tree-vect-stmts.c (vectorizable_store): Allow negative steps.
	(perm_mask_for_reverse): Removed.
	(reverse_vec_elements): Likewise.
	(vectorizable_load): Don't hanle negative steps.

gcc/testsuite/

2010-10-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR tree-optimization/45720
	PR tree-optimization/45764
	* g++.dg/torture/pr45764.C: New.

	* gcc.dg/vect/pr43432.c: Xfail.
	* gcc.dg/vect/vect-114.c: Likewise.
	* gcc.dg/vect/vect-15.c: Likewise.

From-SVN: r164914
2010-10-02 22:39:32 -07:00