* builtins.c (expand_builtin): When not optimizing, call the library
function for all builtins that have library functions (except alloca).
From-SVN: r70195
2003-08-05 Phil Edwards <pme@gcc.gnu.org>
* acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Put down the crack
pipe, open the window to let out the fumes, redo the option-handling
logic to properly execute the detection test.
* aclocal.m4, configure: Regenerate.
From-SVN: r70186
* java/lang/reflect/Method.java: Updated status comment.
Imported javadoc from Classpath and re-ordered methods.
* java/lang/reflect/Constructor.java: Reindented. Updated
status comment. Imported javadoc from Classpath and re-ordered
methods.
From-SVN: r70184
Fix for PR java/11600:
* parse.y (java_complete_lhs): See whether we're calling a method
on an array.
(check_thrown_exceptions): Added `is_array_call' argument;
fixed `clone' checking; updated all callers.
From-SVN: r70180
2003-08-05 Steven Bosscher <steven@gcc.gnu.org>
* tree.h (DID_INLINE_FUNC): Remove macro.
(DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
add tree check for FUNCTION_DECL.
(DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
(struct tree_decl): Rename inlined_function_flag to
declared_inline_flag.
* c-common.h (c_lang_decl): Remove.
(DECL_ESTIMATED_INSNS): Remove.
* c-tree.h (struct lang_decl): Don't include c_lang_decl.
(DECL_DECLARED_INLINE_P): Remove.
* c-decl.c (grokdeclarator): Update comment. With -finline-functions,
do not reset DECL_DECLARED_INLINE_P. Don't use DID_INLINE_FUNC.
(finish_function): Make uninlinable a bool. Fixup call to
tree_inlinable_function_p() and fix some code style issues.
* cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
* cgraph.c (dump_cgraph): Likewise.
* cgraphunit.c (cgraph_decide_inlining): Likewise
(cgraph_finalize_compilation_unit): Likewise.
Also update call to tree_inlinable_function_p().
(cgraph_default_inline_p): Don't use DID_INLINE_FUNC. Instead
look at DECL_DECLARED_INLINE and reverse logic.
* print-tree.c (print_node): Likewise.
* toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
* tree-inline.h (tree_inlinable_function_p): Make a bool. Update
prototype.
* tree-inline.c (inlinable_function_p): Split up in this function to
check for basic inlining inhibiting conditions, and new
limits_allow_inlining() function. Warn if inlining is impossible
because the inline candidate calls alloca or uses sjlj exceptions.
(limits_allow_inlining): this new function to check if the inlining
limits are satisfied. Throttle from currfn_max_inline_insns, not from
MAX_INLINE_INSNS_SINGLE. The latter only makes sense if
MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
Update prototypes.
(tree_inlinable_function_p): Make a bool. Update call to
inlinable_function_p
(expand_call_inline): Use limits_allow_inlining() when not in
unit-at-a-time mode to decide on inlining. Don't use DID_INLINE_FUNC,
instead see if the function was declared `inline'.
cp/
* cp-tree.h (struct lang_decl): Don't include c_lang_decl.
(DECL_DECLARED_INLINE_P): Remove.
* decl2.c (import_export_decl): Only look at DECL_DECLARED_INLINE_P
if decl is a FUNCTION_DECL. This never made sense, but now it is
required to avoid a tree check failure.
* decl.c (grokfndecl): Don't touch DID_INLINE_FUNC.
* optimize.c (maybe_clone_body): Likewise.
java/
* java-tree.h (DECL_ESTIMATED_INSNS): Remove.
From-SVN: r70174
2003-08-05 Matthias Klose <doko@debian.org>
* aclocal.m4: check for libart-config binary
under the name libart2-config as well.
* configure: regenerated.
From-SVN: r70169
PR middle-end/11771
* fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
logic in negate_expr, i.e. we don't invert (A-B) for floating
point types unless flag_unsafe_math_optimizations.
* gcc.c-torture/compile/20030804-1.c: New test case.
From-SVN: r70159
* fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
for floating point expressions with -ffast-math.
(fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
* expmed.c (expand_mult): Wrap long line. Expand x*2.0 as x+x.
* gcc.dg/20030804-1.c: New test case.
From-SVN: r70158
2003-08-04 David P Grove <groved@us.ibm.com>
* java/text/DecimalFormat.java (format): avoid ArithmeticException
when groupingSize is 0.
(parse): Likewise.
From-SVN: r70156
* config/mips/mips.c (override_options): Disable -G on targets that
have no .section support.
(mips_select_section): Use default_select_section for such targets.
From-SVN: r70154
2003-08-04 Matthias Klose <doko@debian.org>
* libart.m4: check for libart-config binary
under the name libart2-config as well.
* configure, aclocal.m4: regenerated.
From-SVN: r70150
* opts.c (decode_options): Do language-specific initialization for
the global diagnostic context.
* langhooks-def.h (lhd_initialize_diagnostics): Declare.
(LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
(LANG_HOOKS_INITIALIZER): Adjust.
* langhooks.h (struct lang_hooks): Add new field
initialize_diagnostics.
* langhooks.c (lhd_initialize_diagnostics): Define.
From-SVN: r70129
* builtin-types.def (BT_SSIZE): New primitive type.
(BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
* builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
* builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
few functions that define default attributes using it.
* c-common.c (c_common_insert_default_attributes): Do nothing.
* doc/extend.texi: Document these "new" builtins.
From-SVN: r70113
* config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
(LIB_SPEC): Set -lpthread always when -pthread set. Set -lieee
when -mieee-fp set and -shared not set.
(SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
From-SVN: r70112
* gcc.dg/builtins-1.c: Add macro helpers. Add missing math
builtins. Move cases from builtins-4.c here.
* gcc.dg/torture/builtin-math-1.c: New test taken from
bits of gcc.dg/builtins-3.c, gcc.dg/builtins-5.c and also some
additional cases.
* gcc.dg/builtins-3.c, gcc.dg/builtins-4.c, gcc.dg/builtins-5.c:
Delete.
From-SVN: r70108