1. 30 Apr, 2009 17 commits
  2. 29 Apr, 2009 23 commits
    • Revert · 3cebfcc5
      	2009-04-29  Vincent Celier  <celier@adacore.com>
      
      	* sinput-l.adb (Load_File): When preprocessing, set temporarily the
      	Source_File_Index_Table entries for the source, to avoid crash when
      	reporting an error.
      
      	* gnatcmd.adb (Test_If_Relative_Path): Use
      	Makeutl.Test_If_Relative_Path.
      	
      	* makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
      	Including_RTS is True.
      
      	* makeutl.ads (Test_If_Relative_Path): New Boolean parameter
      	Including_RTS defaulted to False.
      
      	* sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
      	a default value.
      
      From-SVN: r146991
      Eric Botcazou committed
    • (frame_pointer_required_p): Change return type to bool. · 9933b56a
      From-SVN: r146990
      Anatoly Sokolov committed
    • avr.c (initial_elimination_offset): Rename to avr_initial_elimination_offset. · c21ca196
      	* config/avr/avr.c (initial_elimination_offset): Rename to
      	avr_initial_elimination_offset.
      	(frame_pointer_required_p): Rename to avr_frame_pointer_required_p,
      	change return type to bool.
      	(avr_can_eliminate): New function.
      	* config/avr/avr.h (CAN_ELIMINATE): Use avr_can_eliminate.
      	(FRAME_POINTER_REQUIRED): Use avr_frame_pointer_required_p.
      	(INITIAL_ELIMINATION_OFFSET): Use avr_initial_elimination_offset.
      	* config/avr/avr-protos.h (initial_elimination_offset) : Rename to
      	avr_initial_elimination_offset.
      	(frame_pointer_required_p): Rename to avr_frame_pointer_required_p.
      	(avr_initial_elimination_offset): Define.
      
      From-SVN: r146989
      Anatoly Sokolov committed
    • re PR rtl-optimization/39938 (build broke for cris-elf with dbr_schedule change) · 2a34bece
      	PR rtl-optimization/39938
      	* Makefile.in (cfgrtl.o): Add $(INSN_ATTR_H).
      	* cfgrtl.c: Include insn-attr.h.
      	(rest_of_pass_free_cfg): New function.
      	(pass_free_cfg): Use rest_of_pass_free_cfg as execute function.
      	* resource.c (init_resource_info): Remove call to df_analyze.
      
      Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org>
      
      From-SVN: r146988
      Eric Botcazou committed
    • re PR middle-end/39943 (wrong conversion from unsigned int to float) · 5dc7911e
      2009-04-29  Richard Guenther  <rguenther@suse.de>
      
      	PR target/39943
      	* config/i386/i386.c (ix86_vectorize_builtin_conversion): Only
      	allow conversion to signed integers.
      
      	* lib/target-supports.exp (check_effective_target_vect_uintfloat_cvt):
      	New.
      	(check_effective_target_vect_floatuint_cvt): Likewise.
      	* gcc.dg/vect/slp-10.c: Adjust.
      	* gcc.dg/vect/slp-11.c: Adjust.
      	* gcc.dg/vect/slp-12b.c: Adjust.
      	* gcc.dg/vect/slp-33.c: Adjust.
      	* gcc.c-torture/compile/pr39943.c: New testcase.
      
      From-SVN: r146984
      Richard Guenther committed
    • tree-cfg.c (verify_gimple_assign_binary): Allow vector shifts of floating point vectors if... · 1fe479fd
      2009-04-29  Richard Guenther  <rguenther@suse.de>
      
      	* tree-cfg.c (verify_gimple_assign_binary): Allow vector
      	shifts of floating point vectors if the shift amount is
      	a constant multiple of the element size.
      
      From-SVN: r146983
      Richard Guenther committed
    • re PR middle-end/39927 (build breakage for cris-elf building libstdc++-v3) · 8e001680
              PR middle-end/39927
              PR bootstrap/39929
              * tree-outof-ssa.c (emit_partition_copy): New function.
              (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
              insert_part_to_rtx_on_edge): Perform the partition base var
              copy using emit_partition_copy.
              (insert_value_copy_on_edge): Convert constants to the right mode.
              (insert_rtx_to_part_on_edge): Add UNSIGNEDSRCP parameter.
              (elim_create): Pass the sign of the src to insert_rtx_to_part_on_edge.
      
      Co-Authored-By: Michael Matz <matz@suse.de>
      
      From-SVN: r146982
      Andreas Krebbel committed
    • bfin.c (bfin_optimize_loop): When looking for the last insn before the loop_end instruction... · 4e5d521b
      	* config/bfin/bfin.c (bfin_optimize_loop): When looking for the last
      	insn before the loop_end instruction, don't look past labels.
      
      From-SVN: r146980
      Bernd Schmidt committed
    • [multiple changes] · 70b70ce8
      2009-04-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch8.adb (Analyze_Subprogram_Renaming): Improve error message on
      	box-defaulted operator in an instantiation, when the type of the
      	operands is not directly visible.
      
      2009-04-29  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_aggr.adb (Valid_Limited_Ancestor): Undo previous change.
      	(Resolve_Extension_Aggregate): Call Check_Parameterless_Call after the
      	analysis of the ancestor part. Remove prohibition against limited
      	interpretations of the ancestor expression in the case of Ada 2005.
      	Revise error message in overloaded case, adding a message to cover
      	the Ada 2005 case.
      
      2009-04-29  Thomas Quinot  <quinot@adacore.com>
      
      	* xoscons.adb: Minor reformatting
      
      2009-04-29  Bob Duff  <duff@adacore.com>
      
      	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not ignore
      	attribute_definition_clauses for the following attributes when the
      	-gnatI switch is used: External_Tag, Input, Output, Read, Storage_Pool,
      	Storage_Size, Write. Otherwise, we get spurious errors (for example,
      	missing Read attribute on remote types).
      
      	* gnat_ugn.texi: Document the change, and add a stern warning.
      
      2009-04-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_attr.adb (Check_Local_Access): Indicate that value tracing is
      	disabled not just for the current scope, but for the innermost dynamic
      	scope as well.
      
      From-SVN: r146979
      Arnaud Charlet committed
    • * gcc-interface/Make-lang.in: Update dependencies · 4cc51f5e
      From-SVN: r146978
      Arnaud Charlet committed
    • [multiple changes] · 107b023c
      2009-04-29  Vincent Celier  <celier@adacore.com>
      
      	* prj-part.adb: Minor comment update
      
      2009-04-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_aggr.adb (Resolve_Record_Aggregate): handle properly
      	box-initialized records with discriminated subcomponents that are
      	constrained by discriminants of enclosing components. New subsidiary
      	procedures Add_Discriminant_Values, Propagate_Discriminants.
      
      2009-04-29  Arnaud Charlet  <charlet@adacore.com>
      
      	* g-socket.adb: Code clean up.
      
      From-SVN: r146976
      Arnaud Charlet committed
    • bfin.c (bfin_optimize_loop): If we need a scratch reg, scan backwards to try to… · e50e3081
      bfin.c (bfin_optimize_loop): If we need a scratch reg, scan backwards to try to find a constant to initialize it.
      
      	* config/bfin/bfin.c (bfin_optimize_loop): If we need a scratch reg,
      	scan backwards to try to find a constant to initialize it.
      
      From-SVN: r146974
      Bernd Schmidt committed
    • re PR middle-end/39937 (Revision 146831 failed SPEC CPU 2006) · 7c90021d
      2009-04-29  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/39937
      	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do not
      	loose type conversions.
      	(forward_propagate_addr_expr): Fix tuplification bug.  Remove
      	stmts only if there are no uses of its definition.
      
      	* gcc.c-torture/compile/pr39937.c: New testcase.
      
      From-SVN: r146973
      Richard Guenther committed
    • bfin.h (splitting_loops): Declare. · 97a988bc
      	* config/bfin/bfin.h (splitting_loops): Declare.
      	* config/bfin/bfin-protos.h (WA_05000257, WA_05000283, WA_05000315):
      	Reorder bit definitions to be ascending.
      	(WA_LOAD_LCREGS, ENABLE_WA_LOAD_LCREGS): New macros.
      	* config/bfin/bfin.c (splitting_loops): New variable.
      	(bfin_cpus): Add WA_LOAD_LCREGS as needed.
      	(struct loop_info): Remove members INIT and LOOP_INIT.
      	(bfin_optimize_loop): Don't set them.  Reorder the code that generates
      	the LSETUP sequence.  Allow LC to be loaded from any register, but also
      	add a case to push/pop a PREG scratch if ENABLE_WA_LOAD_LCREGS.
      	(bfin_reorg_loops): When done, split all BB_ENDs with splitting_loops
      	set to 1.
      	* config/bfin/bfin.md (loop_end splitter): Use splitting_loops instead
      	of reload_completed.
      	From Jie Zhang:
      	* config/bfin/bfin.md (movsi_insn): Refine constraints.
      
      From-SVN: r146971
      Bernd Schmidt committed
    • [multiple changes] · 1933c497
      2009-04-29  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_aggr.adb (Valid_Limited_Ancestor): Add test for the name of a
      	function entity, to cover the case of a parameterless function call
      	that has not been resolved.
      
      2009-04-29  Robert Dewar  <dewar@adacore.com>
      
      	* err_vars.ads, prj-part.adb, scans.ads, exp_tss.adb: Minor
      	reformatting and comment updates.
      
      From-SVN: r146970
      Arnaud Charlet committed
    • [multiple changes] · 51ec70b8
      2009-04-29  Arnaud Charlet  <charlet@adacore.com>
      
      	* gnat_ugn.texi: Update some documentation about interfacing with C++
      	Mention -fkeep-inline-functions.
      
      	* gnat_ugn.texi: Minor edits
      
      2009-04-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_aggr.adb (Resolve_Record_Aggregate): When building an aggregate
      	for a defaulted component of an enclosing aggregate, inherit the type
      	from the component declaration of the enclosing type. 
      
      2009-04-29  Albert Lee  <lee@adacore.com>
      
      	* g-socthi-vms.ads, g-socthi-vxworks.ads, s-oscons-tmplt.c,
      	g-socthi-mingw.ads, g-socthi.ads, g-socket.adb, g-sothco.ads
      	(System.OS_Constants): New type Msg_Iovlen_T which follows whether the
      	msg_iovlen field in struct msghdr is 32 or 64 bits wide.
      	Relocate the Msghdr record type from GNAT.Sockets.Thin to
      	GNAT.Sockets.Common, and use System.OS_Constants.Msg_Iovlen_T as the
      	type for the Msg_Iovlen field.
      
      From-SVN: r146969
      Arnaud Charlet committed
    • [multiple changes] · 9e895ab5
      2009-04-29  Vincent Celier  <celier@adacore.com>
      
      	* sinput-l.adb (Load_File): When preprocessing, set temporarily the
      	Source_File_Index_Table entries for the source, to avoid crash when
      	reporting an error.
      
      	* gnatcmd.adb (Test_If_Relative_Path): Use
      	Makeutl.Test_If_Relative_Path.
      	
      	* makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
      	Including_RTS is True.
      
      	* makeutl.ads (Test_If_Relative_Path): New Boolean parameter
      	Including_RTS defaulted to False.
      
      	* sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
      	a default value.
      
      2009-04-29  Javier Miranda  <miranda@adacore.com>
      
      	* gnat_ugn.texi: Adding documentation for non-default C++ constructors.
      
      From-SVN: r146967
      Arnaud Charlet committed
    • sem_ch3.adb (Analyze_Object_Declaration): Disable error message associated with… · 236fecbf
      sem_ch3.adb (Analyze_Object_Declaration): Disable error message associated with dyamically tagged expressions if...
      
      2009-04-29  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch3.adb (Analyze_Object_Declaration): Disable error message
      	associated with dyamically tagged expressions if the expression
      	initializing a tagged type corresponds with a non default CPP
      	constructor.
      	(OK_For_Limited_Init): CPP constructor calls are OK for initialization
      	of limited type objects.
      
      	* sem_ch5.adb (Analyze_Assignment): Improve the error message reported
      	when a CPP constructor is called in an assignment. Disable also the
      	error message associated with dyamically tagged expressions if the
      	exporession initializing a tagged type corresponds with a non default
      	CPP constructor.
      
      	* sem_prag.adb (Analyze_Pragma): Remove code disabling the use of
      	non-default C++ constructors.
      
      	* sem_util.ads, sem_util.adb (Is_CPP_Constructor_Call): New subprogram.
      
      	* exp_tss.ads, exp_tss.adb (Base_Init_Proc): Add support for
      	non-default constructors.
      	(Init_Proc): Add support for non-default constructors.
      
      	* exp_disp.adb (Set_Default_Constructor): Removed.
      	(Set_CPP_Constructors): Code based in removed Set_Default_Constructor
      	but extending its functionality to handle non-default constructors.
      
      	* exp_aggr.adb (Build_Record_Aggr_Code): Add support for non-default
      	constructors. Minor code cleanup removing unrequired label and goto
      	statement.
      
      	* exp_ch3.adb (Build_Initialization_Call): Add support for non-default
      	constructors.
      	(Build_Init_Statements): Add support for non-default constructors.
      	(Expand_N_Object_Declaration): Add support for non-default constructors.
      	(Freeze_Record_Type): Replace call to Set_Default_Constructor by call
      	to Set_CPP_Constructors.
      
      	* exp_ch5.adb (Expand_N_Assignment_Statement): Add support for
      	non-default constructors.
      	Required to handle its use in build-in-place statements.
      
      	* gnat_rm.texi (CPP_Constructor): Document new extended use of this
      	pragma for non-default C++ constructors and the new compiler support
      	that allows the use of these constructors in record components, limited
      	aggregates, and extended return statements.
      
      From-SVN: r146966
      Javier Miranda committed
    • [multiple changes] · 0ec21a5b
      2009-04-29  Vincent Celier  <celier@adacore.com>
      
      	* prj-part.adb (Parse_Single_Project): Do not attempt to find a
      	project extending an abstract project.
      
      2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* targparm.ads: Fix oversight.
      
      From-SVN: r146965
      Arnaud Charlet committed
    • lib-xref.adb (Output_Overridden_Op): Follow several levels of derivation when necessary... · 96b20738
      2009-04-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* lib-xref.adb (Output_Overridden_Op): Follow several levels of
      	derivation when necessary, to find the user-subprogram that is actally
      	being overridden.
      
      From-SVN: r146964
      Ed Schonberg committed
    • sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected components · 3b4ebfc3
      2009-04-29  Robert Dewar  <dewar@adacore.com>
      
      	* sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected
      	components
      
      From-SVN: r146963
      Robert Dewar committed
    • Makefile.in (PLUGIN_VERSION_H): New. · 0c463e16
      2009-04-29  Rafael Avila de Espindola  <espindola@google.com>
      
      	* Makefile.in (PLUGIN_VERSION_H): New.
      	(OBJS-common): Remove plugin-version.o.
      	(plugin.o): Depend on (PLUGIN_VERSION_H).
      	(plugin-version.o): Remove.
      	* configure: Regenerate
      	* configure.ac: Create plugin-version.h.
      	* gcc-plugin.h (plugin_gcc_version): Remove.
      	(plugin_default_version_check): Change signature.
      	* plugin-version.c: Remove.
      	* plugin.c: Include plugin-version.h.
      	(str_plugin_gcc_version_name): Remove.
      	(try_init_one_plugin): Pass gcc version to plugin_init.
      	(plugin_default_version_check): Both gcc and plugin versions are now
      	arguments.
      
      From-SVN: r146962
      Rafael Avila de Espindola committed