* 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
* 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
* 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-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-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
* 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
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
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 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
* c-decl.c (start_function): Form composite type of function types
rather than copying type from previous prototype declaration.
testsuite:
* gcc.dg/comp-return-1.c: New test
From-SVN: r85093
2004-07-23 Janis Johnson <janis187@us.ibm.com>
* config/rs6000/altivec.h (vec_lvewx, vec_lvehx, vec_lvwbx): Remove
the const qualifier for the second argument in the C++ functions.
From-SVN: r85092
2004-07-23 Janis Johnson <janis187@us.ibm.com>
* config/rs6000/altivec.h (vec_stvewx, vec_stvehx, vec_stvebx): Use
specific pointer types.
From-SVN: r85091
2004-07-23 Janis Johnson <janis187@us.ibm.com>
* config/rs6000/altivec.h (vec_vcmpgtsh): Fix C++ function name.
(vec_vmulesb): Add missing C++ function.
(vec_perm): Fix type of third argument in C++ function.
(vec_vsum4shs): Fix C++ function name.
(vec_any_ge): Remove C++ functions for unsupported arg combinations.
(vec_vcmpgtsw, vec_vcmpgtuw, vec_minsb, vec_vmsummbm): Fix the
argument passed to the error handler in C macro.
(vec_nmsub): Remove extra parens around argument names in C macro.
(vec_packpx): Add missing parens in C macro.
From-SVN: r85089
2004-07-23 Janis Johnson <janis187@us.ibm.com>
* gcc.dg/vmx/debug-1.c: Use int, not long, in union with vector.
* gcc.dg/vmx/varargs-1.c: Use int, not long, in union with vector.
From-SVN: r85086