Commit Graph

60383 Commits

Author SHA1 Message Date
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
Daniel Jacobowitz
dfe79cab9b pragma-align-2.c: New test.
* gcc.dg/pragma-align-2.c: New test.
	* gcc.dg/pragma-init-fini.c: New test.
	* gcc.dg/pragma-align.c: Change from compile to run.  Run on Solaris
	targets.

From-SVN: r85154
2004-07-25 18:08:52 +00:00
Bernardo Innocenti
e3a64162f5 c-common.c: Rename all identifiers named class' to cl'.
* c-common.c: Rename all identifiers named `class' to `cl'.
	* c-decl.c: Likewise.
	* c-common.h: Likewise.
	* c-parse.in: Likewise.
	* c-typeck.c: Likewise.
	* genmodes.c: Likewise.
	* real.c: Likewise.
	* real.h: Likewise.
	* recog.c: Likewise.
	* recog.h: Likewise.
	* regrename.c: Likewise.
	* tree.h: Likewise.

From-SVN: r85153
2004-07-25 19:57:24 +02:00
Bernardo Innocenti
381166d48e * decl.c: Rename all identifiers named class' to cl'.
From-SVN: r85152
2004-07-25 19:54:37 +02:00
Bernardo Innocenti
eab03d5ade decl.c: Rename all identifiers named class' to cl'.
* decl.c: Rename all identifiers named `class' to `cl'.
	* cp-tree.h: Likewise.

From-SVN: r85151
2004-07-25 19:54:02 +02:00
Gabriel Dos Reis
99dd239f3c cp-tree.h (TYPE_SET_PTRMEMFUNC_TYPE): Use GGC_CNEW.
* cp-tree.h (TYPE_SET_PTRMEMFUNC_TYPE): Use GGC_CNEW.
        * typeck2.c (abstract_virtuals_error): Use GGC_NEW.
        * name-lookup.c (binding_entry_make): Use GGC_NEW.
        (binding_table_construct): Use GGC_CNEWVEC.
        (binding_table_new): Use GGC_NEW.
        (cxx_binding_make): Likewise.
        (begin_scope): Likewise.
        (push_to_top_level): Use GCC_CNEW.
        * parser.c (cp_token_cache_new): Likewise.
        (cp_token_cache_push_token): Likewise.
        (cp_lexer_new_main): Likewise.
        (cp_lexer_new_from_tokens): Likewise.
        (cp_parser_context_new): Likewise.
        (cp_parser_new): Likewise.
        (cp_lexer_new_from_tokens): Use GGC_NEWVEC.
        * lex.c (cxx_make_type): Use GGC_CNEW.
        (retrofit_lang_decl): Use GGC_NEWVAR.
        (cxx_dup_lang_specific_decl): Likewise.
        (copy_lang_type): Likewise.
        * decl.c (use_label): Use GGC_NEW instead of ggc_alloc.
        (save_function_data): Likewise.
        (lookup_label): Use GGC_CNEW instead of ggc_alloc_cleared.
        (cxx_push_function_context): Likewise.

From-SVN: r85150
2004-07-25 17:19:39 +00:00
Daniel Jacobowitz
97b69e514a regmove.c (optimize_reg_copy_1): Don't try to replace call-used hard registers.
* regmove.c (optimize_reg_copy_1): Don't try to replace call-used
	hard registers.

From-SVN: r85149
2004-07-25 17:01:49 +00:00
Richard Kenner
a9315f6690 tree-ssa-operands.c (get_stmt_operands, [...]): Handle ARRAY_RANGE_REF like ARRAY_REF.
* tree-ssa-operands.c (get_stmt_operands, get_expr_operands):
	Handle ARRAY_RANGE_REF like ARRAY_REF.

From-SVN: r85148
2004-07-25 10:43:51 -04:00
Richard Kenner
a35461410a Remove obsolete text in comment.
From-SVN: r85147
2004-07-25 10:39:42 -04:00
Joseph Myers
197463ae90 c-typeck.c (digest_init): Don't allow arrays of signed or unsigned variants of wchar_t to be initialized...
* c-typeck.c (digest_init): Don't allow arrays of signed or
	unsigned variants of wchar_t to be initialized by wide string
	constants.  Do allow arrays of enumerated types compatible with
	wchar_t to be initialized by wide string constants.  Refine tests
	distinguishing wide and narrow strings and arrays.  Give specific
	error for arrays of other integer types initialized by string
	constants.
	(output_init_element, process_init_element): Check for
	INTEGRAL_TYPE_P rather than just for INTEGER_TYPE when
	initializing with string constants.

