Age | Commit message (Collapse) | Author | Files | Lines |
|
From-SVN: r34300
|
|
From-SVN: r34299
|
|
From-SVN: r34298
|
|
From-SVN: r34297
|
|
dead if not used.
* flow.c (propagate_block): If block has no successors, stores to
frame are dead if not used.
From-SVN: r34296
|
|
* tree.h (TREE_CODE_LENGTH): New macro.
* c-common.c (c_find_base_decl): Use it.
* expr.c (safe_from_p): Likewise.
* print-tree.c (print_node): Likewise.
* tree.c (make_node, copy_node, get_identifier): Likewie.
(first_rtl_op, contains_placeholder_p, substitute_in_expr): Likewise.
(build, build_nt, build_parse_node, simple_cst_equal): Likewise.
* fold-const.c (make_range): Likewise.
(fold): Likewise; also use first_rtl_op.
* c-iterate.c (collect_iterators): Use first_rtl_op.
* calls.c (calls_function_1): Likewise; also rename TYPE to CLASS.
Use IS_EXPR_CODE_CLASS.
(preexpand_calls): Likewise.
* ggc-common.c (ggc_mark_trees): Rework to use first_rtl_op
and TREE_CODE_LENGTH.
* stmt.c (warn_if_unused_value): If no operands, no unused value.
* ch/lang.c (deep_const_expr): Use first_rtl_op.
* ch/satisfy.c (satisfy): Use TREE_CODE_LENGTH.
* cp/method.c (mangle_expression): Use TREE_CODE_LENGTH.
* cp/tree.c (break_out_calls, build_min_nt): Use TREE_CODE_LENGTH.
(built_min, cp_tree_equal): Likewise.
From-SVN: r34295
|
|
From-SVN: r34294
|
|
From-SVN: r34293
|
|
From-SVN: r34292
|
|
extra truncations.
* stmt (expand_end_case): Reorder conversion sequence for jump
table to avoid extra truncations.
From-SVN: r34291
|
|
From-SVN: r34290
|
|
From-SVN: r34289
|
|
From-SVN: r34288
|
|
block is more than just a simple conditional...
* ifcvt.c (cond_exec_process_if_block): Do nothing if the last insn
in the block is more than just a simple conditional branch.
(noce_process_if_block): Similarly.
From-SVN: r34287
|
|
for classes with virtual bases.
* call.c (add_template_candidate_real): Handle member template
constructors for classes with virtual bases.
(build_user_type_conversion_1): Use in_charge_arg_for_name.
(build_new_method_call): Use DECL_NONSTATIC_MEMBER_FUNCTION_P.
* ir.texi: Update thunk documentation.
From-SVN: r34284
|
|
* optabs.c (prepare_float_lib_cmp): Protect *px and *py from
queue.
From-SVN: r34283
|
|
From-SVN: r34281
|
|
From-SVN: r34280
|
|
* include/name-finder.h: Include <sys/wait.h>.
(_Jv_name_finder::pid): Now of type `pid_t'.
(_Jv_name_finder::~_Jv_name_finder): Call waitpid().
* java/lang/Throwable.java (CPlusPlusDemangler.close): Call
`proc.waitFor()'.
From-SVN: r34279
|
|
From-SVN: r34277
|
|
From-SVN: r34275
|
|
From-SVN: r34274
|
|
From-SVN: r34273
|
|
From-SVN: r34272
|
|
From-SVN: r34271
|
|
From-SVN: r34270
|
|
From-SVN: r34269
|
|
insn.
* config/alpha/alpha.md (*setne_internal): Use match_operator
instead of working down from insn.
From-SVN: r34268
|
|
* cp-tree.h (DECL_ANTICIPATED): New macro.
Document new use of DECL_LANG_FLAG_7.
* decl.c (builtin_function): Set DECL_ANTICIPATED on builtins
in the user namespace.
* lex.c (do_identifier): If the identifier's declaration has
DECL_ANTICIPATED on, it has not yet been declared. But do not
replace it with an ordinary implicit declaration.
* tinfo2.cc: Include stdlib.h.
From-SVN: r34267
|
|
From-SVN: r34266
|
|
From-SVN: r34265
|
|
From-SVN: r34264
|
|
From-SVN: r34263
|
|
From-SVN: r34262
|
|
From-SVN: r34261
|
|
* cpplib.c (do_if): Don't save and restore only_seen_white here.
* cppexp.c (_cpp_parse_expr): Save and restore only_seen_white
and skipping here.
From-SVN: r34260
|
|
conditional death information.
* flow.c (mark_used_reg): If a register is unconditionally live,
remove any conditional death information.
From-SVN: r34259
|
|
* final.c (current_output_insn): New.
(final_scan_insn): Set it.
* output.h: Declare it.
From-SVN: r34258
|
|
From-SVN: r34257
|
|
* jump.c (redirect_jump): Don't emit NOTE_INSN_FUNCTION_END
if nlabel is null.
From-SVN: r34256
|
|
* concatstr.c, exh.c: Include stdlib.h and string.h.
* delaycase.c, eqstr.c, memmove.c, printbuffer.c,
printevent.c, sendbuffer.c, waitbuffer.c: Include string.h.
From-SVN: r34255
|
|
* hashtab.c, partition.c, sort.c, xmemdup.c: Include string.h
if HAVE_STRING_H.
* pexecute.c, xexit.c: Include stdlib.h if HAVE_STDLIB_H.
* objalloc.c: Include config.h. Include stdlib.h and don't
declare malloc or free if HAVE_STDLIB_H.
* strerror.c, strsignal.c: Include stdlib.h if HAVE_STDLIB_H,
else declare malloc without prototype. Include string.h if
HAVE_STRING_H, else declare memset without prototype. Don't
include stddef.h.
From-SVN: r34254
|
|
* cpplib.h (cpp_reader): Remove if_stack. Change
potential_control_macro to a cpp_hashnode *. Add skipping flag.
* cpphash.h (struct ihash): Change control_macro to a
cpp_hashnode * and shorten name to cmacro.
Add NEVER_REINCLUDE constant.
* cppfiles.c (redundant_include_p): Drop cpp_reader argument.
Examine the cmacro node directly, no need to call cpp_defined.
(_cpp_execute_include, read_include_file): Set cmacro to
NEVER_REINCLUDE, not U"".
* cpplex.c (cpp_push_buffer): Don't set new->if_stack.
(cpp_get_token): If pfile->skipping is true, discard text and
keep scanning until we hit a directive; don't expand macros.
* cpplib.c (struct if_stack): Remove if_succeeded, add
was_skipping. Change control_macro to a cpp_hashnode * and
shorten name to cmacro. Remove typedef IF_STACK.
(parse_ifdef), detect_if_not_defined): Return a cpp_hashnode *.
(conditional_skip, skip_if_group,
consider_directive_while_skipping): Delete.
(push_conditional): New.
(_cpp_handle_directive): Don't process directives other than
conditionals if we are skipping.
(do_ifdef, do_ifndef, do_if, do_else, do_elif, do_endif):
Update to new scheme.
(validate_else): Skip rest of line here, unconditionally.
(_cpp_unwind_if_stack): The stack is per-buffer. Force
pfile->skipping off.
(all): Remove `scare quotes' from error messages.
* gcc.dg/cpp-mi.c: Add another case, cpp-mix.h, where the
guard macro is already defined when the header is first
included.
* gcc.dg/cpp-mix.h: New file.
* gcc.dg/endif-label.c: Update patterns to match compiler.
* g++.brendan/complex1.C: Declare abort.
* g++.law/refs4.C: Remove XFAIL.
* g++.oliva/expr2.C: Declare abort and exit.
From-SVN: r34253
|
|
* cp-tree.h (CLASSTYPE_ALIGN_UNIT): New macro.
* class.c (layout_empty_base): Use CLASSTYPE_ALIGN_UNIT, not
CLASSTYPE_ALIGN.
From-SVN: r34252
|
|
* function.c (emit_return_into_block): New line_note arg; emit it.
(thread_prologue_and_epilogue_insns): Attempt to locate a line note
for the close brace to accompany HAVE_return. Move all line notes
following the epilogue to before the NOTE_INSN_EPILOGUE_BEG.
From-SVN: r34251
|
|
* longlong.h [__alpha] (count_leading_zeros): New.
(count_trailing_zeros): New.
(COUNT_LEADING_ZEROS_0): New.
* config/alpha/alpha.c (alpha_zero_comparison_operator): New.
(alpha_split_conditional_move): New.
* config/alpha/alpha-protos.h: Prototype them.
* config/alpha/alpha.h (PREDICATE_CODES): Update.
(CPP_CPU_DEFAULT_SPEC): Fix typo for EV67.
* config/alpha/alpha.md: Update ffs cix commentary.
(*ze_and_ne): New.
(*nabssf2, *nabsdf2): New.
(*mov[qhsd]icc_internal): Use add_operand.
(if_then_else constant splitters): New.
(*cmp_sadd_di, *cmp_sadd_si, *cmp_sadd_sidi): New.
(*cmp_ssub_di, *cmp_ssub_si, *cmp_ssub_sidi): New.
From-SVN: r34250
|
|
From-SVN: r34249
|
|
when conditions allow.
* combine.c (force_to_mode) [MINUS]: Convert subtraction from
a constant to NEG or NOT when conditions allow.
From-SVN: r34248
|
|
args are general_operand.
* combine.c (combine_simplify_rtx): Don't create an if_then_else
unless both args are general_operand. Don't canonicalize plus
to ior unless it helps.
From-SVN: r34247
|
|
track register_life_up_to_date.
* toplev.c (rest_of_compilation): Set no_new_pseudos after flow1;
instead track register_life_up_to_date. Toggle no_new_pseudos
around if_convert.
From-SVN: r34246
|