Commit Graph

60332 Commits

Author SHA1 Message Date
Nathan Sidwell 0871761b07 cp-tree.h (struct tree_pair_s): New.
* cp-tree.h (struct tree_pair_s): New.
	(typedef tree_pair_p): New.
	(DEF_VEC_O(tree_pair_s)): New.
	(struct lang_type_class): Make vcall_indices a VEC(tree_pair_s).
	(CLASSTYPE_VCALL_INDICES): Update documentation.
	* class.c (get_vcall_index): Adjust.
	(add_vcall_offset): Adjust.

From-SVN: r85256
2004-07-28 08:50:27 +00:00
Diego Novillo c1b763fa9a tree-optimize.c (init_tree_optimization_passes): Schedule pass_may_alias right after the program is renamed into SSA.
* tree-optimize.c (init_tree_optimization_passes): Schedule
	pass_may_alias right after the program is renamed into SSA.
	* tree-pass.h (PROP_alias): Define.
	* tree-outof-ssa.c (pass_del_ssa): Require PROP_alias.
	* tree-sra.c (pass_sra): Likewise.
	* tree-ssa-ccp.c (pass_ccp): Likewise.
	* tree-ssa-copyrename.c (pass_rename_ssa_ccp): Likewise.
	* tree-ssa-dce.c (pass_dce): Likewise.
	* tree-ssa-dom.c (pass_dominator): Likewise.
	* tree-ssa-dse.c (pass_dse): Likewise.
	* tree-ssa-forwprop.c (pass_forwprop): Likewise.
	* tree-ssa-loop-ch.c (pass_ch): Likewise.
	* tree-ssa-phiopt.c (pass_phiopt): Likewise.
	* tree-ssa-pre.c (pass_pre): Likewise.
	* tree-tailcall.c (pass_tail_recursion): Likewise.
	* tree-ssa.c (pass_redundant_phi): Likewise.
	* tree-ssa-alias.c (aliases_computed_p): Remove.
	Update all users.
	(init_alias_info): Do not mark all type tags for renaming
	unconditionally.
	Clear may_aliases from every symbol.
	(setup_pointers_and_addressables): If a pointer has not been
	dereferenced and it had a type tag, clear it and mark the old
	tag for renaming.


testsuite/ChangeLog

	* gcc.dg/tree-ssa/20030714-2.c: Adjust number of expected
	conditionals.
	* gcc.dg/tree-ssa/20031022-1.c: Adjust number of expected
	loads.
	* gcc.dg/tree-ssa/ssa-dom-cse-1.c: Expect optimization in
	DOM1.

From-SVN: r85255
2004-07-28 01:13:10 -04:00
Diego Novillo 58907cda07 re PR tree-optimization/16705 ([testcase] ICE in verify_flow_insensitive_alias_info)
PR tree-optimization/16705
	* tree-ssa-alias.c (create_global_var): Set DECL_EXTERNAL on
	.GLOBAL_VAR.

From-SVN: r85254
2004-07-28 00:53:24 -04:00
Richard Kenner 0b1d1db444 expr.c (expand_expr_real_1, [...]): Remove obsolete error check.
* expr.c (expand_expr_real_1, case PARM_DECL): Remove obsolete error
	check.

From-SVN: r85250
2004-07-27 23:38:33 -04:00
Richard Kenner 61025d1b36 gimplify.c (maybe_with_size_expr): If already have WITH_SIZE_EXPR, don't make another one.
* gimplify.c (maybe_with_size_expr): If already have WITH_SIZE_EXPR,
	don't make another one.