testsuite:
	* gcc.dg/init-string-2.c: New test.

From-SVN: r85146
2004-07-25 10:12:21 +01:00
Richard Henderson
b785f485ec c-decl.c (start_function): Set DECL_ARTIFICIAL and DECL_IGNORED_P on the RESULT_DECL.
* c-decl.c (start_function): Set DECL_ARTIFICIAL and DECL_IGNORED_P
        on the RESULT_DECL.
        * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
        * integrate.c (copy_decl_for_inlining): Copy DECL_ARTIFICIAL and
        DECL_IGNORED_P to new decl.
ada/
        * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
        DECL_IGNORED_P on RESULT_DECL.
cp/
        * decl.c (start_preparsed_function): Set DECL_ARTIFICIAL and
        DECL_IGNORED_P on RESULT_DECL.
        * semantics.c (finalize_nrv): Copy them too.
fortran/
        * trans-decl.c (gfc_build_function_decl): Set DECL_ARTIFICIAL
        and DECL_IGNORED_P on RESULT_DECL.
        (gfc_generate_constructors): Likewise.
java/
        * decl.c (build_result_decl): Set DECL_ARTIFICIAL and DECL_IGNORED_P.

From-SVN: r85145
2004-07-25 01:10:28 -07:00
Zack Weinberg
78d8e0f9d8 [multiple changes]
2004-07-24  Zack Weinberg  <zack@codesourcery.com>

	* config/ia64/ia64.c (general_xfmode_operand)
	(destination_xfmode_operand): Delete.
	* config/ia64/ia64.h (PREDICATE_CODES): Remove them.
	* config/ia64/ia64.md (*movxf_internal): Use general_operand
	and destination_operand.

2004-07-24  Alexander Kabaev  <kan@freebsd.org>

	* config/ia64/ia64.h (SUBTARGET_EXTRA_SPECS): Default to nothing.
	(EXTRA_SPECS): Use SUBTARGET_EXTRA_SPECS.

From-SVN: r85141
2004-07-25 04:03:42 +00:00
Zack Weinberg
c5e36c09e5 Zack Weinberg <zack@codesourcery.com
2004-07-24  Alexander Kabaev  <kan@freebsd.org>
	    Zack Weinberg  <zack@codesourcery.com

	PR 16684
	* c-decl.c (diagnose_mismatched_decls): Don't issue a
	redundant-declaration warning the first time a builtin is
	declared explicitly.
testsuite:
	* gcc.dg/Wredundant-decls-1.c: New test case.

From-SVN: r85140
2004-07-25 03:58:50 +00:00
Bernardo Innocenti
9d55a9660d * tree.h (staticp): Change return type to bool.
From-SVN: r85139
2004-07-25 05:28:38 +02:00
Bernardo Innocenti
43050a72d1 * c-common.c (c_staticp): Last episode of the staticp saga.
From-SVN: r85138
2004-07-25 05:13:12 +02:00
Bernardo Innocenti
ea06b1666d c-common.h (c_staticp): Change return type from int to bool.
* c-common.h (c_staticp): Change return type from int to bool.
	* tree.c (staticp): Likewise.
	* langhooks.h (staticp): Likewise.

From-SVN: r85137
2004-07-25 04:50:57 +02:00
Bernardo Innocenti
02a0b1f29e langhooks-def.h (lhd_staticp): Change return type from int to bool in prototype to match definition.
* langhooks-def.h (lhd_staticp): Change return type from int to
	bool in prototype to match definition.

From-SVN: r85136
2004-07-25 02:42:49 +02:00
Bernardo Innocenti
ca79179c0a system.h (bool, [...]): Don't redefine as preprocessor macros in C++.
* system.h (bool, true, false): Don't redefine as preprocessor macros
	in C++.

From-SVN: r85135
2004-07-25 02:32:22 +02:00
Roger Sayle
8b91e18c05 expmed.c (init_expmed): A signed modulus by a power of two is considered cheap if...
* expmed.c (init_expmed): A signed modulus by a power of two is
	considered cheap if its less than or equal to four instructions.

From-SVN: r85134
2004-07-25 00:25:28 +00:00
Bernardo Innocenti
c32118f961 ggc.h (GGC_NEW, [...]): New macros.
* ggc.h (GGC_NEW, GGC_CNEW, GGC_NEWVEC, GGC_CNEWVEC, GGC_NEWVAR,
	GGC_CNEWVAR): New macros.

