Commit Graph

60323 Commits

Author SHA1 Message Date
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
Bernardo Innocenti
28dab13236 basic-block.h (reorder_block_def): Rename to reorder_block_def_p.
* basic-block.h (reorder_block_def): Rename to reorder_block_def_p.
	* c-common.c: Add missing casts from void * to other types.
	* c-decl.c: Likewise.
	* c-format.c: Likewise.
	* c-lex.c: Likewise.
	* c-pragma.c: Likewise.
	* c-typeck.c: Likewise.
	* defaults.h: Likewise.
	* genconstants.c: Likewise.
	* gengtype-lex.l: Likewise.
	* genmodes.c: Likewise.
	* read-rtl.c: Likewise.
	* rtl.c: Likewise.

From-SVN: r85166
2004-07-26 00:17:02 +02:00
Bernardo Innocenti
4f3d87d661 Add a few missing items to a ChangeLog entry of mine.
From-SVN: r85164
2004-07-25 23:12:01 +02:00
Bernardo Innocenti
5d038c4cb1 bitmap.c: Use type-safe memory allocation macros from libiberty.
* bitmap.c: Use type-safe memory allocation macros from libiberty.
	* c-common.c: Likewise.
	* c-decl.c: Likewise.
	* c-lang.c: Likewise.
	* c-lex.c: Likewise.
	* c-opts.c: Likewise.
	* c-parse.in: Likewise.
	* c-typeck.c: Likewise.
	* genconditions.c: Likewise.
	* gengtype-lex.l: Likewise.
	* gengtype-yacc.y: Likewise.
	* gengtype.c: Likewise.
	* genmodes.c: Likewise.
	* gensupport.c: Likewise.
	* read-rtl.c: Likewise.
	* read-rtl.c (read_constants): Use INSERT instead of TRUE in call to
	htab_find_slot().

From-SVN: r85163
2004-07-25 22:43:23 +02:00
Bernardo Innocenti
b12a648242 Fix a ChangeLog entry.
From-SVN: r85162
2004-07-25 21:46:26 +02:00
Bernardo Innocenti
89658955e5 c-decl.c (groktypename, [...]): Rename variable typename to type_name.
* c-decl.c (groktypename, groktypename_in_param_context): Rename
	variable typename to type_name.
	* c-lex.c (interpret_float): Likewise.

From-SVN: r85161
2004-07-25 21:32:47 +02:00
Roger Sayle
3244e67d15 convert.c (convert_to_real, [...]): Replace calls to build with calls to buildN.
* convert.c (convert_to_real, convert_to_integer,
	convert_to_complex): Replace calls to build with calls to buildN.
	* coverage.c (tree_coverage_counter_ref): Likewise.
	* dojump.c (do_jump): Likewise.
	* dwarf2out.c (loc_descriptor_from_tree): Likewise.
	* emit-rtl.c (component_ref_for_mem_expr,
	set_mem_attributes_minus_bitpos): Likewise.
	* explow.c (update_nonlocal_goto_save_area): Likewise.
	* expmed.c (expand_shift, make_tree, const_mult_add_overflow_p,
	expand_mult_add): Likewise.
	* expr.c (emit_block_move_via_libcall, clear_storage_via_libcall,
	store_constructor, get_inner_reference, expand_expr_real_1,
	try_casesi, try_tablejump): Likewise.
	* function.c (expand_function_start): Likewise.
	* stmt.c (emit_case_bit_tests, expand_end_case_type,
	node_has_low_bound, node_has_high_bound, emit_case_nodes): Likewise.
	* stor-layout.c (place_union_field, layout_type): Likewise.
	* tree.c (substitute_in_expr, tree_fold_gcd): Likewise.
	* varasm.c (copy_constant): Likewise.

From-SVN: r85160
2004-07-25 19:15:50 +00:00
Bernardo Innocenti
53ed1a12d3 c-common.c: Rename all identifiers named `new'.
* c-common.c: Rename all identifiers named `new'.
	* c-decl.c: Likewise.
	* gensupport.c: Likewise.
	* simplify-rtx.c: Likewise.

From-SVN: r85159
2004-07-25 21:09:36 +02:00
Joseph Myers
bbbcb2e1c4 re PR c/15360 (c99: extern w/initializer; extern w/internal linkage)
PR c/15360
	* c-decl.c (start_decl): Do not set DECL_EXTERNAL for initialized
	declarations until after calling pushdecl.
	(grokdeclarator): Set DECL_EXTERNAL for variables based on use of
	"extern" and not on whether the declaration is initialized.

testsuite:
	* gcc.dg/pr15360-1.c: New test.

From-SVN: r85156
2004-07-25 19:42:24 +01:00
Daniel Jacobowitz
07a434923a * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*)
(sparc-*-solaris2*): Include sol2.o and sol2-protos.h.
	* config/sol2-c.c: Include "tm.h", "tm_p.h", "toplev.h",
	"cpplib.h", "c-pragma.h", "c-common.h".
	(solaris_pragma_align, solaris_pragma_init, solaris_pragma_fini)
	(solaris_register_pragmas): New functions.
	* config/sol2-protos.h: New file.
	* config/sol2.c: New file.
	* config/sol2.h (SOLARIS_ATTRIBUTE_TABLE, ASM_DECLARE_FUNCTION_SIZE)
	(REGISTER_TARGET_PRAGMAS): New macros.
	(solaris_pending_aligns, solaris_pending_inits)
	(solaris_pending_finis): New variables.
	* config/t-sol2 (sol2-c.o): Update dependencies.
	(sol2.o): New rule.
	* config/i386/i386.c (TARGET_INSERT_ATTRIBUTES): Define in terms of
	SUBTARGET_INSERT_ATTRIBUTES.
	(ix86_attribute_table): Include SUBTARGET_ATTRIBUTE_TABLE.
	* config/i386/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
	(SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
	* config/sparc/elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine.
	* config/sparc/sp64-elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine.
	* config/sparc/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
	(SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
	* config/sparc/sparc.c (sparc_attribute_table): New.
	(TARGET_INSERT_ATTRIBUTES): Define in terms of
	SUBTARGET_INSERT_ATTRIBUTES.
	(TARGET_ATTRIBUTE_TABLE): Define if SUBTARGET_ATTRIBUTE_TABLE
	is defined.
	* doc/extend.texi (Solaris Pragmas): New section.

From-SVN: r85155
2004-07-25 18:10:05 +00:00