From-SVN: r85249
2004-07-27 22:57:25 -04:00
Bryce McKinlay ce961468b7 TLtest.java: Reduce sleep time.
2004-07-27  Bryce McKinlay  <mckinlay@redhat.com>

	* testsuite/libjava.lang/TLtest.java: Reduce sleep time.
	* testsuite/libjava.lang/Thread_Alive.java: Remove old email address.
	Reduce sleep time.
	* testsuite/libjava.lang/Thread_HoldsLock.java: Modify to work around
	compiler bug.
	* testsuite/libjava.lang/Thread_Interrupt.java: Remove old email
	address. Reduce sleep times. Synchronize with target threads before
	attempting to interrupt them. Don't try to calibrate yeild count,
	instead, always loop for a fixed time.
	* testsuite/libjava.lang/Thread_Join.java: Remove old email address.
	* testsuite/libjava.lang/Thread_Monitor.java: Likewise.
	* testsuite/libjava.lang/Thread_Wait.java: Likewise.
	* testsuite/libjava.lang/Thread_Wait_2.java: Likewise.
	* testsuite/libjava.lang/Thread_Wait_Interrupt.java: Likewise.
	* testsuite/libjava.lang/pr179.java: Likewise.
	* testsuite/libjava.lang/Thread_Sleep.java: Likewise. Reduce sleep
	time. Remove upper bounds check on sleep time.

From-SVN: r85248
2004-07-28 03:44:06 +01:00
Richard Kenner 1a837f7746 re PR tree-optimization/15077 (ICE in make_decl_rtl when inlining tail recursive nested function)
PR optimization/15077
	* function.h (struct function): Add field saved_static_chain_decl.
	Fix comment for static_chain_decl.
	* tree-inline.c (save_body): Add new arg and handle static_chain_decl.
	* tree-inline.h (save_body): Add new arg.
	* tree-optimize.c (tree_rest_of_compilation): Handle saving
	static_chain_decl.

From-SVN: r85247
2004-07-27 22:27:20 -04:00
Richard Henderson e847cc68eb gimplify.c (is_gimple_addr_expr_arg_or_indirect): Remove.
* gimplify.c (is_gimple_addr_expr_arg_or_indirect): Remove.
        (gimplify_modify_expr, gimplify_addr_expr, gimplify_expr): Use
        is_gimple_addressable.
        * tree-gimple.c (is_gimple_addressable): Rename from
        is_gimple_addr_expr_arg; accept INDIRECT_REF.
        (is_gimple_lvalue): Don't test INDIRECT_REF directly.
        * tree-gimple.h, tree-sra.c, tree-ssa-loop-im.c: Update for
        rename to is_gimple_addressable.

From-SVN: r85243
2004-07-27 18:17:00 -07:00
Alan Modra b91accd685 * config/rs6000/rs6000.c (function_arg_padding): Pad SFmode upwards.
From-SVN: r85242
2004-07-28 10:26:47 +09:30
GCC Administrator 66aeab7d97 Daily bump.
From-SVN: r85240
2004-07-28 00:16:17 +00:00
Kelley Cook 616adc4732 pt.c, typeck.c: Remove spurious carriage returns.
2004-07-27  Kelley Cook  <kcook@gcc.gnu.org>

	* pt.c, typeck.c: Remove spurious carriage returns.

From-SVN: r85237
2004-07-27 23:24:07 +00:00
Bryce McKinlay 0954f3eb52 Thread_HoldsLock.java: New test case.
2004-07-27  Bryce McKinlay  <mckinlay@redhat.com>

	* testsuite/libjava.lang/Thread_HoldsLock.java: New test case.
	* testsuite/libjava.lang/Thread_HoldsLock.out: New.

From-SVN: r85234
2004-07-27 23:04:37 +01:00
Richard Henderson e140e27d53 function.c (assign_stack_local_1): Widen alignment to HOST_WIDE_INT before rounding.
* function.c (assign_stack_local_1): Widen alignment to HOST_WIDE_INT
        before rounding.

From-SVN: r85233
2004-07-27 14:50:56 -07:00
Zack Weinberg 968a7562a6 libgcc2.c: Change all conditionals testing LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96 to == 80.
* libgcc2.c: Change all conditionals testing
	LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96 to == 80.
	* libgcc2.h: Likewise.
	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Set
	TYPE_PRECISION of float80_type to 80.
	* config/ia64/ia64.c (ia64_init_builtins): Set TYPE_PRECISION
	of fpreg_type and float80_type to 80.
	* config/i386/i386.h, config/ia64/ia64.h, config/m68k/m68k.h
	* config/m68k/netbsd-elf.h:
	Change LONG_DOUBLE_TYPE_SIZE and possibly LIBGCC2_LONG_DOUBLE_TYPE_SIZE
	to evaluate to 80 whenever they would formerly have evaluated to 96.
	* config/i386/sco5.h: Remove unnecessary redefinition of
	LONG_DOUBLE_TYPE_SIZE.
	* doc/rtl.texi: Clarify uses of XFmode and TFmode.
	* config/i386/i386-modes.def: Use FRACTIONAL_FLOAT_MODE for
	XFmode, with a bitsize of 80.  Update commentary.
	* config/ia64/ia64-modes.def: Likewise.
	* config/m68k/m68k-modes.def: Likewise.