From-SVN: r85133
2004-07-25 02:20:14 +02:00
GCC Administrator
264c4bdccb Daily bump.
From-SVN: r85131
2004-07-25 00:16:15 +00:00
Bernardo Innocenti
e18476eb94 c-common.c: Convert ATTRIBUTE_UNUSED to ARG_UNUSED in parameter lists.
* c-common.c: Convert ATTRIBUTE_UNUSED to ARG_UNUSED in parameter
	lists.
	* c-decl.c: Likewise.
	* c-format.c: Likewise.
	* c-lex.c: Likewise.
	* c-opts.c: Likewise.
	* c-pragma.c: Likewise.
	* c-typeck.c: Likewise.
	* gencheck.c: Likewise.
	* genconditions.c: Likewise.
	* genconfig.c: Likewise.
	* genflags.c: Likewise.
	* gengtype.c: Likewise.
	* gensupport.c: Likewise.
	* ggc-none.c: Likewise.
	* langhooks.c: Likewise.
	* statistics.h: Likewise.
	* stub-objc.c: Likewise.
	* java/decl.c: Likewise.

From-SVN: r85128
2004-07-25 02:13:01 +02:00
Bernardo Innocenti
72bb2c39ce internal.h (xnew, [...]): Remove.
* internal.h (xnew, xcnew, xnewvec, xcnewvec, xobnew): Remove.
	* directives.c: Use XNEW-family macros from libiberty.
	* lex.c: Likewise.
	* macro.c: Likewise.
	* cpplib.h (cpp_deps_style): Export enum with name.

From-SVN: r85121
2004-07-24 20:04:42 +02:00
Bernardo Innocenti
5673cd61ce * ansidecl.h (ARG_UNUSED): New Macro.
From-SVN: r85120
2004-07-24 19:49:27 +02:00
Bernardo Innocenti
b50a5a953b libiberty.h (XNEW, [...]): Move here from libcpp/internal.h.
* libiberty.h (XNEW, XCNEW, XNEWVEC, XCNEWVEC, XOBNEW): Move here from
	libcpp/internal.h.
	(XDELETE, XRESIZEVEC, XDELETEVEC, XNEWVAR, XCNEWVAR, XRESIZEVAR): New
	macros.

From-SVN: r85119
2004-07-24 19:48:01 +02:00
Bryce McKinlay
8b66a9e980 Makefile.am: Add gnu/java/security/action/GetPropertyAction.java and...
2004-07-24  Bryce McKinlay  <mckinlay@redhat.com>

        * Makefile.am: Add gnu/java/security/action/GetPropertyAction.java
        and gnu/java/security/action/SetAccessibleAction.java.
        * Makefile.in: Rebuilt.

From-SVN: r85118
2004-07-24 17:43:45 +01:00
Roman Zippel
428511bbd3 m68k.c (output_scc_di): Fix coding style.
2004-07-24  Roman Zippel  <zippel@linux-m68k.org>

	* config/m68k/m68k.c (output_scc_di): Fix coding style.
	(symbolic_operand): Fix prototype.
	* config/m68k/m68k.h (PREDICATE_CODES): Add symbolic_operand.
	* config/m68k/m68k.md: Add constants for registers a0 and sp and
	use them, change from the "{...}" syntax to the simpler {...}
	syntax.
	(*cfv4_extendqisi2): Fix destination predicate.
	* config/m68k/m68k-protos.h: Remove various declarations also
	generated via PREDICATE_CODES.

From-SVN: r85115
2004-07-24 11:12:29 +00:00
Mike Stump
0c6d842886 c-typeck.c (convert_for_assignment): Tightened up pointer converstions that differ in signedness.
* c-typeck.c (convert_for_assignment): Tightened up pointer converstions
        that differ in signedness.
Apple Radar 2535328.

From-SVN: r85114
2004-07-24 07:32:15 +00:00
Zack Weinberg
4c61a9fd7b * genmodes.c (make_vector_modes): Mark with ATTRIBUTE_UNUSED.
From-SVN: r85113
2004-07-24 06:26:50 +00:00
Richard Kenner
4626c43318 tree.def (VIEW_CONVERT_EXPR): Change to class 'r'.
* tree.def (VIEW_CONVERT_EXPR): Change to class 'r'.
	* tree-ssa-operands.c (get_expr_operands, case VIEW_CONVERT_EXPR): New.

