Commit Graph

59459 Commits

Author SHA1 Message Date
Richard Sandiford
f1526aaae7 re PR target/16176 (Miscompilation of unaligned data in MIPS backend (SB1 flavor))
PR target/16176
	* config/mips/mips.c (mips_expand_unaligned_load): Use a temporary
	register for the destination of the lwl or ldl.

From-SVN: r83668
2004-06-25 18:24:51 +00:00
Richard Kenner
2fbe90f224 tree-cfg.c (verify_expr): Add macro CHECK_OK.
* tree-cfg.c (verify_expr): Add macro CHECK_OK.
	Properly test for nest of handled_components in LHS context.

From-SVN: r83666
2004-06-25 14:17:53 -04:00
Benjamin Kosnik
795af1d735 re PR libstdc++/16182 (wctype.h not included by c++locale_internal.h)
2004-06-25  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/16182
	* linkage.m4 (GLIBCXX_CHECK_BUILTIN_MATH_DEC): Revert to
	AC_DEFINE_UNQUOTED.
	* configure: Regenerate.

From-SVN: r83664
2004-06-25 17:45:42 +00:00
Devang Patel
f71bc914e6 * doc/tree-ssa.texi: Document info about MODIFY_EXPR's type
From-SVN: r83662
2004-06-25 10:36:50 -07:00
Frank Ch. Eigler
2f016d5c37 * quick build fix
2004-06-25  Frank Ch. Eigler  <fche@redhat.com>

	* ansidecl.h, libiberty.h: New dummy files for building splay-tree.
	* config.h.in: Regenerated.

From-SVN: r83661
2004-06-25 17:17:51 +00:00
Paul Brook
4185ae5397 target-def.h (TARGET_CXX_GUARD_TYPE, [...]): Define.
gcc/
	* target-def.h (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT,
	TARGET_CXX): Define.
	(TARGET_INITIALIZER): Use TARGET_CXX.
	* target.h (struct gcc_target): Add struct cxx.
	* targhooks.h (default_cxx_guard_type): Add prototype.
	* targhooks.c (default_cxx_guard_type): New function.
	* config/arm/arm.c (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT):
	Define.
	(arm_cxx_guard_type, arm_cxx_guard_mask_bit): New functions.
	* doc/tm.texi: Document TARGET_CXX_GUARD_TYPE and
	TARGET_CXX_GUARD_MASK_BIT.
gcc/cp/
	* decl2.c (get_guard): Call targetm.cxx.guard_type.
	(get_guard_bits, get_guard_cond): Call targetm.cxx.guard_mask_bit.
libstdc++/
	* libsupc++/cxxabi.h: Define __ARM_EABI__
	(__guard): Use it.
	* libsupc++/guard.h (__cxa_guard_acquire, __cxa_guard_release): Ditto.