From-SVN: r85232
2004-07-27 21:41:23 +00:00
Andrew Pinski 706aa09b35 tinfo1.C: Correct the xfail.
2004-07-27  Andrew Pinski  <apinski@apple.com>

        * g++.dg/rtti/tinfo1.C: Correct the xfail.

From-SVN: r85231
2004-07-27 13:19:37 -07:00
Ulrich Weigand 6687a26359 mf-runtime.c (__mf_fini): Set mudflap_mode to mode_nop in the statically linked case.
2004-07-27  Ulrich Weigand  <weigand@informatik.uni-erlangen.de>

	* mf-runtime.c (__mf_fini): Set mudflap_mode to mode_nop in
	the statically linked case.

From-SVN: r85229
2004-07-27 19:41:20 +00:00
Steven Bosscher 3fbd86b1a8 cfgexpand.c (tree_expand_cfg): Fix comment.
* cfgexpand.c (tree_expand_cfg): Fix comment.

	* calls.c (expand_call): Ignore rtx_equal_function_value_matters.
	* function.c (purge_single_hard_subreg_set, purge_hard_subreg_sets):
	Remove.
	(prepare_function_start): Don't set rtx_equal_function_value_matters.
	* integrate.c (copy_rtx_and_substitute): Don't test for it.
	* passes.c (rest_of_compilation): Don't call purge_hard_subreg_sets.
	Don't set rtx_equal_function_value_matters.  Don't register RTL hooks
	here again.  Update leading comment.
	* rtl.c (rtx_equal_function_value_matters): Remove.
	(rtx_equal_p): Don't test for it.
	* simplify-rtx.c (simplify_binary_operation, simplify_subreg):
	Likewise.

	* rtl.h (enum insn_note): Remove NOTE_INSN_LOOP_END_TOP_COND.
	* rtl.c (note_insn_name): Likewise.
	* emit-rtl.c (remove_unnecessary_notes): Don't handle it.
	* final.c (final_scan_insn): Likewise.

	* except.c (finish_eh_generation): Don't call cfg_cleanup from here.
	* passes.c (rest_of_handle_eh): Do it here.

	* stmt.c (struct nesting): Remove struct nesting block member.
	(struct stmt_status): Remove x_block_start_count field.
	(current_block_start_count): Remove.

From-SVN: r85228
2004-07-27 19:09:32 +00:00
Bryce McKinlay d078f7c010 File.java (toURI): Throw RuntimeException, not InternalError.
2004-07-27  Bryce McKinlay  <mckinlay@redhat.com>

	* java/io/File.java (toURI): Throw RuntimeException, not
	InternalError.
	* java/lang/Runtime.java (exit): Qualify static sleep() call with
	class name, not instance.

From-SVN: r85227
2004-07-27 19:42:38 +01:00
Brian Booth b3fade8399 tree-optimize.c (register_one_dump_file): Update condition that uses static_pass_number.
* tree-optimize.c (register_one_dump_file): Update condition that uses
	static_pass_number.
	(dup_pass_1): Replace with...
	(next_pass_1): This.
	(NEXT_PASS): Call next_pass_1.
	(DUP_PASS): Remove.
	(init_tree_optimization_passes): Remove uses of DUP_PASS.
	(execute_one_pass): Update condition that uses
	static_pass_number.
	* tree-pass.h (tree_opt_pass): Declare static_pass_number as a signed
	integer.