From-SVN: r85111
2004-07-23 21:35:04 -04:00
Richard Kenner
9e51aaf570 gimplify.c (gimplify_compound_lval): Check for no handled operations, rather than checking for explicit list of nodes.
* gimplify.c (gimplify_compound_lval): Check for no handled
	operations, rather than checking for explicit list of nodes.
	(is_gimple_addr_expr_arg_or_indirect): New function.
	(gimplify_addr_expr): Call it and handle INDIRECT_REF; remove
	redundant setting of TREE_INVARIANT.
	(gimplify_expr, case VIEW_CONVERT_EXPR): Call gimplify_compound_lval.
	* tree-gimple.c (is_gimple_addr_expr_arg): Call handled_component_p.

From-SVN: r85110
2004-07-23 21:29:11 -04:00
Bryce McKinlay
ffe4e0376f prims.cc (_Jv_InitPrimClass): Don't create an array class.
2004-07-23  Bryce McKinlay  <mckinlay@redhat.com>

	* prims.cc (_Jv_InitPrimClass): Don't create an array class.
	(_Jv_CreateJavaVM): Don't pass array vtable parameter to
	_Jv_InitPrimClass.
	(DECLARE_PRIM_TYPE): Don't declare array vtables.
	* include/jvm.h (struct _Jv_ArrayVTable): Removed.
	* java/lang/Class.h (_Jv_InitPrimClass): Update friend declaration.

From-SVN: r85109
2004-07-24 02:17:29 +01:00
Diego Novillo
bbc630f5d9 re PR tree-optimization/16688 (ICE in group_aliases, at tree-ssa-alias.c:1234)
PR tree-optimization/16688
	PR tree-optimization/16689
	* tree-ssa-alias.c (setup_pointers_and_addressables): Remove
	unnecessary initialization of 'tag'.
	(get_tmt_for): Check that the new type tag has the same alias
	set as the pointed-to type.
	(group_aliases): Only regular variables need to be removed
	from the alias set of a name tag.
	* tree-ssa-copy.c (may_propagate_copy): Do not allow copy
	propagation if the two types are not compatible.
	(merge_alias_info): Rename from replace_ssa_names_ann.
	Add more checking.
	(replace_exp_1): If both arguments are SSA_NAMEs, check that
	the propagation can be done.
	Only call merge_alias_info on pointers.
	(propagate_value): Likewise.
	* tree-ssa-copyrename.c: Include langhooks.h.
	(copy_rename_partition_coalesce): Call replace_ssa_name_symbol
	to do the merging.
	Do not coalesce variables with incompatible types.
	(rename_ssa_copies): Call replace_ssa_name_symbol.
	* tree-ssa.c (verify_ssa_name): Verify that the SSA_NAME has
	the same type as the underlying _DECL.
	* tree-ssanames.c (replace_ssa_name_symbol): New function.
	* tree.h (replace_ssa_name_symbol): Declare.

From-SVN: r85108
2004-07-23 21:05:45 -04:00
GCC Administrator
368bf4a184 Daily bump.
From-SVN: r85106
2004-07-24 00:16:13 +00:00
Benjamin Kosnik
1f34d12191 re PR libstdc++/16678 (warning: suggest parentheses around assignment used as truth value)
2004-07-23  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/16678
	* include/bits/locale_facets.tcc: Fix for -Werror.

From-SVN: r85103
2004-07-24 00:10:09 +00:00
Mike Stump
0e7d217a97 boehm.c (set_bit): Improve type safety wrt unsignedness.
* boehm.c (set_bit): Improve type safety wrt unsignedness.
        * gjavah.c (throwable_p, decode_signature_piece,
        print_full_cxx_name, print_include, add_namelet, add_class_decl,
        process_file): Likewise.
        * jcf-dump.c (main): Likewise.
        * jcf-io.c (read_zip_member): Likewise.
        * jcf-parse.c (HANDLE_CONSTANT_Utf8, get_constant,
        give_name_to_class, get_class_constant): Likewise.
        * jcf-write.c (find_constant_wide, push_long_const,
        generate_classfile): Likewise.
        * lex.c (java_new_lexer, java_read_char, cxx_keyword_p): Likewise.
        * parse.y (read_import_dir): Likewise.
        * typeck.c (parse_signature_type): Likewise.
        * verify.c (verify_jvm_instructions): Likewise.
        * zextract.c (find_zip_file_start, read_zip_archive): Likewise.

From-SVN: r85102
2004-07-24 00:03:28 +00:00
Thomas Fitzsimmons
ef05818b76 Makefile.am: Rename jar binary to fastjar.
2004-07-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Makefile.am: Rename jar binary to fastjar.
	* Makefile.in: Regenerate.
	* fastjar.texi: Rename references to jar binary with fastjar.

