* make.adb (Add_Switch): Make Generic_Position a procedure. The
function approach did not work well because of a side effect (the
function call could reallocate the table which was being indexed
using its result). Fixes ada/4851.
From-SVN: r48265
* boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): Merge into ..
(get_boehm_type_descriptor): ... here. Arrange for the
TREE_TYPE to get set properly.
From-SVN: r48261
* config/os/hpux/bits/os_defines.h: Include <sys/_inttypes.h.
Define strtoll and strtoull. Provide prototypes for
__strtoll and __strtoull. Define _GLIBCPP_USE_LONG_LONG
unconditionally.
From-SVN: r48260
Fix for PR java/5165:
* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass):
Convert any constant string field to a String; not just final
fields.
From-SVN: r48255
* parse.y (java_complete_lhs) [COMPOUND_EXPR]: Correctly compute
CAN_COMPLETE_NORMALLY for the node.
* jcf-write.c (generate_bytecode_insns) [COMPOUND_EXPR]: Don't
generate code for second branch if first branch can't complete
normally.
(generate_bytecode_insns) [LOOP_EXPR]: Don't generate `goto' to
the loop head if the loop body can't complete normally.
From-SVN: r48249
* combine.c (nonzero_bits): If using reg_nonzero_bits,
we don't know anything about bits outside of X mode.
(num_sign_bit_copies): Likewise.
From-SVN: r48239
* darwin.c (machopic_classify_ident): Handle "stale" section-
encoded name problem to avoid generating illegal stubs.
(func_name_maybe_scoped): Remove, not needed for gcc3.
(machopic_indirect_call_target): Don't use it.
(darwin_encode_section_info): Call only one of update_stubs()
or update_non_lazy_ptrs() as DECL cannot be both.
(machopic_output_possible_stub_label): New.
* darwin.h (ASM_DECLARE_FUNCTION_NAME): Use it.
* darwin-protos.h (machopic_output_possible_stub_label): Declare.
From-SVN: r48238
* parse.y (java_complete_lhs) [COMPOUND_EXPR]: Correctly compute
CAN_COMPLETE_NORMALLY for the node.
* jcf-write.c (generate_bytecode_insns) [COMPOUND_EXPR]: Don't
generate code for second branch if first branch can't complete
normally.
(generate_bytecode_insns) [LOOP_EXPR]: Don't generate `goto' to
the loop head if the loop body can't complete normally.
From-SVN: r48233
Fixes PR java/5057:
* parse.y (analyze_clinit_body): Added this_class parameter.
Check for more cases where we must keep <clinit>.
(maybe_yank_clinit): Cleaned up flow control.
From-SVN: r48231
* aclocal.m4 (gcc_AC_PROG_GNAT): Run prospective ada drivers in
subshells.
* configure.in: Likewise for perl Pod::Man.
* configure: Regenerated.
From-SVN: r48230
* builtin-attrs.def (__builtin_printf_unlocked,
__builtin_fprintf_unlocked, printf_unlocked, fprintf_unlocked):
Mark with the __printf__ attribute.
* builtins.c (expand_builtin_fputs): Add an `unlocked' parameter
and set the replacement function depending on it.
(expand_builtin): Skip BUILT_IN_*_UNLOCKED when not optimizing.
Handle BUILT_IN_*_UNLOCKED when optimizing.
* builtins.def (DEF_EXT_FALLBACK_BUILTIN,
DEF_EXT_FRONT_END_LIB_BUILTIN): New macros.
Declare the "unlocked" stdio functions.
* c-common.c (c_expand_builtin_printf, c_expand_builtin_fprintf):
Add an `unlocked' parameter and set the replacement function
depending on it.
(c_expand_builtin): Handle BUILT_IN_PRINTF_UNLOCKED and
BUILT_IN_FPRINTF_UNLOCKED.
* doc/extend.texi (printf_unlocked, fprintf_unlocked,
fputs_unlocked): Document.
testsuite:
* gcc.dg/format/builtin-1.c: Test unlocked stdio.
* gcc.dg/format/c90-printf-3.c: Likewise.
* gcc.dg/format/c99-printf-3.c: Likewise.
* gcc.dg/format/ext-1.c: Likewise.
* gcc.dg/format/ext-6.c: Likewise.
* gcc.dg/format/format.h: Prototype unlocked stdio.
From-SVN: r48229
* g++.old-deja/g++.eh/badalloc1.C (arena_size): New.
(arena): Use it.
(malloc): Correct allocation logic. Abort if we fill up the
arena before initialization complete.
(realloc): Correct allocation logic.
From-SVN: r48224
Fix for PR java/3417:
* parse.y (patch_assignment): Added special processing for
`return'.
(patch_return): Don't convert booleans to integers, and don't
special-case `null'.
From-SVN: r48208
* cfgcleanup.c (flow_find_cross_jump): Avoid incrementing of ninsns
if one of block does not contain jump.
(outgoing_edge_math): Revert last path; require edges to be noncomplex
nonfake to match single exit edge; require conditional jumps to not
have side effect.
From-SVN: r48203