From-SVN: r85226
2004-07-27 18:32:50 +00:00
Nitin Yewale 62d591893b * gcc.dg/pragma-isr.c: New test.
From-SVN: r85225
2004-07-27 12:04:11 -06:00
Frank Ch. Eigler fc5515a8a0 splay-tree.[ch]: Remove.
2004-07-27  Frank Ch. Eigler  <fche@redhat.com>

	* splay-tree.[ch]: Remove.  Merge contents into ...
	* mf-runtime.c: ... here, renaming symbols and making all functions
	static.  Remove unused min/max functions.
	* Makefile.am: Forget about splay-tree.[ch].
	* Makefile.in, testsuite/Makefile.in: Regenerated.

From-SVN: r85224
2004-07-27 18:03:18 +00:00
Kriang Lerdsuwanakij 00bdb87f8e re PR c++/14429 (valid template template argument rejected)
PR c++/14429
	* pt.c (coerce_template_template_parms) <PARM_DECL case>: Only check
	when the type of ARG is not dependent.

	* g++.dg/template/ttp11.C: New test.

From-SVN: r85222
2004-07-27 15:47:10 +00:00
Nick Clifton 18d7916e39 m32r.c: Include integrate.h in order to get the prototype for get_hard_reg_initial_val().
* config/m32r/m32r.c: Include integrate.h in order to get the prototype for
  get_hard_reg_initial_val().
* config/m32r/m32r.md (m32rpipeline): Remove unused value "m32r" and tidy up
  indentation.
  (final_presence_set): Use absence_set instead, so that if there is nothing in
  the "o" pipe the "s" pipe can be scheduled.

From-SVN: r85221
2004-07-27 15:43:31 +00:00
Diego Novillo 9ae2a5d113 tree-ssa-alias.c (create_name_tags): Ignore pointers that don't have PT_VARS nor PT_MALLOC set.
* tree-ssa-alias.c (create_name_tags): Ignore pointers that
	don't have PT_VARS nor PT_MALLOC set.
	Clear name tag from pointers that have not been dereferenced.
	(set_pt_anything, set_pt_malloc): Forward declare.
	* tree-ssa-copy.c (may_propagate_copy): Compare alias sets,
	not type compatibility when determining if a pointer can be
	copy propagated.

testsuite/ChangeLog

	* gcc.c-torture/compile/20040727-1.c: New test.

From-SVN: r85220
2004-07-27 11:32:47 -04:00
Richard Sandiford 45d09c02e5 expr.h (canonicalize_condition, [...]): Add an int argument.
* expr.h (canonicalize_condition, get_condition): Add an int argument.
	* gcse.c (fis_get_condition): Reimplement using get_condition, leaving
	it to check whether the condition is still valid at the jump insn.
	* ifcvt.c (noce_get_condition): Likewise.
	(noce_get_alt_condition): Update call to canonicalize_condition.
	* loop-iv.c (simplify_using_initial_values): Update call to
	get_condition.  Remove FIXME.
	(check_simple_exit): Update call to get_condition.
	* loop-unswitch.c (may_unswitch_on): Likewise.
	* loop.c (check_dbra_loop): Likewise.
	(canonicalize_condition, get_condition): Add an argument to say whether
	the condition must still be valid at INSN.
	(get_condition_for_loop): Update call to get_condition.  Require that
	the condition be valid at INSN.
	* predict.c (estimate_probability): Update call to get_condition.
	Remove unused earliest parameter.
	(expected_value_to_br_prob): Update call to canonicalize_condition.

From-SVN: r85218
2004-07-27 07:27:12 +00:00
David Edelsohn dbe9c57776 - note PR target/16239 in previous rs6000.md ChangeLog entry.
From-SVN: r85216
2004-07-26 21:52:48 -04:00
Eric Christopher ff6a32068d tree-dfa.c (add_referenced_var): Register initializers of global variables.
2004-07-26  Eric Christopher  <echristo@redhat.com>

	* tree-dfa.c (add_referenced_var): Register initializers of global
	variables.

2004-07-26  Eric Christopher  <echristo@redhat.com>

	* gcc.c-torture/compile/20040726-2.c: New test.

From-SVN: r85214
2004-07-27 00:20:03 +00:00
GCC Administrator 764c35da02 Daily bump.
From-SVN: r85212
2004-07-27 00:16:20 +00:00
Andrew Pinski 21db37858e tinfo1.C: Xfail.
2004-07-26  Andrew Pinski  <apinski@apple.com>

        * g++.dg/rtti/tinfo1.C: Xfail.

