Age | Commit message (Collapse) | Author | Files | Lines |
|
From-SVN: r36236
|
|
* unroll.c (unroll_loop): Check for unconditional jumps
to loop continuation. Delete if n_iterations is 1.
(ujump_to_loop_cont): New routine.
From-SVN: r36235
|
|
From-SVN: r36233
|
|
From-SVN: r36232
|
|
From-SVN: r36231
|
|
From-SVN: r36230
|
|
* c-common.h (prep_stmt): Declare.
(lang_expand_stmt): Likewise.
* c-decl.c (lang_expand_stmt): Remove.
* c-semantics.c (lang_expand_stmt): Define.
(prep_stmt): New function.
(expand_stmt): Handle common statement types here.
* cp-tree.h (init_cp_semantics): Declare.
(genrtl_try_block): Don't declare.
(genrtl_handler): Likewise.
(genrtl_catch_block): Likewise.
(genrtl_ctor_stmt): Likewise.
(genrtl_subobject): Likewise.
(genrtl_do_poplevel): Likewise.
(genrtl_named_return_value): Likewise.
* lex.c (init_parse): Call init_cp_semantics.
* semantics.c (genrtl_try_block): Give it internal linkage.
(genrtl_handler): Likewise.
(genrtl_catch_block): Likewise.
(genrtl_ctor_stmt): Likewise.
(genrtl_subobject): Likewise.
(genrtl_do_poplevel): Likewise.
(genrtl_named_return_value): Likewise.
(lang_expand_stmt): Rename to ...
(cp_expand_stmt): ... this. Only handle C++-specific nodes.
(init_cp_semantics): Define.
From-SVN: r36229
|
|
* configure.in (sh-*-linux*): Added.
* configure: Rebuilt.
* config/sh/t-linux: New file.
* config/sh/sh.h (USERMODE_BIT): Define.
(TARGET_USERMODE): Likewise.
(TARGET_SWITCHES): New switches for the bits above.
(INITIALIZE_TRAMPOLINE): Call __ic_invalidate in USERMODE.
* config/sh/linux.h: New file.
* config/sh/lib1funcs.asm (GLOBAL): Don't prefix symbols with
underscore on linux.
(L_sdivsi3, L_udivsi3): Define for linux.
(L_ic_invalidate): Define.
* invoke.texi (SH Options): Document -musermode.
From-SVN: r36227
|
|
* config/sh/sh.h (OVERRIDE_OPTIONS): Don't disable function
CSE unless generating PIC.
From-SVN: r36226
|
|
* config/sh/sh.md (symPLT_label2reg): Force the initialization of
the PIC register.
From-SVN: r36225
|
|
* decl.c (initialize_local_var): Remove RTL-generating code.
* semantics.c (genrtl_try_block): Fix formatting.
From-SVN: r36224
|
|
* Makefile.in (clean_s1): Depend on stage_b.
(clean_s2): Depend on stage_d. Don't remove $(VOL_FILES) in
stage2. They are used for "make compare".
From-SVN: r36223
|
|
* c-common.h (c_tree_index): Add CTI_VOID_ZERO.
(void_zero_node): New macro.
(struct stmt_tree_s): New type.
(stmt_tree): New typedef.
(struct language_function): New type.
(last_tree): New macro.
(last_expr_type): Likewise.
(walk_tree_fn): New typedef.
(current_stmt_tree): New function.
(begin_stmt_tree): Likewise.
(add_stmt): Likewise.
(finish_stmt_tree): Likewise.
(statement_code_p): Likewise.
(lang_statement_code_p): New variable.
(walk_stmt_tree): New function.
(STMT_IS_FULL_EXPR_P): New macro.
* c-common.c (lang_statement_code_p): New variable.
(c_common_nodes_and_builtins): Initialize void_zero_node.
(statement_code_p): New function.
(walk_stmt_tree): Likewise.
* c-decl.c (language_function): Rename to ...
(c_language_function): ... this. Include language_function.
(push_c_function_context): Adjust accordingly.
(pop_c_function_context): Likewise.
(mark_c_function_context): Likewise.
(current_stmt_tree): Define.
* c-semantics.c (begin_stmt_tree): New function.
(add_stmt): Likewise.
(prune_unused_decls): Likewise.
(finish_stmt_tree): Likewise.
Move statement-tree facilities from C++ to C front-end.
* cp-tree.h (cp_tree_index): Remove CPTI_VOID_ZERO.
(void_zero_node): Remove.
(stmt_tree): Likewise.
(scope_chain): Adjust.
(language_function): Rename to cp_language_function.
(cp_function_chain): Adjust.
(current_stmt_tree): Remove.
(last_tree): Likewise.
(last_expr_type): Likewise.
(struct lang_decl): Adjust.
(STMT_IS_FULL_EXPR_P): Remove.
(add_tree): Remove.
(begin_stmt_tree): Likewise.
(finish_stmt_tree): Likewise.
(walk_tree_fn): Likewise.
(walk_stmt_tree): Likewise.
* class.c (finish_struct): Replace use of add_tree with add_stmt.
* decl.c (mark_stmt_tree): Adjust type.
(init_decl_processing): Don't build void_zero_node.
(initialize_local_var): Adjust usage of current_stmt_tree.
(finish_enum): Use add_stmt, not add_tree.
(save_function_data): Adjust use of language_function.
(finish_constructor_body): Use add_stmt, not add_tree.
(finish_destructor_body): Likewise.
(push_cp_function_context): Adjust use of language_function.
(pop_cp_function_context): Likewise.
(mark_lang_function): Likewise.
(mark_cp_function_context): Likewise.
* init.c (build_aggr_init): Adjust use of current_stmt_tree.
(build_vec_init): Likewise.
* semantics.c (SET_LAST_STMT): Remove.
(RECHAIN_STMTS): Don't use it.
(stmts_are_full_exprs_p): Adjust use of current_stmt_tree.
(current_stmt_tree): Define.
(add_tree): Remove.
(finish_goto_stmt): Use add_stmt, not add_tree.
(finish_expr_stmt): Likewise.
(begin_if_stmt): Likewise.
(finish_then_clause): Likewise.
(begin_while_stmt): Likewise.
(begin_do_stmt): Likewise.
(finish_return_stmt): Likewise.
(begin_for_stmt): Likewise.
(finish_break_stmt): Likewise.
(finish_continue_stmt): Likewise.
(begin_switch_stmt): Likewise.
(finish_case_label): Likewise.
(begin_try_block): Likewise.
(begin_function_try_block): Likewise.
(begin_handler): Likewise.
(begin_catch_block): Likewise.
(begin_compound_stmt): Likewise.
(begin_asm_stmt): Likewise.
(finish_asm_stmt): Likewise.
(finish_label_stmt): Likewise.
(add_decl_stmt): Likewise.
(finish_subobject): Likewise.
(finish_decl_cleanup): Likewise.
(finish_named_return_value): Likewise.
(setup_vtbl_ptr): Likewise.
(add_scope_stmt): Likewise.
(finish_stmt_expr): Likewise.
(prune_unused_decls): Remove.
(begin_stmt_tree): Likewise.
(finish_stmt_tree): Likewise.
(prep_stmt): Adjust use of current_stmt_tree.
(lang_expand_stmt): Likewise.
* tree.c (statement_code_p): Remove.
(cp_statement_code_p): New function.
(walk_stmt_tree): Remove.
(init_tree): Set lang_statement_code_p.
From-SVN: r36221
|
|
From-SVN: r36220
|
|
From-SVN: r36219
|
|
From-SVN: r36217
|
|
top level:
* Makefile.in: Remove all references to c-parse.gperf,
c-gperf.h, and c-parse.h. Remove -d from yacc command line
generating c-parse.c. Update dependencies.
* c-parse.gperf, c-gperf.h: Delete.
* c-common.c: Don't define parse_options, cpp_token, yy_cur,
yy_lim, or yy_get_token. Don't define get_directive_line if
USE_CPPLIB.
* c-common.h: Add multiple include guard. Define RID values
for every keyword in C, C++, and Objective C. Put all the
modifiers first.
(struct c_fileinfo, get_fileinfo, dump_time_statistics): New.
* c-decl.c (c_decode_option): Handle -lang-objc here.
(print_lang_identifier): Handle C_IS_RESERVED_WORD case.
(grokdeclarator): Adjust for new RID scheme.
(extract_interface_info): New stub.
* c-lang.c: Don't declare yy_cur or parse_options.
(lang_init_options): Call cpp_init. Don't call
cpp_options_init.
(lang_init): Don't call check_newline if USE_CPPLIB.
* c-lex.c: Don't include c-parse.h. Do include timevar.h.
Elide lots of unnecessary code if USE_CPPLIB. Delete code
rendered unnecessary by new architecture. Move routines not
shared with C++ to c-parse.in. Maintain a local idea of the
line number. Handle C++ as well as C.
[USE_CPPLIB]: Declare and register callbacks for #ident and
for entering/leaving files.
(init_c_lex, c_lex): Are now the entry points to this file.
(check_newline): Break out directive handling to
process_directive.
(read_ucs, is_extended_char, utf8_extend_token): Moved here
from C++ front end.
(readescape, parse_float): Overhaul.
(lex_number, lex_string, lex_charconst): Break out of c_lex
(n'ee yylex).
(get_fileinfo, update_header_times, dump_one_header,
dump_time_statistics): New and/or moved here from C++.
Support per-file data needed by C++ and per-header timing
statistics (C++ only, at the moment).
* c-lex.h: Update prototypes. Add multiple include guard.
* c-tree.h (struct lang_identifier): Add rid_code field.
(C_IS_RESERVED_WORD, C_RID_CODE): New.
* c-parse.in: Include c-pragma.h. Remove unnecesary calls to
reinit_parse_for_function and/or position_after_white_space.
(save_filename, save_lineno): Look ahead before saving.
(label -> identifier ':'): Save file and line before shifting ':'.
(reservedwords): No need to call get_identifier.
(init_parse, finish_parse, yyerror, yylex, yyprint,
make_pointer_declarator): Are now here for C/ObjC.
(rid_to_yy): Conversion table from RID constants to Yacc codes.
* c-pragma.c: Rewrite parsing logic to fit with cpplib's
#pragma registry. Provide dummy implementation of that
interface if !USE_CPPLIB.
* c-pragma.h: Update to match.
* flags.h: Add multiple include guard.
(flag_detailed_statistics): Moved here from C++.
* toplev.c: Define flag_detailed_statistics.
* gcc.c (C specs): Use %(trad_capable_cpp) for -E|-M|-MM case
#if USE_CPPLIB.
* timevar.def (TV_CPP, TV_LEX): New.
* timevar.h: Add multiple include guard.
* objc/lang-specs.h: Use %(trad_capable_cpp) for -E|-M|-MM case
#if USE_CPPLIB.
* objc/objc-act.c: Don't mention yy_cur or parse_options.
Initialize cpplib properly. Force lineno to 0 after first
call to check_newline. Don't handle -lang-objc here.
Move forget_protocol_qualifiers and remember_protocol_qualifiers here.
cp:
* Make-lang.in, Makefile.in: Remove all references to input.c,
gxx.gperf, and hash.h. Add ../c-lex.o to C_OBJS.
* gxx.gperf, hash.h, input.c: Delete.
* lang-specs.h: Pass -lang-c++ to cc1plus so cpplib is
initialized properly.
* class.c (fixup_pending_inline): Take a tree, not a
struct pending_inline *. All callers changed.
(init_class_processing): Set RID_PUBLIC, RID_PRIVATE,
RID_PROTECTED entries in ridpointers[] array here.
* decl.c (duplicate_decls): Do not refer to struct
pending_inline.
(record_builtin_type, init_decl_processing): Use RID_MAX not
CP_RID_MAX.
(grokdeclarator): Use C_IS_RESERVED_WORD.
* decl2.c (lang_decode_option): Ignore -lang-c++ for sake of
cpplib.
(grok_x_components): Do not inspect pending_inlines chain.
* cp-tree.h (struct lang_identifier): Add rid_code entry.
(C_IS_RESERVED_WORD, C_RID_CODE, C_RID_YYCODE): New.
(flag_no_gnu_keywords, flag_operator_names, rid_to_yy): Declare.
(DEFARG_LENGTH, struct pending_inline, TIME_IDENTIFIER_TIME,
TIME_IDENTIFIER_FILEINFO): Kill.
Update prototypes.
* lex.h: Expunge cp_rid. Rewrite RIDBIT macros to use just a
single 32-bit word.
* parse.y: Call do_pending_inlines unconditionally.
reinit_parse_for_method is now snarf_method. fn.defpen is no
longer necessary. Remove unnecessary <itype> annotation on
SCOPE. Do not refer to end_of_file or struct pending_inline.
* semantics.c (begin_inline_definitions): Call
do_pending_inlines unconditionally.
* lex.c: Remove all code now shared with C front end.
Initialize cpplib properly if USE_CPPLIB. Put reserved words
into the get_identifier table. Rewrite pragma handling to
work with the registry. Move code to save tokens for later
processing to spew.c.
* spew.c: Rewrite everything in terms of token streams instead
of text. Move routines here from lex.c / input.c as
appropriate. GC-mark trees hanging off the pending inlines
chain.
testsuite:
* g++.old-deja/g++.benjamin/13478.C: Put meaningful tags on
ERROR markers.
* g++.old-deja/g++.brendan/crash8.C: Move ERROR marker up one line.
* gcc.dg/c99-array-nonobj-1.c: Don't expect func[] cases to fail.
* gcc.dg/wtr-label-1.c: Don't use unconstrained .* in error regexps.
* gcc.dg/wtr-suffix-1.c: Correct error regexps.
* gcc.dg/cpp/unc1.c, gcc.dg/cpp/unc2.c, gcc.dg/cpp/unc3.c:
Preprocess only.
* gcc.dg/cpp/unc4.c: Adjust line number in dg-error line.
* gcc.dg/noncompile/const-ll-1.c: Generalize error regexp.
From-SVN: r36216
|
|
From-SVN: r36212
|
|
* rs6000.md: Correct function unit definitions for cr_logical and
mtjmpr.
(sCOND): Additionally fail for sgt, slt, sge, sle if !TARGET_POWER
and use portable method for >=0 and floating point >=. Remove
associated matchers.
From-SVN: r36211
|
|
* extend.texi: Mark named return value extension as deprecated.
* NEWS: Mention that the named return value extension has been
deprecated.
* cp-tree.h (original_result_rtx): Define.
(TREE_REFERENCE_EXPR): Remove.
(DECL_VPARENT): Likewise.
(pushdecl_nonclass_level): Likewise.
(store_return_init): Likewise.
(reinit_lang_specific): Likewise.
(genrtl_named_return_value): Change prototype.
* decl.c (original_result_rtx): Remove.
(cp_finish_decl): Don't build DECL_STMTs for RESULT_DECLs.
Do not generate RTL for local variables here.
(store_return_init): Remove.
* semantics.c (genrtl_named_return_value): Simplify. Fold in
store_return_init.
(finish_named_return_value): Adjust accordingly. Warn that this
extension is deprecated.
(lang_expand_stmt): Adjust call to genrtl_named_return_value.
From-SVN: r36210
|
|
* config/rs6000/rs6000.c (rs6000_reverse_condition): Return
the result.
From-SVN: r36208
|
|
* toplev.c (display_help): Fix thinko in documentation.
* diagnostic.h (output_buffer::indent_skip): New fields.
(output_indentation): New macro.
* diagnostic.c (output_indent): New function.
(output_set_prefix, clear_diagnostic_info): Use.
(output_emit_prefix): Predict future indentation.
From-SVN: r36205
|
|
correctly
* Makefile.in (stage_*): add more dependencies to ensure parallel
builds build correctly
From-SVN: r36204
|
|
2000-09-06 Manfred Hollstein <manfredh@redhat.com>
* Makefile.in (bootstrap-lean): Depend on bootstrap-lean_g,
not bootstrap-lean_f.
From-SVN: r36201
|
|
* mklibgcc.in: Emit rule for libgcc-stage-start.
* Makefile.in (stage1-start, stage2-start, stage3-start,
stage4-start): Don't handle libgcc here, use libgcc.mk instead.
From-SVN: r36200
|
|
From-SVN: r36197
|
|
From-SVN: r36196
|
|
* pt.c (type_unification_real): Replace switch with if.
(unify): Tsubst non-type parms before comparing.
From-SVN: r36195
|
|
From-SVN: r36194
|
|
* error.c (dump_typename): New function, broken out of ...
(dump_type): ... here. Use it.
* typeck.c (same_type_p): Use cp_tree_equal for TYPENAME_TYPE.
From-SVN: r36193
|
|
From-SVN: r36192
|
|
* config/rs6000/rs6000.c (validate_condition_mode): New function.
(branch_comparison_operator): Call validate_condition_mode to
abort rather than returning 0.
(branch_positive_comparison_operator): New function.
(scc_comparison_operator): Call validate_condition_mode to abort
rather than returning 0.
(ccr_bit): Call validate_condition_mode. Update for
new branch scheme.
(print_operand): Delete %C modifier. Update %E case
to use EQ bit not SO bit.
(rs6000_reverse_condition): New function.
(rs6000_generate_compare): New function.
(rs6000_emit_sCOND): New function.
(rs6000_emit_cbranch): New function.
(output_cbranch): The length of a long branch insn is
now only 8 bytes. Add validate_condition_mode. Use
rs6000_reverse_condition. Remove cror generation.
* config/rs6000/rs6000.h: Update comments.
(PREDICATE_CODES): Add new predicate. Update codes used
by branch_comparison_operator and scc_comparison_operator.
* config/rs6000/rs6000-protos.h: Add prototypes for
new external functions.
* config/rs6000/rs6000.md: Add new scheduling parameters
for cr_logical instructions. Change length of branch
instructions.
(bCOND patterns): Call rs6000_emit_cbranch.
(sCOND patterns): Call rs6000_emit_sCOND.
(branch patterns): Change lengths to 4.
(cr logical patterns): New.
From-SVN: r36191
|
|
From-SVN: r36190
|
|
* init.c (build_offset_ref): Deal with namespace scoped
TEMPLATE_ID_EXPRs.
From-SVN: r36189
|
|
* class.c (resolve_address_of_overloaded_function): Add
explanation message.
* decl.c (define_case_label): Reformat explanation.
* decl2.c (finish_static_data_member_decl): Likewise.
(grokfield): Likewise.
* friend.c (do_friend): Likewise.
From-SVN: r36188
|
|
* config/i386/i386.md (call_pop): Fix test for setting
current_function_uses_pic_offset_table.
(call, call_value_pop, call_value): Likewise.
From-SVN: r36187
|
|
* gcc.c-torture/20000906.c: New test.
* gcc.c-torture/20000906.x: Expect failure for ix86 at `-O2'.
From-SVN: r36186
|
|
From-SVN: r36185
|
|
* timevar.c (timevar_add): Delete.
(timevar_get): Also count time since the selected timer was
last updated. Do not examine the timevar stack if the
selected timer is standalone.
From-SVN: r36184
|
|
2000-09-05 J. David Anglin <dave@hiauly1.hia.nrc.ca>
* gthr-dce.h (__gthread_objc_mutex_deallocate): Free mutex->backend.
From-SVN: r36183
|
|
2000-09-02 J. David Anglin <dave@hiauly1.hia.nrc.ca>
* gthr-dce.h (__gthread_objc_mutex_deallocate): Free mutex->backend.
From-SVN: r36182
|
|
* gettext.h (nls_uint32): Choose via INT_MAX instead of UINT_MAX.
From-SVN: r36180
|
|
'extern' arrays.
* c-decl.c (finish_incomplete_decl): Don't call complete_array_type
for 'extern' arrays.
From-SVN: r36179
|
|
* tree.c (walk_tree): Expose tail recursion.
(walk_stmt_tree): New function.
* cp-tree.h: Prototype walk_stmt_tree.
* semantics.c (prune_unused_decls): Operate on SCOPE_STMTs not
the BLOCKs directly. If a BLOCK has no variables after
pruning, discard it.
(finish_stmt_tree): Use walk_stmt_tree. No need to save and
restore the line number.
From-SVN: r36178
|
|
* config/ia64/lib1func.asm (__divtf3): Rebundle for Itanium.
Eliminate final copy from non-trapping case.
(__divdf3, __divsf3): Likewise.
From-SVN: r36177
|
|
2000-08-11 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (do_merge_string_cste): New locals. Create new
STRING_CSTs each time, use memcpy. Fixes gcj/311
(Fixes gcj/311:
http://gcc.gnu.org/ml/gcc-patches/2000-09/msg00144.html
http://sources.redhat.com/ml/java-prs/2000-q3/msg00116.html)
From-SVN: r36176
|
|
2000-09-02 Anthony Green <green@redhat.com>
* jcf-io.c: Include zlib.h.
(open_in_zip): Read compressed class file archives.
* zipfile.h (ZipDirectory): Add uncompressed_size and
compression_method fields.
* zextract.c (read_zip_archive): Collect file compression info.
From-SVN: r36175
|
|
* config/ia64/ia64.md (mulhi3): Fix typo last change.
* config/ia64/lib1func.asm (__divdi3, __udivdi3, __umodsi3): Likewise.
From-SVN: r36174
|
|
* Makefile.in: Restructure bootstrap stages to allow clean
restart after failure.
From-SVN: r36173
|
|
registers.
* config/ia64.md (movsi and movdi patterns): Allow moves from
8-bit constants to AR registers.
From-SVN: r36172
|