2004-07-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Make-lang.in: Replace rmic and rmiregistry references with
	grmic and grmiregistry.
	* gcj.texi: Likewise.

2004-07-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Makefile.am: Replace jar, rmic and rmiregistry references with
	gjar, grmic and grmiregistry.
	* configure.in: Likewise.
	* Makefile.in: Regenerate.
	* configure: Likewise.
	* gcj/Makefile.in: Likewise.
	* include/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

From-SVN: r85101
2004-07-23 23:34:17 +00:00
Richard Henderson
d91ba7b021 re PR c++/16277 (Wrong code with conditionals in initializers)
PR c++/16277
        * gimplify.c (gimplify_cond_expr): Gimplify TARGET to a min_lval;
        unshare it properly.
        (gimplify_modify_expr_rhs): Push assignment from a conditional into
        the conditional for all non-register types.

From-SVN: r85100
2004-07-23 15:48:14 -07:00
Richard Henderson
ab8907ef75 expr.c (expand_expr_real_1): Don't handle non-local variables.
* expr.c (expand_expr_real_1): Don't handle non-local variables.
        * expr.h (fix_lexical_addr): Remove.
        * function.c (NEED_SEPARATE_AP): Remove.
        (fix_lexical_addr): Remove.
        * tree-alias-common.c (get_alias_var_decl): Check TREE_STATIC,
        not null decl_function_context.
        (create_alias_vars): Likewise.
        * tree-cfg.c (make_ctrl_stmt_edges): Don't check for non-local labels.
        (simple_goto_p): Likewise.
        * tree-dfa.c (add_referenced_var): Don't check for non-local variables.
        * tree-ssa-ccp.c (get_default_value): Likewise.
        * tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
        * tree.c (needs_to_live_in_memory): Likewise.
        * tree-flow-inline.h (may_be_aliased): Move...
        * tree-ssa-alias.c (may_be_aliased): ... here.  Enhance check for
        when TREE_STATIC variables may be addressable.

From-SVN: r85099
2004-07-23 15:37:23 -07:00
Jakub Jelinek
5aa33bdb4f Makefile.in (site.exp): Add HOSTCC and HOSTCFLAGS to site.exp.
* Makefile.in (site.exp): Add HOSTCC and HOSTCFLAGS to site.exp.
testsuite/
	* README.compat: Add RUN_ALL_COMPAT_TESTS documentation.
	* lib/compat.exp: Replace ^$tmpdir/? in testcase names with tmpdir-.
	* gcc.dg/compat/struct-layout-1.exp: New testsuite driver.
	* gcc.dg/compat/struct-layout-1_generate.c: New testcase generator.
	* gcc.dg/compat/generate-random.c: New file.
	* gcc.dg/compat/generate-random.h: Likewise.
	* gcc.dg/compat/generate-random_r.c: Likewise.
	* gcc.dg/compat/struct-layout-1.h: Likewise.
	* gcc.dg/compat/struct-layout-1_x1.h: Likewise.
	* gcc.dg/compat/struct-layout-1_x2.h: Likewise.
	* gcc.dg/compat/struct-layout-1_y1.h: Likewise.
	* gcc.dg/compat/struct-layout-1_y2.h: Likewise.
	* gcc.dg/compat/struct-layout-1_main.c: New test.
	* gcc.dg/compat/struct-layout-1_x.c: New file.
	* gcc.dg/compat/struct-layout-1_y.c: New file.
	* gcc.dg/compat/struct-layout-1_test.h: New file.

From-SVN: r85098
2004-07-24 00:36:47 +02:00
Bryce McKinlay
ec5c28ece1 Connection.java: Use GetPropertyAction for privileged getProperty calls.
2004-07-23  Bryce McKinlay  <mckinlay@redhat.com>

	* gnu/java/net/protocol/http/Connection.java: Use GetPropertyAction
	for privileged getProperty calls.
	* java/io/ObjectOutputStream.java (getField): No longer static. Use
	SetAccessibleAction instead of anonymous class for doPrivileged
	call.
	(getMethod): Likewise.
	(setAccessible): New field. PrivilegedAction object to use when
	calling setAccessible.
	* java/io/ObjectStreamClass.java (calculateOffsets): Use
	SetAccessibleAction instead of anonymous class for diPrivileged
	call.
	(setFields): Likewise.
	(getClassUID): Likewise.
	(findMethod): Likewise.
	* gnu/java/security/action/GetPropertyAction.java: New class.
	* gnu/java/security/action/SetAccessibleAction.java: New class.

From-SVN: r85097
2004-07-23 23:20:14 +01:00