From-SVN: r85209
2004-07-26 16:06:52 -07:00
Paolo Bonzini 90d5887b53 i386.c (function_arg): Always treat 8- and 16-byte wide vectors the same, even if MMX/SSE are disabled.
* config/i386/i386.c (function_arg): Always treat 8-
        and 16-byte wide vectors the same, even if MMX/SSE
        are disabled.
        (contains_128bit_aligned_vector_p): Add comment.

From-SVN: r85207
2004-07-26 14:45:57 -07:00
J"orn Rennecke 9c18fb8852 ra.h (enum node_type): Rename to: (enum ra_node_type).
* ra.h (enum node_type): Rename to:
	(enum ra_node_type).
	* ra-colorize.c: Likewise.

From-SVN: r85202
2004-07-26 21:11:10 +01:00
Geoffrey Keating 4afd7f6cc6 g++spec.c (LIBSTDCXX_PROFILE): Default to LIBSTDCXX.
* g++spec.c (LIBSTDCXX_PROFILE): Default to LIBSTDCXX.
	(lang_specific_driver): If the C++ or math library options don't
	start with '-l', don't count them as added libraries.

From-SVN: r85201
2004-07-26 19:24:55 +00:00
Richard Sandiford 261139ce14 cfgcleanup.c (try_simplify_condjump): Call update_forwarder_flag after simplifying the jump.
* cfgcleanup.c (try_simplify_condjump): Call update_forwarder_flag
	after simplifying the jump.

From-SVN: r85200
2004-07-26 18:27:59 +00:00
Richard Henderson 95899b3495 calls.c (combine_pending_stack_adjustment_and_call): Make preferred_unit_stack_boundary argument unsigned.
* calls.c (combine_pending_stack_adjustment_and_call): Make
        preferred_unit_stack_boundary argument unsigned.  Make
        unadjusted_alignment unsigned.
        (expand_call): Make preferred_stack_boundary and
        preferred_unit_stack_boundary variables unsigned.
        * function.c (assign_stack_local_1): Make alignment unsigned.
        * function.h (struct function): Make stack_alignment_needed,
        preferred_stack_boundary unsigned.
        * config/i386/i386.c (ix86_preferred_stack_boundary): Make unsigned.
        (ix86_compute_frame_layout): Make stack_alignment_needed,
        preferred_alignment variables unsigned.
        * config/i386/i386.h (ix86_preferred_stack_boundary): Make unsigned.

From-SVN: r85196
2004-07-26 10:51:21 -07:00
Tom Tromey 86df8c86f3 * tree.h: Fix typo in comment.
From-SVN: r85195
2004-07-26 16:28:51 +00:00
Daniel Jacobowitz 02aebac6c9 re PR bootstrap/12804 (zone allocator is broken on 64bit)
PR bootstrap/12804
	* ggc-zone.c (struct alloc_chunk): Remove attribute packed.
	(MAX_FREE_BIN_SIZE): Increase on 64-bit targets.
	(ggc_free): Remove incorrect freeing.
	(sweep_pages): Advance PP for large pages.  Fix indentation.

From-SVN: r85194
2004-07-26 15:11:53 +00:00
Richard Sandiford 35b6b437aa re PR rtl-optimization/16643 (verify_local_live_at_start ICE after crossjumping & cfgcleanup)
PR rtl-optimization/16643
	* cfglayout.h (cfg_layout_initialize): Add a flags parameter.
	* cfglayout.c (cfg_layout_initialize): Pass it to cleanup_cfg.
	* basic-block.h (reorder_basic_blocks): Add a flags parameter.
	* cfglayout.c (reorder_basic_blocks): Pass it to cfg_layout_initialize.
	(partition_hot_cold_basic_blocks): Pass 0 to cfg_layout_initialize.
	* function.c (thread_prologue_and_epilogue_insns): Likewise.
	* rtl.h (tracer): Add a flags parameter.
	* tracer.c (tracer): Pass it to cfg_layout_initialise.
	* passes.c (rest_of_handle_stack_regs): Pass 0 to reorder_basic_blocks.
	(rest_of_handle_reorder_blocks): Update calls to tracer and
	reorder_basic_blocks, passing CLEANUP_UPDATE_LIFE if appropriate.
	(rest_of_handle_tracer): Pass 0 to tracer.
	(rest_of_handle_loop2): Pass 0 to cfg_layout_initialize.

