1. 09 Dec, 2005 15 commits
    • a-convec.adb (Merge): Added assertions to check whether vector params are sorted. · 7cdc672b
      2005-12-05  Matthew Heaney  <heaney@adacore.com>
      
      	* a-convec.adb (Merge): Added assertions to check whether vector params
      	are sorted.
      
      	* a-coinve.adb (Merge): Added assertions to check whether vector params
      	are sorted.
      
      	* a-cohama.ads (Cursor'Write): raises Program_Error per latest AI-302
      	draft.
      	(Cursor'Read): raises PE
      
      	* a-cohama.adb (Insert.New_Node): Uses box-style syntax to init elem
      	to its default value.
      
      	* a-cihama.adb: Manually check whether cursor's key and elem are
      	non-null
      
      	* a-cidlli.ads, a-cidlli.adb (Splice): Changed param name and param mode
      	(Merge): Assert that target and source lists are in order
      	(Swap): Declare non-const temporaries, to pass to Splice
      
      	* a-cdlili.ads: (Splice): Changed param name and param mode
      
      	* a-cdlili.adb: (Splice): Changed param name and param mode
      	(Merge): Assert that target and source lists are in order
      	(Swap): Declare non-const temporaries, to pass to Splice
      
      	* a-ciorma.ads, a-coorma.ads: (Read): declare Stream param as not null
      	(Write): declare Stream param as not null
      
      	* a-ciorma.adb, a-coorma.adb: All explicit raise statements now include
      	an exception message.
      
      From-SVN: r108287
      Matthew Heaney committed
    • decl.c (gnat_to_gnu_entity, [...]): Don't early expand pointer initialization values. · 9582a3cd
      2005-12-05  Olivier Hainque  <hainque@adacore.com>
      
      	* decl.c (gnat_to_gnu_entity, renaming object case): Don't early expand
      	pointer initialization values. Make a SAVE_EXPR instead. Add comments
      	about the use and expansion of SAVE_EXPRs in the various possible
      	renaming handling cases.
      	(components_to_record, compare_field_bitpos): Sort by DECL_UID, not by
      	abusing DECL_FCONTEXT.
      
      From-SVN: r108286
      Olivier Hainque committed
    • mlib-tgt-vms-ia64.adb, [...] (Is_Interface): Change Ada bind file prefix on VMS from b$ to b__. · bb4daba3
      2005-12-05  Doug Rupp  <rupp@adacore.com>
      
      	* mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb (Is_Interface): Change
      	Ada bind file prefix on VMS from b$ to b__.
      	(Build_Dynamic_Library): Change Init file suffix on VMS from $init to
      	__init.
      
      	* prj-nmsc.adb: Change some Hostparm.OpenVMS checks to
      	Targparm.OpenVMS_On_Target.
      	(Object_Suffix): Initialize with target object suffix.
      	(Get_Unit): Change Ada bind file prefix on VMS from b$ to b__.
      
      	* butil.adb: Change some Hostparm.OpenVMS checks to
      	Targparm.OpenVMS_On_Target.
      
      	* clean.adb: Change some Hostparm.OpenVMS checks to
      	Targparm.OpenVMS_On_Target.
      	(Object_Suffix): Initialize with call to Get_Target_Object_Suffix.
      	({declaraction},Delete_Binder_Generated_Files,{initialization}): Change
      	Ada bind file prefix on VMS from b$ to b__.
      
      	* gnatlink.adb (Process_Args): Call Add_Src_Search_Dir for -I in
      	--GCC so that Get_Target_Parameters can find system.ads.
      	(Gnatlink): Call Get_Target_Parameters in mainline.
      	Initialize standard packages for Targparm.
      	Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
      	(Process_Args): Also Check for object files with target object
      	extension.
      	(Make_Binder_File_Names): Create with target object extension.
      	(Make_Binder_File_Names): Change Ada bind file prefix on VMS from b$
      	to b__.
      
      	* mlib-prj.adb: Change some Hostparm.OpenVMS checks to
      	Targparm.OpenVMS_On_Target.
      	({declaration},Build_Library,Check_Library): Change Ada bind file
      	prefix on VMS from b$ to b__.
      
      	* osint-b.adb: Change some Hostparm.OpenVMS checks to
      	Targparm.OpenVMS_On_Target.
      	(Create_Binder_Output): Change Ada bind file prefix on VMS from b$ to
      	b__.
      
      	* targext.c: New file.
      
      	* Makefile.in: add support for vxworks653 builds
      	(../../vxaddr2line): gnatlink with targext.o.
      	(TOOLS_LIBS): Move targext.o to precede libgnat.
      	(init.o, initialize.o): Minor clean up in dependencies.
      	(GNATLINK_OBJS): Add targparm.o, snames.o
      	Add rules fo building targext.o and linking it explicitly with all
      	tools.
      	Also add targext.o to gnatlib.
      
      	* Make-lang.in: Add rules for building targext.o and linking it in
      	with gnat1 and gnatbind.
      	Add entry for exp_sel.o.
      
      	* osint.adb Change some Hostparm.OpenVMS checks to
      	Targparm.OpenVMS_On_Target.
      	(Object_File_Name): Use target object suffix.
      
      	* osint.ads (Object_Suffix): Remove, no longer used.
      	(Target_Object_Suffix): Initialize with target object suffix.
      
      	* rident.ads: Add special exception to license.
      
      	* targparm.adb (Get_Target_Parameters): Set the value of
      	Multi_Unit_Index_Character after OpenVMS_On_Target gets its definitive
      	value.
      	(Get_Target_Parameters): Set OpenVMS_On_Target if openvms.
      	
      	* targparm.ads: Add special exception to license.
      
      	* g-os_lib.ads, g-os_lib.adb (Get_Target_Debuggable_Suffix): New
      	function.
      	(Copy_File): Make sure from file is closed if error on to file
      	(Get_Target_Executable_Suffix, Get_Target_Object_Suffix): New functions.
      
      	* make.adb (Object_Suffix): Intialize with Get_Target_Object_Suffix.
      	(Executable_Suffix): Intialize with Get_Target_Executable_Suffix.
      
      	* osint-c.adb (Set_Output_Object_File_Name): Initialize extension with
      	target object suffix.
      
      From-SVN: r108285
      Doug Rupp committed
    • a-tags.ads, a-tags.adb (Offset_To_Top): Moved from the package body to the… · 4d744221
      a-tags.ads, a-tags.adb (Offset_To_Top): Moved from the package body to the specification because the frontend generates...
      
      2005-12-05  Javier Miranda  <miranda@adacore.com>
      	    Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* a-tags.ads, a-tags.adb (Offset_To_Top): Moved from the package body
      	to the specification because the frontend generates code that uses this
      	subprogram.
      	(Set_Interface_Table): Add missing assertion.
      	Update documentation describing the run-time structure.
      	(Displace): New subprogram that displaces the pointer to the object
      	to reference one of its secondary dispatch tables.
      	(IW_Membership): Modified to use the new table of interfaces.
      	(Inherit_TSD): Modified to use the new table of interfaces.
      	(Register_Interface_Tag): Use the additional formal to fill the
      	contents of the new table of interfaces.
      	(Set_Interface_Table): New subprogram that stores in the TSD the
      	pointer to the table of interfaces.
      	(Set_Offset_To_Top): Use the additional formal to save copy of
      	the offset value in the table of interfaces.
      	Update structure of GNAT Primary and Secondary dispatch table diagram.
      	Add comment section on GNAT dispatch table prologue.
      	(Offset_To_Signature): Update the constant value of the Signature field.
      	(Dispatch_Table): Update comment on hidden fields in the prologue.
      	(Get_Entry_Index, Get_Prim_Op_Kind, Get_Offset_Index, OSD,
      	Set_Entry_Index, Set_Offset_Index, Set_Prim_Op_Kind, SSD, TSD): Change
      	the type of formal parameter T to Tag, introduce additional assertions.
      	(Get_Num_Prim_Ops, Set_Num_Prim_Ops): Remove an unnecessary type
      	conversion.
      	(Get_Tagged_Kind, Set_Tagged_Kind): New bodies.
      
      	* exp_ch6.adb (Register_Interface_DT_Entry): Remove the Thunk_Id actual
      	in all the calls to Expand_Interface_Thunk. Instead of referencing the
      	record component containing the tag of the secondary dispatch table we
      	have to use the Offset_To_Top run-time function to get this information;
      	otherwise if the pointer to the base of the object has been displace
      	we get a wrong value if we use the 'position attribute.
      
      	* exp_disp.adb (Expand_Interface_Thunk): Remove the Thunk_Id actual in
      	all the calls to Expand_Interface_Thunk.
      	(Make_Secondary_DT): Secondary dispatch tables do not have a table of
      	interfaces; hence the call to Set_Interface_Table was clearly wrong.
      	(Collect_All_Interfaces): Modify the internal subprogram Collect to
      	ensure that the interfaces implemented by the ancestors are placed
      	at the header of the generated list.
      	(Expand_Interface_Conversion): Handle the case in which the displacement
      	associated with the interface conversion is not statically known. In
      	this case we generate a call to the new run-time subprogram Displace.
      	(Make_DT): Generate and fill the new table of interfaces.
      	(Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Add entries for
      	Get_Tagged_Kind and Set_Tagged_Kind.
      	(Tagged_Kind): New function that determines the tagged kind of a type
      	with respect to limitedness and concurrency and returns a reference to
      	RE_Tagged_Kind.
      	(Make_Disp_Asynchronous_Select_Body, Make_Disp_Conditional_Select_Body,
      	Make_Disp_Timed_Select_Body): Correctly retrieve the pointer to the
      	primary dispatch table for a type.
      	(Make_DT, Make_Secondary_DT): Set the tagged kind in the primary and
      	secondary dispatch table respectively of a tagged type.
      
      	* exp_disp.ads (Expand_Interface_Thunk): Remove Thunk_Id formal.
      	(Expand_Interface_Conversion): New subprogram to indicate if the
      	displacement of the type conversion is statically known.
      	(DT_Access_Action): Add values Get_Tagged_Kind and Set_Tagged_Kind.
      
      	* rtsfind.ads (RE_Offset_To_Top): New entity
      	(RTU_Id): Add Ada_Task_Termination to the list so that it is made
      	accessible to users.
      	(Re_Displace): New entity
      	(RE_Interface_Data): New entity
      	(RE_Set_Interface_Data): New_Entity
      	(RE_Id, RE_Unit_Table): Add entry for RE_Get_Tagged_Kind,
      	Set_Tagged_Kind, RE_Tagged_Kind, RE_TK_Abstract_Limited_Tagged,
      	RE_TK_Abstract_Tagged, RE_TK_Limited_Tagged, RE_TK_Protected,
      	RE_TK_Tagged, RE_TK_Task.
      
      	* exp_ch3.adb (Init_Secondary_Tags): Modify the subprogram
      	Init_Secondary_Tags_Internal to allow its use with interface types and
      	also to generate the code for the new additional actual required
      	by Set_Offset_To_Top.
      	(Build_Init_Statements): In case of components associated with abstract
      	interface types there is no need to generate a call to its IP.
      	(Freeze_Record_Type): Generate Select Specific Data tables only for
      	concurrent types.
      	(Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies): Generate
      	the bodies and specifications of the predefined primitive operations
      	dealing with dispatching selects and abort, 'Callable, 'Terminated only
      	for concurrent types.
      
              * exp_sel.ads, exp_sel.adb: New files.
      
      	* exp_ch9.adb (Build_Protected_Entry, Expand_N_Protected_Body,
      	Expand_N_Protected_Type_Declaration, Make_Initialize_Protection): Handle
      	properly protected objects and attach handler in the case of the
      	restricted profile.
      	Move embeded package Select_Expansion_Utilities into a separate external
      	package.
      	(Expand_N_Asynchronous_Select, Expand_N_Conditional_Select,
      	Expand_N_Timed_Entry_Call): Correct calls external package Exp_Sel.
      	(Build_K, Build_S_Assignment): New subprograms, part of the select
      	expansion utilities.
      	(Expand_N_Asynchronous_Select, Expand_N_Conditional_Entry_Call,
      	Expand_N_Timed_Entry_Call): Optimize expansion of select statements
      	where the trigger is a dispatching procedure of a limited tagged type.
      
      From-SVN: r108284
      Javier Miranda committed
    • adaint.c (__gnat_locate_regular_file): Return immediately if file_name is empty. · e51b97be
      2005-12-05  Nicolas Setton  <setton@adacore.com>
      
      	* adaint.c (__gnat_locate_regular_file): Return immediately if
      	file_name is empty.
      
      From-SVN: r108283
      Nicolas Setton committed
    • mlib-tgt-vms-ia64.adb, [...] (Is_Interface): Change Ada bind file prefix on VMS from b$ to b__. · 81408d49
      2005-12-05  Doug Rupp  <rupp@adacore.com>
      
      	* mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb (Is_Interface): Change
      	Ada bind file prefix on VMS from b$ to b__.
      	(Build_Dynamic_Library): Change Init file suffix on VMS from $init to
      	__init.
      
      	* prj-nmsc.adb: Change some Hostparm.OpenVMS checks to
      	Targparm.OpenVMS_On_Target.
      	(Object_Suffix): Initialize with target object suffix.
      	(Get_Unit): Change Ada bind file prefix on VMS from b$ to b__.
      
      	* butil.adb: Change some Hostparm.OpenVMS checks to
      	Targparm.OpenVMS_On_Target.
      
      	* clean.adb: Change some Hostparm.OpenVMS checks to
      	Targparm.OpenVMS_On_Target.
      	(Object_Suffix): Initialize with call to Get_Target_Object_Suffix.
      	({declaraction},Delete_Binder_Generated_Files,{initialization}): Change
      	Ada bind file prefix on VMS from b$ to b__.
      
      	* gnatlink.adb (Process_Args): Call Add_Src_Search_Dir for -I in
      	--GCC so that Get_Target_Parameters can find system.ads.
      	(Gnatlink): Call Get_Target_Parameters in mainline.
      	Initialize standard packages for Targparm.
      	Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
      	(Process_Args): Also Check for object files with target object
      	extension.
      	(Make_Binder_File_Names): Create with target object extension.
      	(Make_Binder_File_Names): Change Ada bind file prefix on VMS from b$
      	to b__.
      
      	* mlib-prj.adb: Change some Hostparm.OpenVMS checks to
      	Targparm.OpenVMS_On_Target.
      	({declaration},Build_Library,Check_Library): Change Ada bind file
      	prefix on VMS from b$ to b__.
      
      	* osint-b.adb: Change some Hostparm.OpenVMS checks to
      	Targparm.OpenVMS_On_Target.
      	(Create_Binder_Output): Change Ada bind file prefix on VMS from b$ to
      	b__.
      
      	* targext.c: New file.
      
      	* Makefile.in: add support for vxworks653 builds
      	(../../vxaddr2line): gnatlink with targext.o.
      	(TOOLS_LIBS): Move targext.o to precede libgnat.
      	(init.o, initialize.o): Minor clean up in dependencies.
      	(GNATLINK_OBJS): Add targparm.o, snames.o
      	Add rules fo building targext.o and linking it explicitly with all
      	tools.
      	Also add targext.o to gnatlib.
      
      	* Make-lang.in: Add rules for building targext.o and linking it in
      	with gnat1 and gnatbind.
      	Add entry for exp_sel.o.
      
      	* osint.adb Change some Hostparm.OpenVMS checks to
      	Targparm.OpenVMS_On_Target.
      	(Object_File_Name): Use target object suffix.
      
      	* osint.ads (Object_Suffix): Remove, no longer used.
      	(Target_Object_Suffix): Initialize with target object suffix.
      
      	* rident.ads: Add special exception to license.
      
      	* targparm.adb (Get_Target_Parameters): Set the value of
      	Multi_Unit_Index_Character after OpenVMS_On_Target gets its definitive
      	value.
      	(Get_Target_Parameters): Set OpenVMS_On_Target if openvms.
      	
      	* targparm.ads: Add special exception to license.
      
      	* g-os_lib.ads, g-os_lib.adb (Get_Target_Debuggable_Suffix): New
      	function.
      	(Copy_File): Make sure from file is closed if error on to file
      	(Get_Target_Executable_Suffix, Get_Target_Object_Suffix): New functions.
      
      	* make.adb (Object_Suffix): Intialize with Get_Target_Object_Suffix.
      	(Executable_Suffix): Intialize with Get_Target_Executable_Suffix.
      
      	* osint-c.adb (Set_Output_Object_File_Name): Initialize extension with
      	target object suffix.
      
      From-SVN: r108282
      Doug Rupp committed
    • gnatvsn.ads (Library_Version): Bump to version 4.2 · 9d0aa6ab
      	* gnatvsn.ads (Library_Version): Bump to version 4.2
      	(ASIS_Version_Number): Bumped.
      
      From-SVN: r108281
      Arnaud Charlet committed
    • re PR libfortran/24991 (gfortran build fails with - error:gthr-default.h: No… · 891c05b1
      re PR libfortran/24991 (gfortran build fails with - error:gthr-default.h: No such file or directory)
      
      	PR libfortran/24991
      	* acinclude.m4: Include acx.m4 and no-executables.m4.
      	* configure.ac: Add GCC_TOPLEVEL_SUBDIRS.
      	* configure: Rebuilt.
      	* Makefile.am (AM_CPPFLAGS): Use $(host_subdir) in build dir
      	path.
      	* Makefile.in: Rebuilt.
      
      From-SVN: r108280
      Jakub Jelinek committed
    • re PR target/25311 (ICE in reload_cse_simplify_operands, at postreload.c:393) · f01cf809
      	PR target/25311
      	* config/s390/s390.c (struct s390_address): New field literal_pool.
      	(s390_decompose_address): Compute literal_pool field.  Do not 
      	assume register %r13 is always (and solely) used as pool base.
      	(s390_extra_constraint_str): Use literal_pool field.
      
      	PR target/25311
      	* gcc.c-torture/compile/pr25311.c: New test.
      
      From-SVN: r108278
      Ulrich Weigand committed
    • f95-lang.c (build_builtin_fntypes): Use correct return types, as indicated by comments. · fb2d50f5
      2005-12-09  Richard Guenther  <rguenther@suse.de>
      
              * f95-lang.c (build_builtin_fntypes): Use correct
              return types, as indicated by comments.
      
      From-SVN: r108277
      Richard Guenther committed
    • mips.c (override_options): Don't allow too small integers in FP registers. · 2cf2d928
      	* config/mips/mips.c (override_options): Don't allow too small
      	integers in FP registers.
      
      From-SVN: r108276
      Thiemo Seufer committed
    • re PR libfortran/25039 ([4.1 only] comma short-circuit field width) · 18d83a6f
      2005-12-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/25039
      	* gfortran.dg/read_comma.f: New test.
      
      From-SVN: r108272
      Jerry DeLisle committed
    • re PR libfortran/25039 ([4.1 only] comma short-circuit field width) · b14c7e14
      2005-12-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/25039
      	* io/io.h: Create a new flag sf_read_comma to control comma
      	separators in numeric reads.
      	* io/transfer.c (formatted_transfer_scalar): Initialize the flag.
      	(read_sf): Check for commas coming in and if the flag is set,
      	shortcut the read.
      	* io/read.c (read_a) (read_x): Clear the flag for character reads and
      	reset it after the reads.
      
      From-SVN: r108271
      Jerry DeLisle committed
    • s390.c (s390_function_ok_for_sibcall): Use targetm.binds_local_p to check for local function calls. · 7691ec4e
      	* config/s390/s390.c (s390_function_ok_for_sibcall): Use
      	targetm.binds_local_p to check for local function calls.
      
      From-SVN: r108269
      Ulrich Weigand committed
    • Daily bump. · a5a9aa38
      From-SVN: r108265
      GCC Administrator committed
  2. 08 Dec, 2005 22 commits
    • re PR debug/24908 (ICE in dwarf2out for cpu2000 with -funroll-loops -fno-tree-copyrename) · 2c42e193
      	PR debug/24908
      	* dwarf2out.c (dwarf2out_frame_debug_expr): Don't assert that
      	call_used_regs can't be used to save reg in another reg.
      
      From-SVN: r108257
      Alan Modra committed
    • re PR c++/19317 (removing a temporary return value when we cannot) · 6d66414c
      	PR c++/19317
      	* g++.dg/opt/pr19317-1.C: New test.
      	* g++.dg/opt/pr19317-2.C: New test.
      	* g++.dg/opt/pr19317-3.C: New test.
      
      From-SVN: r108247
      Jakub Jelinek committed
    • re PR target/19005 (Error: bad register name `%sil') · 1412e0b5
      	PR target/19005
      	* gcc.c-torture/execute/pr19005.c: New test.
      
      From-SVN: r108246
      Jakub Jelinek committed
    • re PR target/17828 (-O2 -fPIC doesn't work with switches in linkonce functions and new binutils) · 58080452
      	PR target/17828
      	* g++.old-deja/g++.other/comdat5.C: New test.
      	* g++.old-deja/g++.other/comdat5-aux.cc: New file.
      
      From-SVN: r108245
      Jakub Jelinek committed
    • struct-layout-1.exp: New file. · e729a385
      	* g++.dg/compat/struct-layout-1.exp: New file.
      	* g++.dg/compat/struct-layout-1.h: New.
      	* g++.dg/compat/struct-layout-1_generate.c: New.
      	* g++.dg/compat/struct-layout-1_x1.h: New.
      	* g++.dg/compat/struct-layout-1_x2.h: New.
      	* g++.dg/compat/struct-layout-1_y1.h: New.
      	* g++.dg/compat/struct-layout-1_y2.h: New.
      
      From-SVN: r108244
      Jakub Jelinek committed
    • * gcc.dg/20050330-2.c: New test. · 88a6bf5e
      From-SVN: r108243
      Jakub Jelinek committed
    • * ChangeLog: correct typo in date. · 4416de0c
      From-SVN: r108242
      François-Xavier Coudert committed
    • re PR fortran/25292 (ASSOCIATED( func() ) rejected ?) · 58c0774f
      fortran/
      2005-12-08  Erik Edelmann  <eedelman@gcc.gnu.org>
      
              PR fortran/25292
              * check.c (gfc_check_associated): Allow function results
              as actual arguments to ASSOCIATED.  Moved a misplaced
              comment.
      
      
      testsuite/
      2005-12-08  Erik Edelmann  <eedelman@gcc.gnu.org>
      
              PR fortran/25292
              * gfortran.dg/associated_1.f90: New.
      
      From-SVN: r108238
      Erik Edelmann committed
    • ipa-type-escape.c (analyze_variable): Use gcc_assert instead of abort. · dd2c9f74
      	* ipa-type-escape.c (analyze_variable): Use gcc_assert instead of
      	abort.
      	* except.c (output_ttype): Likewise.
      	* tree-object-size.c (collect_object_sizes_for): Likewise.
      	(check_for_plus_in_loops_1): Likewise.
      	(check_for_plus_in_loops): Likewise.
      	(compute_object_sizes): Use gcc_unreachable instead of abort.
      
      Co-Authored-By: Christophe Jaillet <christophe.jaillet@wanadoo.fr>
      
      From-SVN: r108237
      Volker Reichelt committed
    • re PR libgcj/25265 (linking BC-compiled classes with incompatible changes) · ccd83be5
      2005-12-08  Andrew Haley  <aph@redhat.com>
      
              PR libgcj/25265
              * java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
              (soft_abstractmethod_node): New.
              * expr.c (build_field_ref): Add in-line check for missing field.
              * decl.c (java_init_decl_processing): Add soft_nosuchfield_node.
      
      2005-12-08  Andrew Haley  <aph@redhat.com>
      
              PR libgcj/25265
              * java/lang/Object.h (throwNoSuchMethodError): New method.
              * java/lang/Object.java (throwNoSuchMethodError): New method.
              * include/jvm.h (_Jv_ThrowNoSuchFieldError): Declare.
              * link.cc (_Jv_ThrowNoSuchFieldError): New.
              (link_symbol_table): Don't throw a NoSuchFieldError if a field is
              missing.  Instead, set the otable entry to zero.
              (link_symbol_table): If we don't find a nonstatic method, insert
              the vtable offset of Object.throwNoSuchMethodError() into the
              otable.
      
      From-SVN: r108235
      Andrew Haley committed
    • Object.h (throwNoSuchMethodError): New method. · 9edd0f5e
      2005-12-08  Andrew Haley  <aph@redhat.com>
      
              * java/lang/Object.h (throwNoSuchMethodError): New method.
              * java/lang/Object.java (throwNoSuchMethodError): New method.
              * include/jvm.h (_Jv_ThrowNoSuchFieldError): Declare.
              * link.cc (_Jv_ThrowNoSuchFieldError): New.
              (link_symbol_table): Don't throw a NoSuchFieldError if a field is
              missing.  Instead, set the otable entry to zero.
              (link_symbol_table): If we don't find a nonstatic method, insert
              the vtable offset of Object.throwNoSuchMethodError() into the
              otable.
      
      From-SVN: r108231
      Andrew Haley committed
    • java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE. · e0038845
      2005-12-08  Andrew Haley  <aph@redhat.com>
      
      	* java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
      	(soft_abstractmethod_node): New.
      	* expr.c (build_field_ref): Add in-line check for missing field.
      	* decl.c (java_init_decl_processing): Add soft_nosuchfield_node.
      
      2005-12-08  Andrew Haley  <aph@redhat.com>
      
      	* java/lang/Object.h (throwNoSuchMethodError): New method.
      	* java/lang/Object.java (throwNoSuchMethodError): New method.
      	* include/jvm.h (_Jv_ThrowNoSuchFieldError): Declare.
      	* link.cc (_Jv_ThrowNoSuchFieldError): New.
      	(link_symbol_table): Don't throw a NoSuchFieldError if a field is
      	missing.  Instead, set the otable entry to zero.
      	(link_symbol_table): If we don't find a nonstatic method, insert
      	the vtable offset of Object.throwNoSuchMethodError() into the
      	otable.
      
      
      [[Split portion of a mixed commit.]]
      
      From-SVN: r108230.2
      Andrew Haley committed
    • ms1.md (UNSPEC_LOOP): New constant. · ac3ebe93
      	* config/ms1/ms1.md (UNSPEC_LOOP): New constant.
      	(loop_end, loop_init, doloop_end): New insns.
      	* config/ms1/ms1.h (LOOP_FIRST, LOOP_LAST): New.
      	(SPECIAL_REG_FIRST, FIRST_PSEUDO_REGISTER): Adjust.
      	(FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
      	(REG_CLASS_CONTENTS, REGISTER_NAMES): Adjust.
      	* config/ms1/ms1.c: #include basic-block.h
      	(struct machine_function): Add has_loops field.
      	(ms1_add_loop): New.
      	(MAX_LOOP_DEPTH, MAX_LOO_LENGTH): New.
      	(struct loop_info, struct loop_work): New.
      	(ms1_loop_nesting, ms1_block_length, ms1_scan_loop): New workers.
      	(ms1_reorg_loops): New loop optimization.
      	(ms1_machine_reorg): Call it.
      	* config/ms1/ms1-protos.h (ms1_add_loop): Declare.
      
      From-SVN: r108229
      Nathan Sidwell committed
    • re PR libstdc++/24617 (vector vs __erase_at_end) · bc9053ab
      2005-12-08  Paolo Carlini  <pcarlini@suse.de>
      
      	* include/bits/stl_vector.h (vector<>::size, resize, capacity,
      	operator[]): Avoid troubles with ADL, user defined operators
      	and __normal_iterator.
      	(_M_erase_at_end): Fix to take a pointer.
      	(clear): Adjust call.
      	* include/bits/vector.tcc (vector<>::insert(iterator, const
      	value_type&), erase(iterator, iterator), operator=(const
      	vector<>&), _M_assign_aux(input_iterator_tag), _M_insert_aux,
      	_M_fill_insert, _M_range_insert): Likewise.
      	(_M_fill_assign, _M_assign_aux(forward_iterator_tag)): Adjust
      	_M_erase_at_end call.
      	* testsuite/23_containers/vector/types/1.cc: New.
      
      2005-12-08  Paolo Carlini  <pcarlini@suse.de>
      
      	PR libstdc++/24617
      	* include/bits/stl_vector.h (vector<>::_M_erase_at_end): New.
      	(vector<>::clear, resize): Use it.
      	* include/bits/vector.tcc (vector<>::erase(iterator, iterator),
      	_M_fill_assign, _M_assign_aux): Likewise.
      
      	* testsuite/23_containers/vector/modifiers/erase/1.cc: New.
      
      From-SVN: r108227
      Paolo Carlini committed
    • re PR middle-end/25248 (2.6.15-rc4 arch/powerpc/mm/hash_utils_64.c miscompiled) · b2a93c0a
      	PR tree-optimization/25248
      	* tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Do not use
      	evolution_of_loop from the failed attempt.  Remove handling
      	of MULT_EXPR.
      
      From-SVN: r108225
      Zdenek Dvorak committed
    • vect-5.f90: Expect alignment forcing only on ILP32 vect_no_align platforms. · fa8e2451
      	* gfortran.dg/vect/vect-5.f90: Expect alignment forcing only on
      	ILP32 vect_no_align platforms.
      
      From-SVN: r108223
      Eric Botcazou committed
    • call.c (build_conditional_expr): Print types in error messages. · f55ae172
      2005-12-08  Théodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
      
              * call.c (build_conditional_expr): Print types in error
                messages.
      
      From-SVN: r108222
      Théodore Papadopoulo committed
    • * tree.h (DECL_EXTERNAL): Clarify documentation. · 9783dd38
      From-SVN: r108221
      Gabriel Dos Reis committed
    • re PR target/25268 (ICE on lshrdi3_31 pattern) · 4989e88a
      2005-12-08  Andreas Krebbel  <krebbel1@de.ibm.com>
                  Jakub Jelinek  <jakub@redhat.com>
      
      	PR target/25268
      	* config/s390/s390.c (s390_decompose_shift_count): Remove BITS
      	argument.  Don't drop outer ANDs.
      	(s390_extra_constraint_str, print_shift_count_operand): Adjust callers.
      	* config/s390/s390-protos.h (s390_decompose_shift_count): Adjust
      	prototype.
      	* config/s390/predicates.md (setmem_operand): Remove.
      	(shift_count_operand): Rename to...
      	(shift_count_or_setmem_operand): ... this.  Adjust
      	s390_decompose_shift_count caller.
      	* config/s390/s390.md (<shift>di3_31_and, <shift>di3_64_and,
      	ashrdi3_cc_31_and, ashrdi3_cconly_31_and, ashrdi3_31_and,
      	ashrdi3_cc_64_and, ashrdi3_cconly_64_and, ashrdi3_64_and,
      	<shift>si3_and, ashrsi3_cc_and, ashrsi3_cconly_and, ashrsi3_and,
      	rotl<mode>3_and, setmem_long_and): New insns.
      	(<shift>di3_31, <shift>di3_64, ashrdi3_cc_31, ashrdi3_cconly_31,
      	ashrdi3_31, ashrdi3_cc_64, ashrdi3_cconly_64, ashrdi3_64,
      	<shift>si3, ashrsi3_cc, ashrsi3_cconly, ashrsi3, rotl<mode>3,
      	<shift>di3, ashrdi3): Use shift_count_or_setmem_operand instead
      	of shift_count_operand.
      	(setmem_long): Use shift_count_or_setmem_operand instead of
      	setmem_operand.
      
      2005-12-08  Andreas Krebbel  <krebbel1@de.ibm.com>
                  Jakub Jelinek  <jakub@redhat.com>
      
              PR target/25268
      	* gcc.c-torture/compile/20051207-1.c: New test.
      
      
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r108220
      Andreas Krebbel committed
    • Makefile.in (ALL_GTFILES_H): Replace sed statement with more portable tr expression. · 820715b8
      2005-12-08  Daniel Jacobowitz  <dan@codesourcery.com>  
      	    Andreas Tobler  <a.tobler@schweiz.ch>
      
      	* Makefile.in (ALL_GTFILES_H): Replace sed statement with more portable
      	tr expression.
      
      Co-Authored-By: Andreas Tobler <a.tobler@schweiz.ch>
      
      From-SVN: r108215
      Daniel Jacobowitz committed
    • i386-1.C, [...]: Also test on x86_64. · 9fecf303
      2005-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
      
      	* g++.dg/other/i386-1.C, gcc.c-torture/execute/990413-2.x,
      	gcc.dg/torture/pr18582-1.c,
      	gcc.target/i386/attributes-error.c: Also test on x86_64.
      
      	* gcc.dg/pr18928-1.c: Test on all targets supporting pic.
      
      From-SVN: r108209
      Kaveh R. Ghazi committed
    • Daily bump. · d3ca869a
      From-SVN: r108205
      GCC Administrator committed
  3. 07 Dec, 2005 3 commits