Commit Graph

61671 Commits

Author SHA1 Message Date
Arnaud Charlet
c885d7a17a [multiple changes]
2004-09-09  Vincent Celier  <celier@gnat.com>

	* a-direct.ads: Add pragma Ada_05
	(Directory_Entry_Type): Give default value to component Kind to avoid
	not initialized warnings.

	* a-direct.adb (Current_Directory): Remove directory separator at the
	end.
	(Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
	an existing directory.
	(Fetch_Next_Entry): Give default value to variable Kind to avoid warning
	(Size (String)): Function C_Size returns Long_Integer, not File_Size.
	Convert the result to File_Size.

	* prj.ads: (Project_Error): New exception

	* prj-attr.adb: Except in procedure Initialize, Fail comes from
	Prj.Com, not from Osint.
	(Attrs, Package_Attributes): Tables moved to private part of spec
	(Add_Attribute, Add_Unknown_Package): Moved to new child package
	Prj.Attr.PM.
	(Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
	Prj.Project_Error after call to Fail.
	(Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
	Fail. Check that package name is not already in use.

	* prj-attr.ads: Comment updates to indicate that all subprograms may be
	used by tools, not only by the project manager, and to indicate that
	exception Prj.Prj_Error may be raised in case of problem.
	(Add_Unknown_Package, Add_Attribute): Moved to new child package
	Prj.Attr.PM.
	(Attrs, Package_Attributes): Table instantiations moved from the body to
	the private part to be accessible from Prj.Attr.PM body.

	* prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
	from new package Prj.Attr.PM.
	(Parse_Attribute_Declaration): Call Add_Attribute from new package
	Prj.Attr.PM.

	* Makefile.in: Add prj-attr-pm.o to gnatmake object list

	* gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
	instead of Elaboration_Checks).

	* a-calend.adb: Minor reformatting

2004-09-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* gigi.h (maybe_pad_type): New declaration.
	(create_subprog_type): New arg RETURNS_BY_TARGET_PTR.

	* ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.

	* cuintp.c: Convert to use buildN.

	* decl.c (maybe_pad_type): No longer static.
	(gnat_to_gnu_entity, case E_Function): Handle case of returning by
	target pointer.
	Convert to use buildN.

	* trans.c (call_to_gnu): Add arg GNU_TARGET; support
	TYPE_RETURNS_BY_TARGET_PTR_P.  All callers changed.
	(gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
	RHS.
	(gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
	(gnat_gimplify_expr, case ADDR_EXPR): New case.
	Convert to use buildN.

	* utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
	TREE_READONLY for const.
	Convert to use buildN.

	* utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
	(create_var_decl): Refine when TREE_STATIC is set.
	Convert to use buildN.

2004-09-09  Gary Dismukes  <dismukes@gnat.com>

	* gnat_ugn.texi: Delete text relating to checking of ali and object
	consistency.

	* a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
	routines.

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

	* gnat_ugn.texi: Add Detect_Blocking to the list of configuration
	pragmas recognized by GNAT.

	* gnat_rm.texi: Document pragma Detect_Blocking.

	* s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
	raise Program_Error if called from a protected operation.

	* s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
	the protected action nesting level.
	(Lock_Read_Only): When pragma Detect_Blocking is active increase the
	protected action nesting level.
	(Unlock): When pragma Detect_Blocking is active decrease the protected
	action nesting level.

	* s-taskin.adb (Initialize_ATCB): Initialize to 0 the
	Protected_Action_Nesting.

	* s-taskin.ads: Adding the field Protected_Action_Nesting to the
	Common_ATCB record. It contains the dynamic level of protected action
	nesting for each task. It is needed for checking whether potentially
	blocking operations are called from protected operations.
	(Detect_Blocking): Adding a Boolean constant reflecting whether pragma
	Detect_Blocking is active or not in the partition.

	* s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
	raise Program_Error if called from a protected operation.
	(Task_Entry_Call): When pragma Detect_Blocking is active, raise
	Program_Error if called from a protected operation.
	(Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
	Program_Error if called from a protected operation.

	* s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
	raise Program_Error if called from a protected operation.

	* s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
	raise Program_Error if called from a protected operation, and increase
	the protected action nesting level.
	(Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
	Program_Error if called from a protected operation, and increase the
	protected action nesting level.
	(Unlock_Entries): When pragma Detect_Blocking is active decrease the
	protected action nesting level.

	* s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
	raise Program_Error if called from a protected operation, and increase
	the protected action nesting level.
	(Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
	Program_Error if called from a protected operation, and increase the
	protected action nesting level.
	(Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
	raise Program_Error if called from a protected operation.
	(Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
	active, raise Program_Error if called from a protected operation.
	(Unlock_Entry): When pragma Detect_Blocking is active decrease the
	protected action nesting level.

	* sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
	insertion of the statement raising Program_Error. The run time
	contains the required machinery for handling that.

	* sem_util.ads: Change comment associated to procedure
	Check_Potentially_Blocking_Operation.
	This procedure does not insert a call for raising the exception because
	that is currently done by the run time.

	* raise.h (__gnat_set_globals): Pass the detect_blocking parameter.

	* init.c: Add the global variable __gl_detect_blocking that indicates
	whether pragma Detect_Blocking is active (1) or not (0). Needed for
	making the pragma available at run time.
	(__gnat_set_globals): Pass and update the detect_blocking parameter.

	* lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
	pragma Detect_Blocking is active.

	* lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.

	* ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
	DB is found in the ali file. Any unit compiled with pragma
	Detect_Blocking active forces its effect in the whole partition.

	* a-retide.adb (Delay_Until): Raise Program_Error if pragma
	Detect_Blocking is active and delay is called from a protected
	operation.

	* bindgen.adb (Gen_Adainit_Ada): When generating the call to
	__gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
	Detect_Blocking is active (0 otherwise).
	(Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
	as Detect_Blocking parameter if pragma Detect_Blocking is active (0
	otherwise).

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

	* gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
	GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
	package.

	* s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
	(Register_Receiving_Stub): Add Subp_Info formal parameter.
	Update API in placeholder implemetation of s-parint to reflect changes
	in distribution runtime library.

	* sem_ch3.adb (Expand_Derived_Record): Rename to
	Expand_Record_Extension.

	* sem_disp.adb (Check_Controlling_Formals): Improve error message for
	primitive operations of potentially distributed object types that have
	non-controlling anonymous access formals.

	* sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
	subprogram.
	New implementation of expansion for remote access-to-subprogram types,
	based on the RACW infrastructure.
	This version of sem_dist is compatible with PolyORB/DSA as well as
	GLADE.

	* sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
	Asynchrronous that applies to a remote access-to-subprogram type, mark
	the underlying RACW type as asynchronous.

	* link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
	 __gnat_using_gnu_linker to 1.

	* Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
	g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
	GNAT.Perfect_Hash_Generators, and remove the empty
	GNAT.Perfect_Hash package.

	* atree.adb: Minor reformatting

	* exp_ch3.adb (Expand_Derived_Record): Rename to
	Expand_Record_Extension.
	(Build_Record_Init_Proc.Build_Assignment): The default expression in
	a component declaration must remain attached at that point in the
	tree so New_Copy_Tree copies it if the enclosing record type is derived.
	It is therefore necessary to take a copy of the expression when building
	the corresponding assignment statement in the init proc.
	As a side effect, in the case of a derived record type, we now see the
	original expression, without any rewriting that could have occurred
	during expansion of the ancestor type's init proc, and we do not need
	to go back to Original_Node.

	* exp_ch3.ads (Expand_Derived_Record): Rename to
	Expand_Record_Extension.

	* exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
	Returns the RACW type used to implement a remote access-to-subprogram
	type.
	(Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
	New subprograms. Used to create a proxy tagged object for a remote
	subprogram. The proxy object is used as the designated object
	for RAS values on the same partition (unless All_Calls_Remote applies).
	(Build_Get_Unique_RP_Call): New subprogram. Build a call to
	System.Partition_Interface.Get_Unique_Remote_Pointer.
	(Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
	Renamed from Add_RAS_*_Attribute.
	(Add_Receiving_Stubs_To_Declarations): Generate a table of local
	subprograms.
	New implementation of expansion for remote access-to-subprogram types,
	based on the RACW infrastructure.

	* exp_dist.ads (Copy_Specification): Update comment to note that this
	function can copy the specification from either a subprogram
	specification or an access-to-subprogram type definition.

2004-09-09  Ed Schonberg  <schonberg@gnat.com>

	* sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
	in an instance, between an explicit subprogram an one inherited from a
	type derived from an actual.

	* exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
	add a polling call if the subprogram is to be inlined by the back-end,
	to avoid repeated calls with multiple inlinings.

	* checks.adb (Apply_Alignment_Check): If the expression in the address
	clause is a call whose name is not a static entity (e.g. a dispatching
	call), treat as dynamic.

2004-09-09  Robert Dewar  <dewar@gnat.com>

	* g-trasym.ads: Minor reformatting

	* exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
	packed arrays, since unused bits are expected to be zero for a
	comparison.

2004-09-09  Eric Botcazou  <ebotcazou@act-europe.fr>

	* exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
	comment.

2004-09-09  Pascal Obry  <obry@gnat.com>

	* mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
	enable map file generation. Add the right option to generate the map
	file if Map_File is set to True.

	* gnatdll.adb (Gen_Map_File): New variable.
	(Syntax): Add info about new -m (Map_File) option.
	(Parse_Command_Line): Add support for -m option.
	(gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
	Minor reformatting.

2004-09-09  Laurent Pautet  <pautet@act-europe.fr>

	* gnatls.adb: Add a very verbose mode -V. Such mode is required by the
	new gnatdist implementation.
	Define a subpackage isolating the output routines specific to this
	verbose mode.

2004-09-09  Joel Brobecker  <brobecker@gnat.com>

	* Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.

	* gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.

2004-09-09  Cyrille Comar  <comar@act-europe.fr>

	* opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
	internal unit.

	* opt.ads: Add Ada_Version_Runtime constant used to decide which
	version of the language is used to compile the run time.

2004-09-09  Arnaud Charlet  <charlet@act-europe.fr>

	* sem_util.adb (Requires_Transient_Scope): Re-enable handling
	of variable length temporaries for function return now that the
	back-end and gigi support it.

From-SVN: r87435
2004-09-13 12:18:42 +02:00
Steven Bosscher
c892972fa7 fix spaces vs. tabs for scripts.
From-SVN: r87434
2004-09-13 09:46:32 +00:00
Richard Henderson
0d87c76525 re PR inline-asm/6806 (gcc 3.0.4 ignoring clobbered registers in inline asm with -O1 or higher on i386)
PR inline-asm/6806
        * cselib.c (cselib_invalidate_rtx): Export.  Remove unused args.
        (cselib_invalidate_rtx_note_stores): New.
        (cselib_record_sets, cselib_process_insn): Update to match.
        * cselib.h (cselib_invalidate_rtx): Declare.
        * postreload.c (reload_cse_simplify): Invalidate asm clobbers.

From-SVN: r87432
2004-09-13 02:05:31 -07:00
Hans-Peter Nilsson
ddef210a89 g77-dg.exp: Remove unused file.
* lib/g77-dg.exp: Remove unused file.
	* lib/mike-g77.exp: Ditto.
	* lib/g77.exp: Ditto.

From-SVN: r87425
2004-09-13 05:21:04 +00:00
Gabriel Dos Reis
3fcb283bc7 Fix email
From-SVN: r87424
2004-09-13 05:12:55 +00:00
Richard Henderson
84cce55d0e re PR tree-optimization/10528 (Unexpected loop un-optimization when removing a field of a class)
PR tree-opt/10528
        * tree-inline.c (copy_body_r): Recompute bits for ADDR_EXPR,
        after copying its argument.

From-SVN: r87423
2004-09-12 19:28:19 -07:00
Richard Henderson
40b7c2f8d2 * g++.old-deja/g++.other/sizeof3.C: Fix abort declaration.
From-SVN: r87422
2004-09-12 19:14:36 -07:00
GCC Administrator
caddffe40d Daily bump.
From-SVN: r87416
2004-09-13 00:16:13 +00:00
Joseph Myers
bda6743181 c-common.c, [...]: Use %q, %< and %> for quoting in diagnostics.
* c-common.c, c-decl.c, c-lex.c, c-objc-common.c, c-opts.c,
	c-parse.in, c-pragma.c, c-typeck.c: Use %q, %< and %> for quoting
	in diagnostics.  Use %' for English apostrophes.
	* c-tree.h (ATTRIBUTE_GCC_CDIAG): Define.
	(pedwarn_c90, pedwarn_c99): Use it.
	* c-decl.c (lookup_label): Quote label name in diagnostic.
	* c-parse.in (yyprint): Use ' instead of ` for left quote.
	* c-typeck.c (warn_for_assignment): Likewise.

testsuite:
	* g++.dg/warn/Wswitch-1.C, g++.dg/warn/Wswitch-2.C,
	gcc.dg/Wswitch-2.c, gcc.dg/Wswitch-enum.c, gcc.dg/Wswitch.c,
	gcc.dg/declspec-9.c, gcc.dg/declspec-10.c, gcc.dg/declspec-11.c,
	gcc.dg/m-un-2.c, gcc.dg/noreturn-1.c, gcc.dg/wtr-conversion-1.c:
	Update expected messages.

From-SVN: r87413
2004-09-13 00:53:29 +01:00
Hans-Peter Nilsson
924479e8e8 asmreg-1.c (__syscall_getdents64): Adjust signedness declaration/use mismatch for dirp parameter.
* gcc.dg/asmreg-1.c (__syscall_getdents64): Adjust signedness
	declaration/use mismatch for dirp parameter.

From-SVN: r87412
2004-09-12 23:38:07 +00:00
Jan Hubicka
ad7b96a93d i386.c (x86_schedule): New global variable.
* i386.c (x86_schedule): New global variable.
	(override_options): Disable scheduling when not supported.
	* i386.h (x86_schedule): Declare.
	(TARGET_SCHEDULE): New macro.

From-SVN: r87411
2004-09-12 23:31:31 +00:00
Tom Tromey
3abcc195e4 CompoundName.java (CompoundName): Don't check for separator in "flat" case.
* javax/naming/CompoundName.java (CompoundName): Don't check for
	separator in "flat" case.

From-SVN: r87410
2004-09-12 23:16:38 +00:00
Andrew Pinski
a825250617 objc.exp (objc_target_compile): Look for libobjc-gnu.a also when -fgnu-runtime is passed.
2004-09-12  Andrew Pinski  <apinski@apple.com>

        * lib/objc.exp (objc_target_compile): Look for libobjc-gnu.a also when
        -fgnu-runtime is passed.

From-SVN: r87409
2004-09-12 15:43:50 -07:00
Richard Henderson
4c8dad30d2 Test case for PR 16254.
From-SVN: r87408
2004-09-12 14:40:35 -07:00
Richard Henderson
373c0e7f04 re PR c++/16254 (ICE in lower_stmt, at gimple-low.c:205)
PR c++/16254
        * fold-const.c (fold) <case CLEANUP_POINT_EXPR>: Remove.
        * tree.c, tree.h (has_cleanups): Remove.
cp/
        * semantics.c (maybe_cleanup_point_expr): Don't call fold.
        * typeck.c (condition_conversion): Likewise.

From-SVN: r87407
2004-09-12 14:36:50 -07:00
Zdenek Dvorak
7fac672272 tree-ssa-loop-manip.c (split_loop_exit_edge): Handle non-ssaname arguments of the phi nodes correctly.
* tree-ssa-loop-manip.c (split_loop_exit_edge): Handle non-ssaname
	arguments of the phi nodes correctly.

From-SVN: r87405
2004-09-12 20:20:58 +00:00
Jan Hubicka
8591459399 * ggc-common.c (cmp_statistics): Fix sorting.
From-SVN: r87404
2004-09-12 20:14:23 +00:00
David Edelsohn
3d520aaf7d re PR middle-end/16795 (PowerPC - Divide sequences by negative power of two could be more efficient)
PR target/16795
        * expmed.c (expand_divmod): If cheap power of 2 divide is
        available, use it for negative constant as well.

From-SVN: r87403
2004-09-12 16:05:30 -04:00
Andrew Pinski
c92d8761c7 darwin.h (ASM_OUTPUT_COMMON): Make sure we do not have a size of 0.
2004-09-12  Andrew Pinski  <apinski@apple.com>

        * darwin.h (ASM_OUTPUT_COMMON): Make sure we do not have a
        size of 0.

From-SVN: r87401
2004-09-12 11:30:32 -07:00
Andrew Pinski
8f8ccdf330 tree-chrec.c (initialize_scalar_evolutions_analyzer): Remove.
2004-09-12  Andrew Pinski  <apinski@apple.com>

        * tree-chrec.c (initialize_scalar_evolutions_analyzer): Remove.

From-SVN: r87400
2004-09-12 11:19:05 -07:00
Richard Henderson
84d397af34 fortran-torture.exp (add-ieee-options): Replace ieee-options; do the uplevel thing and update additional_flags directly.
* lib/fortran-torture.exp (add-ieee-options): Replace ieee-options;
        do the uplevel thing and update additional_flags directly.
        * gfortran.fortran-torture/execute/intrinsic_fraction_exponent.x,
        gfortran.fortran-torture/execute/intrinsic_nearest.x,
        gfortran.fortran-torture/execute/intrinsic_set_exponent.x,
        gfortran.fortran-torture/execute/nan_inf_fmt.x: Update to match.

From-SVN: r87399
2004-09-12 11:07:28 -07:00
Richard Henderson
93330ea10a i386.c (ix86_split_ashldi): Special case op1 as one or minus one.
* config/i386/i386.c (ix86_split_ashldi): Special case op1 as one
        or minus one.
        (ix86_split_ashrdi, ix86_split_lshrdi): Clean up conditions for
        post-reload, and scratch NULL.
        * config/i386/i386.md (testqi_1): Use FLAGS_REG name.
        (x86_shift_adj_2): Use ix86_expand_clear.
        (ashldi3): Remove CMOVE expansion difference.
        (ashldi3_1): Remove.
        (*ashldi3_1): Rename from *ashldi3_2.  Use reg_or_pm1_operand and
        add constraints for immediates.  New peephole for split-with-temp.
        Run splitter after peep2 pass.
        (ashrdi3, ashrdi3_1, ashrdi3_2): Similarly.
        (lshrdi3, lshrdi3_1, lshrdi3_2): Similarly.
        (setcc_2): Rename with *.
        * config/i386/predicates.md (reg_or_pm1_operand): New.
        (ashldi_input_operand): New.

From-SVN: r87398
2004-09-12 11:00:49 -07:00
Richard Henderson
21076c8ec3 print-rtl.c (print_decl_name): New.
* print-rtl.c (print_decl_name): New.
        (print_mem_expr): Use it.

From-SVN: r87395
2004-09-12 10:27:04 -07:00
Richard Henderson
f6a41d1764 PR 17186, part deux
PR 17186, part deux
        * except.c (sjlj_emit_function_exit): Fix logic locating
        sjlj_exit_after in final block.

From-SVN: r87394
2004-09-12 10:22:03 -07:00
Michael Koch
bdd1aed4e1 configure.ac: Fixed AM_INIT_AUTOMAKE usage and replaces AM_CONFIG_HEADER by AC_CONFIG_FILES.
2004-09-12  Michael Koch  <konqueror@gmx.de>

	* libltdl/configure.ac: Fixed AM_INIT_AUTOMAKE usage and replaces
	AM_CONFIG_HEADER by AC_CONFIG_FILES.
	* libltdl/Makefile.in, libltdl/aclocal.m4, libltdl/configure:
	Regenerate.

From-SVN: r87393
2004-09-12 17:11:13 +00:00
Steven Bosscher
ef685027b5 * g++.dg/parse/break-in-for.C: Fix for -ansi -pedantic-errors.
From-SVN: r87387
2004-09-12 10:33:07 +00:00
Toon Moene
a924fe3411 common.opt: Remove flags -fmove-all-movables and -freduce-all-givs.
2004-09-12  Toon Moene  <toon@moene.indiv.nluug.nl>

	* common.opt: Remove flags -fmove-all-movables and
	-freduce-all-givs.
	* loop-invariant.c (find_invariants_to_move):
	Remove all uses of flag_move_all_movables.
	* loop.c (move_movables): Remove all uses of
	flag_move_all_movables.
	(strength_reduce): Remove all uses of
	flag_reduce_all_givs.
	* doc/invoke.texi: Remove documentation of flags
	-fremove-all-movables and -freduce-all-givs.

From-SVN: r87386
2004-09-12 05:51:02 +00:00
Richard Henderson
0fe0caa6d9 pt.c (cur_stmt_expr): Move from tsubst_expr.
* pt.c (cur_stmt_expr): Move from tsubst_expr.
        (tsubst_expr) <case STMT_EXPR>: Move ...
        (tsubst_copy_and_build): ... here.

From-SVN: r87385
2004-09-11 21:45:59 -07:00
GCC Administrator
97b7c168e5 Daily bump.
From-SVN: r87380
2004-09-12 00:16:15 +00:00
Roger Sayle
ec76a0e0bf re PR middle-end/17411 (ICE in immed_double_const)
PR middle-end/17411
	* tree-sra.c (generate_element_zero): Revert recent build_int_cst
	change. elt->type may be a floating point type, so use fold_convert.

	* g++.dg/opt/pr17411-1.C: New test case.

From-SVN: r87377
2004-09-11 23:44:21 +00:00
Joseph Myers
d6a1dfd98b c-tree.h (enum c_storage_class): New.
* c-tree.h (enum c_storage_class): New.
	(struct c_declspecs): Add storage_class, inline_p and thread_p.
	* c-decl.c (shadow_tag_warned): Give errors for "inline" in empty
	declarations and "auto" or "register" in file scope empty
	declarations.  Give more specific warnings for other cases of
	storage class specifiers in empty declarations.
	(grokdeclarator): Update for new structures.  Don't check for
	multiple storage classes.  Diagnose file-scope "register" if
	pedantic.
	(build_null_declspecs): Update.
	(declspecs_add_scspec): Update.  Diagnose multiple storage class
	specifiers and invalid uses of "__thread".

testsuite:
	* gcc.dg/declspec-4.c, gcc.dg/declspec-5.c, gcc.dg/declspec-6.c,
	gcc.dg/tls/diag-2.c: Update expected messages.
	* gcc.dg/991209-1.c: Specify compilation options.  Update expected
	messages.
	* gcc.dg/pr14289-2.c, gcc.dg/pr14289-3.c: Remove.
	* gcc.dg/declspec-7.c, gcc.dg/declspec-8.c, gcc.dg/declspec-9.c,
	gcc.dg/declspec-10.c, gcc.dg/declspec-11.c, gcc.dg/tls/diag-4.c,
	gcc.dg/tls/diag-5.c: New tests.

From-SVN: r87376
2004-09-11 23:15:14 +01:00
Geoffrey Keating
ca472546d5 darwin.c (machopic_validate_stub_or_non_lazy_ptr): Mark the thing referenced as used, not the stub itself.
* config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Mark
	the thing referenced as used, not the stub itself.

From-SVN: r87375
2004-09-11 21:39:27 +00:00
Joseph Myers
9a26d6ee08 c-tree.h (enum c_storage_class): New.
* c-tree.h (enum c_storage_class): New.
	(struct c_declspecs): Add storage_class, inline_p and thread_p.
	* c-decl.c (shadow_tag_warned): Give errors for "inline" in empty
	declarations and "auto" or "register" in file scope empty
	declarations.  Give more specific warnings for other cases of
	storage class specifiers in empty declarations.
	(grokdeclarator): Update for new structures.  Don't check for
	multiple storage classes.  Diagnose file-scope "register" if
	pedantic.
	(build_null_declspecs): Update.
	(declspecs_add_scspec): Update.  Diagnose multiple storage class
	specifiers and invalid uses of "__thread".

testsuite:
	* gcc.dg/declspec-4.c, gcc.dg/declspec-5.c, gcc.dg/declspec-6.c,
	gcc.dg/tls/diag-2.c: Update expected messages.
	* gcc.dg/991209-1.c: Specify compilation options.  Update expected
	messages.
	* gcc.dg/pr14289-2.c, gcc.dg/pr14289-3.c: Remove.
	* gcc.dg/declspec-7.c, gcc.dg/declspec-8.c, gcc.dg/declspec-9.c,
	gcc.dg/declspec-10.c, gcc.dg/declspec-11.c, gcc.dg/tls/diag-4.c,
	gcc.dg/tls/diag-5.c: New tests.

From-SVN: r87374
2004-09-11 22:29:42 +01:00
Zack Weinberg
e685805744 * gcc.dg/20040910-1.c: Correct dg-error regexp.
From-SVN: r87373
2004-09-11 21:17:23 +00:00
Zack Weinberg
a38b644be6 tree.c (tree_code_size): New function, bulk of code from tree_size.
* tree.c (tree_code_size): New function, bulk of code from tree_size.
	(tree_size, make_node): Use it.
	* tree-ssa-pre.c (init_pre): Use it.
	* tree.h: Prototype it.

From-SVN: r87371
2004-09-11 21:14:39 +00:00
Andrew Pinski
68a97276d6 Make-lang.in (java/ggc-none.c): Change dependency for ggc.h into $(GGC_H).
2004-09-11  Andrew Pinski  <apinski@apple.com>

        * Make-lang.in (java/ggc-none.c): Change dependency
        for ggc.h into $(GGC_H).

From-SVN: r87370
2004-09-11 13:48:55 -07:00
Zdenek Dvorak
30d396e3d5 tree-cfg.c (set_bb_for_stmt): Use PHI_BB.
* tree-cfg.c (set_bb_for_stmt): Use PHI_BB.
	* tree-dfa.c (compute_immediate_uses, add_immediate_use,
	redirect_immediate_use): Use PHI_DF.
	* tree-flow-inline.h (stmt_ann): Abort on phi nodes.
	(bb_for_stmt): Use PHI_BB.
	(get_immediate_uses): Use PHI_DF.
	* tree-ssa-dse.c (max_stmt_uid): New variable.
	(get_stmt_uid): New function.
	(dse_optimize_stmt, dse_record_phis, tree_ssa_dse): Do not use phi
	node annotations.
	* tree-ssa-loop-im.c (LIM_DATA): Do not use phi statement annotations.
	(max_uid): Renamed to max_stmt_uid.
	(get_stmt_uid): New function.
	(maybe_queue_var, single_reachable_address, determine_lsm): Do not use
	phi node annotations.
	* tree-ssa.c (replace_immediate_uses): Do not use phi node annotations.
	* tree.h (PHI_BB, PHI_DF): New accessor functions.
	(struct tree_phi_node): Add bb and df fields.

From-SVN: r87369
2004-09-11 20:42:06 +00:00
Richard Henderson
f4a6d54edd re PR middle-end/17416 (stack variable merging doesn't work)
PR middle-end/17416
        * cfgexpand.c (expand_used_vars_for_block): Fix off-by-one bug
        in conflict loop.

From-SVN: r87366
2004-09-11 13:07:11 -07:00
Jan Hubicka
1d1df0df43 i386.h (MODE_NEEDED): Calls need UNINITIALIZED mode; add comment.
* i386.h (MODE_NEEDED): Calls need UNINITIALIZED mode; add comment.
	(EMIT_MODE_SET): UNINITIALIZED mode needs no set.
	* i386.md (i387_cw): Add 'uninitialized' mode.

From-SVN: r87365
2004-09-11 19:54:21 +00:00
Jan Hubicka
f43329a5ae profile.c (BB_TO_GCOV_INDEX): move more to the front.
* profile.c (BB_TO_GCOV_INDEX): move more to the front.
	(output_location): Break out from ....
	(branch_prob): ... here; handle gcov output on trees.
	* toplev.c (process_options): No longer be sorry about coverage for
	trees.

From-SVN: r87364
2004-09-11 19:50:21 +00:00
Steven Bosscher
05cf561db4 re PR c++/17412 (tree check failure in fold-const)
PR c++/17412
	* fold-const.c (fold): Do not try to fold the operand of a
	CLEANUP_POINT_EXPR if that operand does itself not have any
	operands.
testsuite/
	* g++.dg/parse/break-in-for.C: New test.

	PR middle-end/17417
	* langhooks.c (lhd_decl_printable_name): Make sure that this
	function is called with is a decl node that has an identifier.
	* tree-pretty-print.c (dump_function_name): New function to
	wrap PRINT_FUNCTION_NAME and dump_decl_name.
	(print_call_name): Use it.

From-SVN: r87363
2004-09-11 19:48:58 +00:00
Mohan Embar
a0be84dd8c re PR libgcj/14751 ([win32] thread creation leaks system handle resources)
PR libgcj/14751
	* win32-threads.cc (_Jv_ThreadInitData): Zero out thread
	handle in newly-allocated _Jv_Thread_t.
	(_Jv_ThreadDestroyData): Close thread handle.
	(_Jv_ThreadStart): Remove obsolete comment.
	Store handle of newly-created thread in _Jv_Thread_t.
	* include/win32-threads.h: #define WIN32_LEAN_AND_MEAN
	before including <windows.h>
	#define _Jv_HaveCondDestroy

From-SVN: r87362
2004-09-11 19:13:51 +00:00
Mohan Embar
bdbf6060ea natThread.cc (finalize_native): Destroy join conditional variable and mutex if...
* java/lang/natThread.cc (finalize_native): Destroy
	join conditional variable and mutex if these destroy
	operations are supported.

From-SVN: r87361
2004-09-11 19:10:44 +00:00
Mohan Embar
af8f35b88f Make-lang.in (java/win32-host.o): Add dependency on coretypes.h.
* Make-lang.in (java/win32-host.o): Add dependency on
	coretypes.h.
	* win32-host.c: Add includes for coretypes.h, jcf.h

From-SVN: r87360
2004-09-11 19:08:05 +00:00
Mohan Embar
55545aed66 Make-lang.in (GCJH_OBJS): Change dependency from ggc-none.o to java/ggc-none.o
* Make-lang.in (GCJH_OBJS): Change dependency from
	ggc-none.o to java/ggc-none.o
	(JCFDUMP_OBJS): Likewise.
	(java/ggc-none.o): New target.

From-SVN: r87359
2004-09-11 19:05:32 +00:00
Mohan Embar
547d057d11 ggc-none.c: Include "bconfig.h" if -DGENERATOR_FILE, "config.h" if not.
* ggc-none.c: Include "bconfig.h" if -DGENERATOR_FILE,
	"config.h" if not.

From-SVN: r87358
2004-09-11 19:03:23 +00:00
Jakub Jelinek
a17ea89bb1 tree-ssa-alias.c (collect_points_to_info_r): Handle pointing to PTR + OFFSET as PTR...
* tree-ssa-alias.c (collect_points_to_info_r): Handle
	pointing to PTR + OFFSET as PTR, not as pointing to PTR or pointing
	to OFFSET.

	* gcc.dg/tree-ssa/20040911-1.c: New test.

From-SVN: r87357
2004-09-11 20:57:06 +02:00
Gerald Pfeifer
ac26513211 * crontab: Rename GCC 3.5 snapshots to GCC 4.0 snapshots.
From-SVN: r87356
2004-09-11 18:53:55 +00:00
Richard Henderson
70bb498ad4 * expr.c (expand_expr_addr_expr_1) Rename from expand_expr_addr_expr.
(expand_expr_addr_expr): New function.  Take ADDR_EXPR instead of the
        operand of the ADDR_EXPR.
        (expand_expr_real_1): Update to match.

From-SVN: r87355
2004-09-11 10:48:22 -07:00
David Edelsohn
d1909f7b3a Add PR target/17277 to ChangeLog entry.
From-SVN: r87354
2004-09-11 13:11:02 -04:00