From-SVN: r85191
2004-07-26 14:34:19 +00:00
David Edelsohn fa0a2ae5e3 rs6000.md (movdi_internal64): Further disparage f->f.
* config/rs6000/rs6000.md (movdi_internal64): Further disparage
        f->f.

From-SVN: r85190
2004-07-26 10:31:13 -04:00
Hans-Peter Nilsson 6fd876ac86 parse.y (build_super_invocation): Adjust declaration order to avoid declaration after statement.
* parse.y (build_super_invocation): Adjust declaration order to
	avoid declaration after statement.

From-SVN: r85189
2004-07-26 11:15:09 +00:00
Arnaud Charlet 615cbd95bd [multiple changes]
2004-07-26  Arnaud Charlet  <charlet@act-europe.fr>

	* sem_util.adb (Requires_Transient_Scope): Temporarily disable
	optimization, not supported by the tree-ssa back-end.

2004-07-26  Olivier Hainque  <hainque@act-europe.fr>

	* s-mastop-irix.adb: Update comments.

	* a-except.adb (Exception_Information): Raise Constraint_Error if
	exception Id is Null_Id.
	This is required behavior, which is more reliably and clearly checked
	at the top level interface level.

2004-07-26  Javier Miranda  <miranda@gnat.com>

	* exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
	call if a component has no default_expression and the box is used.

	* sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
	default_expression and you use box, it behaves as if you had declared a
	stand-alone object.
	(Resolve_Record_Aggregate): If a component has no default_expression and
	you use box, it behaves as if you had declared a stand-alone object.

	* sem_ch10.adb (Install_Siblings): Do not make visible the private
	entities of private-with siblings.

2004-07-26  Ed Schonberg  <schonberg@gnat.com>

	* sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
	for a component of an itype, set the parent pointer for analysis,
	there is no list in which to insert it.

	* sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
	bona-fide renamings, not for inherited operations.

	* exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
	actual for a formal that is an access parameter, create local
	finalization list even if the expression is not an aggregate.

2004-07-26  Ed Schonberg  <schonberg@gnat.com>

	PR ada/16213
	* sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
	Diagnose properly illegal subprogram renamings that are library units.