From-SVN: r83660
2004-06-25 17:15:46 +00:00
Arnaud Charlet
0da2c8ac77 revert: [multiple changes]
2004-06-25  Pascal Obry  <obry@gnat.com>

	* makegpr.adb (Build_Library): Remove parameter Lib_Address and
	Relocatable from Build_Dynamic_Library call.

	* gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
	Relocatable are now synonym.

	* Makefile.in: Use s-parame-mingw.adb on MingW platform.

	* mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
	Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
	call.

	* mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
	Lib_Address and Relocatable.
	(Default_DLL_Address): Removed.

	* mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
	mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
	mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
	(Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
	(Default_DLL_Address): Removed.

	* mlib-tgt-mingw.adb: Ditto.
	(Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.

	* s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
	the initial thread stack size.

	* a-strmap.ads: Move package L to private part as it is not used in
	the spec. Found while reading code.

2004-06-25  Olivier Hainque  <hainque@act-europe.fr>

	* tracebak.c: Introduce support for a GCC infrastructure based
	implementation of __gnat_backtrace.

	* raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
	any more. Use accessors instead. This eases maintenance and relaxes
	some alignment constraints.
	(_GNAT_Exception structure): Remove the Ada specific fields
	(EID_For, Adjust_N_Cleanups_For): New accessors, exported by
	a-exexpr.adb.
	(is_handled_by, __gnat_eh_personality): Replace component references to
	exception structure by use of the new accessors.

	* init.c (__gnat_initialize): Adjust comments to match the just
	reverted meaning of the -static link-time option.

	* adaint.c (convert_addresses): Arrange not to define a stub for
	mips-irix any more, as we now want to rely on a real version from a
	recent libaddr2line.

	* a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
	the personality routine can use them and not have to rely on a C
	counterpart of the record anymore. This simplifies maintenance and
	relaxes the constraint of having Standard'Maximum_Alignment match
	BIGGEST_ALIGNMENT.
	Update comments, and add a section on the common header alignment issue.

2004-06-25  Geert Bosch  <bosch@gnat.com>

	* a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
	polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.

2004-06-25  Robert Dewar  <dewar@gnat.com>

	* gnat_rm.texi: Fix section on component clauses to indicate that the
	restriction on byte boundary placement still applies for bit packed
	arrays.
	Add comment on stack usage from Initialize_Scalars

	* gnat_ugn.texi: Add documentation for -gnatyLnnn

	* stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
	limiting nesting level.

	* usage.adb: Add line for -gnatyLnnn switch

	* g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
	sem_ch13.adb, exp_aggr.adb: Minor reformatting

	* sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
	type as well as on the subtype. This corrects a problem in freeze in
	setting alignments of atomic types.

	* sem_eval.ads: Minor comment typo fixed

	* par-util.adb (Push_Scope_Stack): Check for violation of max nesting
	level.  Minor reformatting.

	* fname.adb (Is_Predefined_File_Name): Require a letter after the
	minus sign. This means that file names like a--b.adb will not be
	considered predefined.

	* freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
	record Test new flag and give diagnostic for bad component clause.
	(Freeze_Entity): Set alignment of array from component alignment in
	cases where this is safe to do.

	* exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
	arrays.

	* cstand.adb: (Create_Standard): Set alignment of String to 1

	* einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary

	* exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
	code in the common constrained array cases.

	* a-storio.adb: Change implementation to avoid possible alignment
	problems on machines requiring strict alignment (data should be moved
	as type Buffer, not type Elmt).

	* checks.adb (Apply_Array_Size_Check): Improve these checks by
	killing the overflow checks which we really do not need (64-bits is
	enough).

2004-06-25  Vincent Celier  <celier@gnat.com>

	* makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
	(Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
	inconditionally for the main project.
	(Recursive_Add_Archives.Add_Archive_Path): New procedure
	(Link_Executables.Check_Time_Stamps): New procedure
	(Link_Executables.Link_Foreign): New procedure
	Changes made to reduce nesting level of this package
	(Check): New procedure
	(Add_Switches): When not in quiet output, check that a switch is not
	the concatenation of several valid switches. If it is, issue a warning.
	(Build_Global_Archive): If the global archive is rebuilt, linking need
	to be done.
	(Compile_Sources): Rebuilding a library archive does not imply
	rebuilding the global archive.
	(Build_Global_Archive): New procedure
	(Build_Library): New name for Build_Archive, now only for library
	project
	(Check_Archive_Builder): New procedure
	(Create_Global_Archive_Dependency_File): New procedure
	(Gprmake): Call Build_Global_Archive before linking
	* makegpr.adb: Use Other_Sources_Present instead of Sources_Present
	throughout.
	(Scan_Arg): Display the Copyright notice when -v is used

	* gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
	for gnatls.

	* vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
	COMPILE.
	Add new GNAT LIST qualifier /FILES=
	Added qualifier /DIRECTORY= to GNAT METRIC
	Added qualifier /FILES= to GNAT METRIC
	Added qualifier /FILES to GNAT PRETTY

	* switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
	to take into account both versions of the switch.

	* switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
	always be the last switch to the gcc driver. Disable switch storing so
	that switches automatically added by the gcc driver are not put in the
	ALI file.

	* prj.adb (Project_Empty): Take into account changes in components of
	Project_Data.

	* prj.ads (Languages_Processed): New enumaration value All_Languages.

	* prj.ads (Project_Data): Remove component Lib_Elaboration: never
	used. Split Boolean component Ada_Sources_Present in two Boolean
	components Ada_Sources_Present and Other_Sources_Present.
	Minor reformatting

	* prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
	instead of Sources_Present.
	(Set_Ada_Paths.Add.Recursive_Add): Ditto

	* prj-nmsc.adb: Minor reformatting
	(Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
	(Check_Ada_Naming_Scheme_Validity): New name of previous procedure
	Check_Ada_Naming_Scheme.
	Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
	throughout.

	* prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
	In_Limited.
	Make sure that all cycles where there is at least one "limited with"
	are detected.
	(Parse_Single_Project): New Boolean parameter In_Limited

	* prj-proc.adb (Recursive_Check): When Process_Languages is
	All_Languages, call first Prj.Nmsc.Ada_Check, then
	Prj.Nmsc.Other_Languages_Check.

	* prj-proc.adb (Process): Use Ada_Sources_Present or
	Other_Sources_Present (instead of Sources_Present) depending on
	Process_Languages.

	* lang-specs.h: Keep -g and -m switches in the same order, and as the
	last switches.

	* lib.adb (Switch_Storing_Enabled): New global Boolean flag
	(Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
	False.
	(Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
	False.

	* lib.ads (Disable_Switch_Storing): New procedure.

	* make.adb: Modifications to reduce nesting level of this package.
	(Check_Standard_Library): New procedure
	(Gnatmake.Check_Mains): New procedure
	(Gnatmake.Create_Binder_Mapping_File): New procedure
	(Compile_Sources.Compile): Add switch -gnatez as the last option
	(Display): Never display -gnatez

	* Makefile.generic:
	When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)

	* gnatcmd.adb (Check_Project): New function
	(Process_Link): New procedure to reduce nesting depth
	(Check_Files): New procedure to reduce the nesting depth.
	For GNAT METRIC, include the inherited sources in extending projects.
	(GNATCmd): When GNAT LS is invoked with a project file and no files,
	add the list of files from the sources of the project file. If this list
	is too long, put it in a temp text files and use switch -files=
	(Delete_Temp_Config_Files): Delete the temp text file that contains
	a list of source for gnatpp or gnatmetric, if one has been created.
	(GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
	in the project file is too large, create a temporary text file that
	list them and pass it to the tool with "-files=<temp text file>".
	(GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch

	* gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
	generated file is in not in Ada.

	* gnatls.adb: Remove all parameters And_Save that are no longer used.
	(Scan_Ls_Arg): Add processing for -files=
	(Usage): Add line for -files=

	* g-os_lib.adb (On_Windows): New global constant Boolean flag
	(Normalize_Pathname): When on Windows and the path starts with a
	directory separator, make sure that the resulting path will start with
	a drive letter.

	* clean.adb (Clean_Archive): New procedure
	(Clean_Project): When there is non-Ada code, delete the global archive,
	the archive dependency files, the object files and their dependency
	files, if they exist.
	(Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.

2004-06-25  Thomas Quinot  <quinot@act-europe.fr>

	* sinfo.ads: Fix typo in comment.

	* sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
	the TSS for remote access-to-subprogram types, since these TSS are
	always present once the type has been analyzed.
	(RAS_E_Dereference): Same.

	* sem_attr.adb (Analyze_Attribute): When analysis of an attribute
	reference raises Bad_Attribute, mark the reference as analyzed so the
	node (and any children resulting from rewrites that could have occurred
	during the analysis that ultimately failed) is not analyzed again.

	* exp_ch7.ads (Find_Final_List): Fix misaligned comment.

	* exp_dist.adb: Minor comment fix.

	* exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
	type is an anonymous access type, no unchecked deallocation of the
	allocated object can occur. If the object is controlled, attach it with
	a count of 1. This allows attachment to the Global_Final_List, if
	no other relevant list is available.
	(Get_Allocator_Final_List): For an anonymous access type that is
	the type of a discriminant or record component, the corresponding
	finalisation list is the one of the scope of the type.

2004-06-25  Ed Schonberg  <schonberg@gnat.com>

	* sem_ch3.adb (Replace_Type): When computing the signature of an
	inherited subprogram, use the first subtype if the derived type
	declaration has no constraint.

	* exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
	before applying previous optimization. Minor code cleanup.

	* exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
	placed at the beginning of an unpacked record without explicit
	alignment, a slice of it will be aligned and does not need a copy when
	used as an actual.

2004-06-25  Ed Schonberg  <schonberg@gnat.com>

	PR ada/15591
	PR ada/15592
	* sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
	reference is written with expressions mimicking parameters.

2004-06-25  Hristian Kirtchev  <kirtchev@gnat.com>

	PR ada/15589
	* sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
	STEP 2a. The constraints of a full type declaration of a derived record
	type are checked for conformance with those declared in the
	corresponding private extension declaration. The message
	"not conformant with previous declaration" is emitted if an error is
	detected.

2004-06-25  Vasiliy Fofanov  <fofanov@act-europe.fr>

	* g-traceb.ads: Document the need for -E binder switch in the spec.

	* g-trasym.ads: Document the need for -E binder switch in the spec.

2004-06-25  Jose Ruiz  <ruiz@act-europe.fr>

	* sem_prag.adb: Add handling of pragma Detect_Blocking.

	* snames.h, snames.ads, snames.adb: Add entry for pragma
	Detect_Blocking.

	* s-rident.ads: Change reference to pragma Detect_Blocking.

	* targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
	system.ads.

	* opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
	to indicate whether pragma Detect_Blocking is active.

	* par-prag.adb: Add entry for pragma Detect_Blocking.

	* rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
	of not handling WITH.
	Note that this replaces the previous update which was incorrect.

2004-06-25  Javier Miranda  <miranda@gnat.com>

	* sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
	use-clauses to have a clean environment.

	* sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
	the installation of the use-clauses to stablish a clean environment in
	case of compilation of a separate unit; otherwise the call to
	use_one_package is protected by the barrier Applicable_Use.

	* sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
	the installation of the use-clauses to stablish a clean environment in
	case of compilation of a separate unit.
	(End_Use_Clauses): Minor comment cleanup.

2004-06-25  Sergey Rybin  <rybin@act-europe.fr>

	* gnat_ugn.texi: Add description of the gnatpp 'files' switch

From-SVN: r83658
2004-06-25 18:39:33 +02:00
Paul Brook
29357d8b94 concurrence.h: Still create mutex object when single-threaded.
* include/bits/concurrence.h: Still create mutex object when
	single-threaded.

From-SVN: r83657
2004-06-25 16:36:13 +00:00
Devang Patel
dba845ac28 darwin.h (CC1_SPEC): Handle -gused and -gfull.
* config/rs6000/darwin.h (CC1_SPEC): Handle -gused and -gfull.
        * config/i386/darwin.h (CC1_SPEC): Same.

From-SVN: r83655
2004-06-25 08:41:38 -07:00
Tobias Schlüter
e2296cc21d * gfortran.fortran-torture/execute/der_init_3.f90: Fix syntax error.
From-SVN: r83654
2004-06-25 17:30:57 +02:00
Mark G. Adams
efaa45e648 * dbxout.h: Add include guards
From-SVN: r83653
2004-06-25 15:01:35 +00:00
Paolo Carlini
07e938fc86 stl_algobase.h (fill, fill_n): Revert last change...
2004-06-25  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algobase.h (fill, fill_n): Revert last
	change: actually we need to copy construct an object of type
	_Tp, not of type iterator_traits<>::value_type, therefore the
	code is ok.

From-SVN: r83652
2004-06-25 14:17:58 +00:00
Paul Brook
4adf3e34b2 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_EABI__.
From-SVN: r83651
2004-06-25 13:48:51 +00:00
Paolo Carlini
1a277d94fe stl_algobase.h (fill, fill_n): Tighten the dispatch: use iterator_traits<>::value_type, not _Tp.
2004-06-25  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algobase.h (fill, fill_n): Tighten the
	dispatch: use iterator_traits<>::value_type, not _Tp.

From-SVN: r83648
2004-06-25 10:51:45 +00:00
Richard Earnshaw
68d560d4d6 arm.c (arm_arch4t): New variable.
* arm.c (arm_arch4t): New variable.
(arm_override_options): Initialize it.  If compiling for armv5 or
higher clear TARGET_INTERWORK.
(output_call): Abort if called for armv5.  Use BX if it's available.
(output_call_mem): Use BLX if available and ensure that all armv5
code is interworking safe.
(output_return_instruction): Always use BX in preference to MOV if
it's available.
(arm_output_epilogue): Likewise.
(arm_final_prescan_insn): Never conditionally call a subroutine
on armv5.
* arm.h (arm_arch4t): Declare.
* arm.md (call_reg_armv5, call_value_reg_armv5): New.
(call_reg_arm, call_value_reg_arm): Renamed from call_reg and
call_value_reg respectively.
(call_reg_thumb_v5, call_value_reg_thumb_v5): New.
(call_reg_thumb, call_value_reg_thumb): Renamed from call_indirect
and call_value_indirect respectively.

From-SVN: r83647
2004-06-25 10:42:21 +00:00
Paolo Carlini
576df3214c 1.cc: Tweak instantiations.
2004-06-25  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/25_algorithms/fill/1.cc: Tweak instantiations.
	* testsuite/25_algorithms/fill/2.cc: Likewise.

From-SVN: r83646
2004-06-25 09:37:21 +00:00
Paolo Carlini
6e539e2396 [multiple changes]
2004-06-25  Dan Nicolaescu  <dann@ics.uci.edu>
	    Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algobase.h (__fill, __fill_n): New helpers
	for fill and fill_n, respectively: when copying is cheap, use a
	temporary to avoid a memory read in each iteration.

2004-06-25  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/25_algorithms/fill/1.cc: New.
	* testsuite/25_algorithms/fill/2.cc: Likewise.

From-SVN: r83645
2004-06-25 09:25:57 +00:00
Benjamin Kosnik
c19d6c9f9f formatter.h (__gnu_debug::_Error_formatter): Remove copy constructor and assignment operator.
2004-06-25  Benjamin Kosnik  <bkoz@redhat.com>

	* include/debug/formatter.h (__gnu_debug::_Error_formatter):
	Remove copy constructor and assignment operator.

From-SVN: r83641
2004-06-25 07:01:42 +00:00
Richard Sandiford
bdb41add9d mips.c (reg_or_const_float_1_operand): Reimplement in terms of const_float_1_operand.
* config/mips/mips.c (reg_or_const_float_1_operand): Reimplement
	in terms of const_float_1_operand.

From-SVN: r83640
2004-06-25 06:59:03 +00:00
Richard Sandiford
3af5dcdb45 re PR target/16144 (Bogus reference to __divdf3 when -O1)
PR target/16144
	* config/mips/mips.md (divsf, divdf): Don't FAIL if the first operand
	is 1.0; force it into a register instead.

From-SVN: r83639
2004-06-25 06:57:14 +00:00
Benjamin Kosnik
838d430929 concurrence.h (__gnu_cxx::lock): New.
2004-06-24  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/concurrence.h (__gnu_cxx::lock): New.
	* include/ext/pool_allocator.h (__pool_base::_Lock::_S_lock): Remove.
	(__pool_base::_M_get_mutex): New.
	* include/bits/allocator.h: Tweak.
	* src/allocator.cc (__pool_base::_M_get_free_list): Correct offset.
	* config/linker-map.gnu: Remove __pool_base::_Lock::_S_lock.
	* include/bits/stl_threads.h: Remove.
	* include/Makefile.am: Also here.
	* include/Makefile.in: Regenerate.

	* src/locale_init.cc: Use __gnu_cxx::lock.

	* src/allocator.cc: Move all instantiations...
	* src/allocator-inst.cc: ...here.

From-SVN: r83638
2004-06-25 06:10:44 +00:00
Bernardo Innocenti
ade83c33bd m68k.h: Restore valid comment removed by mistake with the recent m68k comments cleanup.
* config/m68k/m68k.h: Restore valid comment removed by mistake with
	the recent m68k comments cleanup.

From-SVN: r83637
2004-06-25 07:05:16 +02:00
Mark Mitchell
f1b90a04e0 decl.c (grokdeclarator): Restore error messages about __thread.
* decl.c (grokdeclarator): Restore error messages about __thread.
	* parser.c (cp_parser_decl_specifier_seq): Likewise.

From-SVN: r83636
2004-06-25 04:48:53 +00:00
Andrew Pinski
6f0aa5e195 encoding.h: Wrap the functions with extern "C" for C++ mode.
2004-06-24  Andrew Pinski  <apinski@apple.com>

        * objc/encoding.h: Wrap the functions with extern "C" for C++
        mode.
        * objc/hash.h: Likewise.
        * objc/objc-api.h: Likewise.
        * objc/objc-list.h: Likewise.
        * objc/runtime.h: Likewise.
        * objc/sarray.h: Likewise.
        * objc/thr.h: Likewise.
        * objc/typedstream.h: Likewise.

From-SVN: r83635
2004-06-24 21:31:51 -07:00
Richard Kenner
fff34d356a c-gimplify.c (gimplify_for_stmt): Use gimplify_and_add.
* c-gimplify.c (gimplify_for_stmt): Use gimplify_and_add.
	* gimplify.c (internal_get_tmp_var, gimplify_return_expr): Likewise.
	(gimplify_loop_expr, gimplify_init_constructor): Likewise.
	(gimplify_self_mod_expr, gimplify_cond_expr): Likewise.

From-SVN: r83634
2004-06-24 23:46:30 -04:00
Richard Kenner
77db1f411d gimplify.c (voidify_wrapper_expr): Allow TARGET_EXPR.
PR/16131
	* gimplify.c (voidify_wrapper_expr): Allow TARGET_EXPR.

From-SVN: r83633
2004-06-24 23:41:41 -04:00
Richard Kenner
aa4a53af51 Update whitespace and comments
From-SVN: r83632
2004-06-24 22:00:16 -04:00
Richard Kenner
eb6127a4f9 * gimplify.c: Remove unneeded forward declarations.
From-SVN: r83630
2004-06-24 21:37:56 -04:00
Richard Kenner
f0d59f2e43 gimplify.c (append_to_compound_expr): Deleted.
* gimplify.c (append_to_compound_expr): Deleted.
	* tree-gimple.h (append_to_compound_expr): Deleted.

From-SVN: r83629
2004-06-24 21:33:42 -04:00
Richard Kenner
0c3b8d135d fold-const.c (fold_addr_expr_with_type): Look through all valid LHS modifiers to find a base to mark addressable.
* fold-const.c (fold_addr_expr_with_type): Look through all
	valid LHS modifiers to find a base to mark addressable.

From-SVN: r83628
2004-06-24 21:28:34 -04:00
Richard Kenner
61a36b9baa tree.h (debug_find_tree): Add declaration.
* tree.h (debug_find_tree): Add declaration.
	* tree-inline.c (debug_find_tree): Remove extern declaration.

From-SVN: r83627
2004-06-24 21:22:04 -04:00
Eric Christopher
819e019c9d rs6000.md: Apply change mistakenly deleted with 2004-06-22 patch.
2004-06-24  Eric Christopher  <echristo@redhat.com>

	* config/rs6000/rs6000.md: Apply change mistakenly
	deleted with 2004-06-22 patch.

From-SVN: r83625
2004-06-25 00:59:35 +00:00
GCC Administrator
3953b22e75 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r83623.2
2004-06-25 00:16:19 +00:00
GCC Administrator
933d6b39d6 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r83622.2
2004-06-25 00:16:14 +00:00
Richard Henderson
506e271035 c-decl.c (c_in_iteration_stmt, [...]): Remove.
* c-decl.c (c_in_iteration_stmt, c_in_case_stmt): Remove.
	(c_break_label, c_cont_label): New.
	(start_function): Update initializations.
	(c_push_function_context): Update saves.
	(c_pop_function_context): Update restores.
	* c-parse.in: Update expected conflicts.
	(stmt_count, compstmt_count): Remove.  Remove all updates.
	(if_prefix, simple_if, do_stmt_start): Remove.
	(lineno_labeled_stmt): Remove.
	(lineno_labels): New.
	(c99_block_lineno_labeled_stmt): Use it.
	(lineno_stmt, lineno_label): Don't clear EXPR_LOCUS before calling
	annotate_with_locus.
	(select_or_iter_stmt): Replace by ...
	(condition, if_statement_1, if_statement_2, if_statement,
	start_break, start_continue, while_statement, do_statement,
	for_cond_expr, for_incr_expr, for_statement, switch_statement): New.
	(stmt): Split out ...
	(stmt_nocomp): ... this.  Use c_finish_bc_stmt, c_finish_goto_label,
	c_finish_goto_ptr.
	* c-semantics.c (add_stmt): Don't add line numbers to labels.
	* c-tree.h: Update prototypes.
	(struct language_function): Remove x_in_iteration_stmt, x_in_case_stmt;
	add x_break_label, x_cont_label, x_switch_stack.
	(c_switch_stack): Declare.
	* c-typeck.c (c_finish_goto_label, c_finish_goto_ptr): New.
	(c_finish_return): Return the statement.
	(c_switch_stack): Rename from switch_stack; export.
	(if_elt, if_stack, if_stack_space, if_stack_pointer): Remove.
	(c_begin_if_stmt, c_finish_if_cond, c_finish_then, c_begin_else,
	c_finish_else): Remove.
	(c_finish_if_stmt): Rewrite to perform the entire operation.
	(c_begin_while_stmt, c_finish_while_stmt_cond, c_finish_while_stmt,
	c_begin_for_stmt, c_finish_for_stmt_init, c_finish_for_stmt_cond,
	c_finish_for_stmt_incr, c_finish_for_stmt): Remove.
	(c_finish_loop): New.
	(c_finish_bc_stmt): New.
	(c_finish_expr_stmt): Return the statement.  Split out...
	(c_process_expr_stmt): ... this.  Don't add locus to error marks.
	* gimplify.c (gimplify_cond_expr): Accept NULL type statements.
	* tree-gimple.c (is_gimple_stmt): Likewise.
	* tree-pretty-print.c (dump_generic_node <COND_EXPR>): Likewise.
	(print_struct_decl): Delete empty compound statement.
	* objc/objc-act.c (objc_build_throw_stmt): Return the statement.
	* objc/objc-act.h: Update decl.

From-SVN: r83620
2004-06-24 16:12:30 -07:00
Richard Kenner
6e6e49b10f tree-pretty-print.c (dump_generic_node, [...]): Don't look at TYPE_METHODS unless RECORD_TYPE or UNION_TYPE.
* tree-pretty-print.c (dump_generic_node, case TYPE_DECL):
	Don't look at TYPE_METHODS unless RECORD_TYPE or UNION_TYPE.

From-SVN: r83619
2004-06-24 18:54:21 -04:00
Andrew Pinski
c63817711e objc-act.c (build_objc_method_call): Save the lookup_object so we do not call it twice.
2004-06-24  Andrew Pinski  <apinski@apple.com>

        * objc-act.c (build_objc_method_call): Save the lookup_object
        so we do not call it twice.

From-SVN: r83618
2004-06-24 15:52:42 -07:00
Richard Kenner
500b9b49b2 Minor comment and whitespace changes
From-SVN: r83617
2004-06-24 18:47:42 -04:00
Richard Henderson
940db2c87c tree-ssa-dom.c (real_avail_expr_hash): New.
* tree-ssa-dom.c (real_avail_expr_hash): New.
        (tree_ssa_dominator_optimize): Use it in the htab.

From-SVN: r83616
2004-06-24 15:46:56 -07:00
Richard Kenner
c2484a8b43 Minor updating of comments.
From-SVN: r83615
2004-06-24 18:45:57 -04:00
Richard Kenner
7120d04625 Minor whitespace changes
From-SVN: r83613
2004-06-24 18:42:26 -04:00
Frank Ch. Eigler
2be480afc8 tree-mudflap.c (mx_register_decls): Add third (type) argument to synthesized __mf_unregister call.
2004-06-24  Frank Ch. Eigler  <fche@redhat.com>

	* tree-mudflap.c (mx_register_decls): Add third (type) argument
	to synthesized __mf_unregister call.

From-SVN: r83612
2004-06-24 21:12:49 +00:00
Frank Ch. Eigler
cfbd22d765 Adopt splay trees for object database.
2004-06-24  Frank Ch. Eigler  <fche@redhat.com>

	Adopt splay trees for object database.
	* Makefile.am: Copy splay-tree.* from libiberty.
	* Makefile.in, testsuite/Makefile.in: Regenerated.
	* mf-runtime.h.in (__mf_unregister): Add third parameter (type).
	* mf-hooks[123].c (*): Add new third parameter to mf_unregister.
	* mf-impl.h (BEGIN_PROTECT): Remove some trace text.
	* mf-runtime.c: Rewrite code dealing with object database to use
	libiberty splay trees.  Remove tree liveness aging option.
	* testsuite/libmudflap.c/fail18-frag.c: Add volatile flag.

From-SVN: r83611
2004-06-24 21:12:18 +00:00
Roger Sayle
7906648201 re PR middle-end/15239 (suboptimal mult-by-const expansion cost limit)
PR middle-end/15239
	* expmed.c (expand_mult): Remove artificial restriction on the
	maximum cost of a synthetic multiplication sequence.

From-SVN: r83610
2004-06-24 20:38:59 +00:00
Jason Merrill
3db4a9b428 re PR tree-optimization/16115 (double-destruction problem with argument passing via temporary (breaks auto_ptr))
PR c++/16115
        * decl.c (grokparms): Give the PARM_DECL reference type if the
        parameter is passed by invisible reference.

From-SVN: r83609
2004-06-24 16:07:23 -04:00
Eric Christopher
de7c79cc77 combine.c (distribute_notes): Don't delete sets to global register variables.
2004-06-24  Eric Christopher  <echristo@redhat.com>

	* combine.c (distribute_notes): Don't delete sets to
	global register variables.

From-SVN: r83606
2004-06-24 19:15:43 +00:00
Jakub Jelinek
d413e3cc11 i386.md (ffsdi2, clzdi2): New expanders.
* config/i386/i386.md (ffsdi2, clzdi2): New expanders.
	(ffs_rex64): New splitter.
	(ffsdi_1, ctzdi2, bsr_rex64): New instructions.

From-SVN: r83604
2004-06-24 19:54:13 +02:00
Andrew Pinski
d42093a1db darwin7.h (MATH_LIBRARY): Remove.
gcc/ChangeLog:
        * config/darwin7.h (MATH_LIBRARY): Remove.
        (LIB_SPEC): Define.
        * config/darwin.h (MATH_LIBRARY): Define always to empty.
        (LIB_SPEC): Only define if not already defined.

libstdc++/ChangeLog:
	* linkage.m4: Remove check for libmx.
	* configure: Regenerate.

libgfortran/ChangeLog:
	* configure.ac: Remove check for libmx.
	* configure: Regenerate.

From-SVN: r83603
2004-06-24 10:53:07 -07:00
Bryce McKinlay
cc21f43ecc jacks.xfail: Remove 15.9.1-qualified-concrete-20.
* testsuite/libjava.jacks/jacks.xfail: Remove
	15.9.1-qualified-concrete-20.

From-SVN: r83602
2004-06-24 18:41:18 +01:00
Revital Eres
abe0d774cf loop-iv.c (iv_analyze, [...]): Support for identifying shifts of induction variable.
2004-06-24  Revital Eres  <eres@il.ibm.com>

	* loop-iv.c (iv_analyze, simple_set_p): Support for identifying
	shifts of induction variable.
	(iv_shift): New function.

From-SVN: r83599
2004-06-24 16:50:35 +00:00