2004-07-26  Ed Schonberg  <schonberg@gnat.com>

	PR ada/15588
	* sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
	conversion rewritten as an unchecked conversion, check that original
	expression is a variable.

	* exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
	unchecked_conversion, create new node rather than rewriting in place,
	to preserve original construct.

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

	* gigi.h (gnat_expand_body): Deleted.

	* Make-lang.in: (trans.o): Depends on function.h.

	* misc.c: (gnat_expand_body): Moved to here.

	* trans.c (gnat_expand_body_1): Deleted.
	(gnat_expand_body): Moved from here.
	(gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
	(add_stmt): Check for marked visited with global_bindings_p.
	(gnat_gimplify_expr, case COMPONENT_REF): New case.
	(gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.

	* utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
	VIEW_CONVERT_EXPR if not operation type.

	* utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
	fat pointer.

	* decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
	changes: reformatting of negation operators, removing unneeded
	inequality comparison with zero, converting equality comparisons with
	zero to negations, changing int/0/1 to bool/false/true, replace calls
	to gigi_abort with abort, and various other similar changes.

2004-07-26  Vincent Celier  <celier@gnat.com>

	* gnatcmd.adb (GNATCmd): Add processing for new built-in command
	"setup".

	* make.adb (Gnatmake): Fail when a library is not present and there is
	no object directory.

	* mlib-prj.adb (Check_Library): No need to check if the library needs
	to be rebuilt if there is no object directory, hence no object files
	to build the library.

	* opt.ads (Setup_Projects): New Boolean flag.

	* prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
	Location.
	Create directory when Kind /= "" and in "gnat setup". Report error if
	directory cannot be created.
	(Ada_Check): Create library interface copy dir if it does not exist
	and we are in "gnat setup".
	(Find_Sources): No error if in "gnat setup" and no Ada sources were
	found.
	(Language_Independent_Check): Create object directory, exec directory
	and/or library directory if they do not exist and we are in
	"gnat setup".

	* vms_conv.ads: (Command_Type): New command Setup.

	* vms_conv.adb (Initialize): Add Setup component of Cammand_List.

	* vms_data.ads: Add qualifiers/switches for new built-in command
	"setup".

From-SVN: r85188
2004-07-26 12:42:13 +02:00
Nathan Sidwell 63d1c7b35f tree.h (BINFO_BASE_ACCESSES): Accesses are a VEC(tree).
.:	* tree.h (BINFO_BASE_ACCESSES): Accesses are a VEC(tree).
	(BINFO_BASE_ACCESS): Adjust.
	(BINFO_BASE_ACCESS_APPEND): New.
	(struct tree_binfo): Make base_accesses a VEC(tree) pointer.
	* dbxout.c (dbxout_type): Adjust binfo access accessing.
	* dwarf2out.c (gen_member_die): Likewise.
	* tree-dump.c (deque_and_dump): Likewise.
cp:
	* decl.c (xref_basetypes): Adjust base access vector creation.
	* rtti.c (get_pseudo_ti_init, get_pseudo_ti_desc): Adjust base
	access accesses.
	* search.c (dynamic_cast_base_recurse, dfs_access_in_type): Likewise.

From-SVN: r85187
2004-07-26 08:23:58 +00:00
Falk Hueffner 9b4f6a07a5 alpha.c (alpha_rtx_cost_data): Tweak int_div costs.
* config/alpha/alpha.c (alpha_rtx_cost_data): Tweak int_div
	costs.

From-SVN: r85186
2004-07-26 09:07:48 +02:00
Roger Sayle fb364dc4d9 i386.c (output_fp_compare): Use ffreep to pop top value off of the stack if TARGET_USE_FFREEP.
* config/i386/i386.c (output_fp_compare): Use ffreep to pop top
	value off of the stack if TARGET_USE_FFREEP.

From-SVN: r85178
2004-07-26 03:23:14 +00:00
Bernardo Innocenti cca8ead2b9 gengtype.c (oprintf): Replace xrealloc () with XRESIZEVEC ().
* gengtype.c (oprintf): Replace xrealloc () with XRESIZEVEC ().
	* gengtype-yacc.y: Likewise.  Replace free() with XDELETE ().
	* c-typeck.c (PUSH_SPELLING): Remove redundant NULL-pointer
	check on invocation of XRESIZEVEC ().

From-SVN: r85177
2004-07-26 03:33:36 +02:00
Bernardo Innocenti 1ad463f493 c-common.c (disable_builtin_function): Rename variable n to new_disabled_builtin.
* c-common.c (disable_builtin_function): Rename variable n to
	new_disabled_builtin.
	* c-decl.c (duplicate_decls): Rename parameter decl to new_decl.
	Rename local variable old to old_decl.
	* gensupport.c (shift_output_template): Rename parameter old to src.
	* simplify-rtx.c (simplify_replace_rtx): Rename parameter oldx to
	old_rtx and newx to new_rtx.

From-SVN: r85175
2004-07-26 02:38:05 +02:00
Bernardo Innocenti f408614568 Makefile.in (C_PRAGMA_H): New variable to track dependencies of c-pragma.h.
* Makefile.in (C_PRAGMA_H): New variable to track dependencies
	of c-pragma.h.
	* c-pragma.h (c_lex, c_lex_with_flags): Change returntype to
	enum cpp_ttype.
	* c-lex.c: Likewise.

From-SVN: r85174
2004-07-26 02:29:41 +02:00
GCC Administrator 7d07a70e45 Daily bump.
From-SVN: r85172
2004-07-26 00:16:19 +00:00
Roger Sayle e9ea8bd58e fold-const.c (constant_boolean_node): Make extern.
* fold-const.c (constant_boolean_node): Make extern.
	(make_range): Wrap long lines.
	(fold_cond_expr_with_comparison): Remove unnecessary call to
	pedantic_non_lvalue.  Add missing calls to fold_convert.
	(fold_truthop): Add missing calls to fold_convert.
	(fold): Likewise.
	* tree.h (constant_boolean_node): Add prototype here.
	* builtins.c (expand_builtin_strncmp): Add missing calls to
	fold_convert.
	* tree-ssa-dom.c (record_equivalences_from_incoming_edge):
	Call fold_convert and constant_boolean_node to correct types.
	* tree-ssa-forwprop.c (substitute_single_use_vars): Add
	missing call to fold_convert to correct types.

From-SVN: r85169
2004-07-25 23:26:59 +00:00
Giovanni Bajo 70502b2caf Remove DOS line endings
From-SVN: r85168
2004-07-25 23:21:12 +00:00
Niall Douglas d7afec4b07 re PR c++/9283 (__attribute__((visibility ("hidden"))) not supported for class/struct)
PR c++/9283
	PR c++/15000
	* c-common.c (c_common_attribute_table): Allow
	handle_visibility_attribute to be called for types.
	(handle_visibility_attribute) When given a type, set the visibility
	bits on the TYPE_NAME.  When given a decl, don't set no_add_attrs
	so that we can check later whether the attribute was present. Added
	warning if attribute applied to non class type.
	* c-decl.c (diagnose_mismatched_decls): Updated rules for merging
	decls and checking that they are consistent.
	* common.opt: Added -fvisibility.
	* c.opt, c-opts.c: Added -fvisibility-inlines-hidden.
	* c-pragma.h, c-pragma.c: Added handle_pragma_visibility().
	* flags.h, tree.h: Added assorted support defines for overall patch
	* opts.c: Added parsing support for -fvisibility.
	* tree.c (build_decl): Set visibility for all decls to be whatever
	is in force at that time.
	* varasm.c (default_binds_local_p_1): Reworked logic determining
	when to make a symbol locally bound.
	* doc/invoke.texi: Added documentation for -fvisibility and
	-fvisibility-inlines-hidden.

	PR c++/15000
	PR c++/9283
	* class.c (check_field_decls): Apply hidden visibility if
	-fvisibility-inlines-hidden and inlined unless otherwise specified
	(build_vtable): Set vtable visibility to class visibility.
	(check_field_decls): Default static member visibility to class
	visibility.
	(check_methods): Default method visibility to class visibility.
	* cp-tree.h: Added CLASSTYPE_VISIBILITY and
	CLASSTYPE_VISIBILITY_SPECIFIED macro.
	* decl.c (duplicate_decls): New logic for merging definition decls
	with declaration decls. Added ignore & warning when non default
	applied to global operator new or delete.
	* method.c, optimize.c, rtti.c: Added setting of VISIBILITY_SPECIFIED
	wherever VISIBILITY was changed
	* rtti.c (get_tinfo_decl): Set typeinfo visibility to class
	visibility.
	(tinfo_base_init): Set typeinfo name visibility to class visibility.

	PR c++/9283
	PR c++/15000
	* gcc.dg/visibility-9.c, gcc.dg/visibility-a.c: New tests.
	* g++.dg/ext/visibility/: New directory.
	* g++.dg/ext/visibility-1.C, g++.dg/ext/visibility-2.C
	g++.dg/ext/visibility-3.C, g++.dg/ext/visibility-4.C,
	g++.dg/ext/visibility-5.C, g++.dg/ext/visibility-6.C,
	g++.dg/ext/visibility-7.C: Move to g++.dg/ext/visibility/.
	* g++.dg/ext/visibility/fvisibility.C,
	g++.dg/ext/visibility/fvisibility-inlines-hidden.C,
	g++.dg/ext/visibility/fvisibility-override1.C
	g++.dg/ext/visibility/fvisibility-override2.C
	g++.dg/ext/visibility/memfuncts.C
	g++.dg/ext/visibility/noPLT.C
	g++.dg/ext/visibility/pragma.C
	g++.dg/ext/visibility/pragma-override1.C
	g++.dg/ext/visibility/pragma-override2.C
	g++.dg/ext/visibility/staticmemfuncts.C
	g++.dg/ext/visibility/virtual.C: New tests.

Co-Authored-By: Brian Ryner <bryner@brianryner.com>

From-SVN: r85167
2004-07-25 22:52:22 +00:00