- 08 Sep, 2000 7 commits
-
-
From-SVN: r36259
Joern Rennecke committed -
* sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): Remove. (cmpeqdi_t): Add output pattern. (cmpeqdi_t+1): Don't split when not optimizing. Restore proper splitting operation. From-SVN: r36258
J"orn Rennecke committed -
* c-lex.c (process_directive): If not HANDLE_GENERIC_PRAGMAS, do not call dispatch_pragma. From-SVN: r36257
Richard Henderson committed -
* reload.c (push_reload): Use CLASS_CANNOT_CHANGE_MODE_P in addition to CLASS_CANNOT_CHANGE_MODE. * config/ia64/ia64.h (CLASS_CANNOT_CHANGE_MODE_P): True only if the mode classes are different. From-SVN: r36256
Jim Wilson committed -
2000-09-07 Benjamin Kosnik <bkoz@purist.soma.redhat.com> * config/cpu/i386/bits/atomicity.h (__exchange_and_add): Change unused to __unused__. * config/cpu/ia64/bits/atomicity.h (__exchange_and_add): And here. * config/cpu/i486/bits/atomicity.h (__exchange_and_add): And here. From-SVN: r36255
Benjamin Kosnik committed -
cpplib.h (struct cpp_options): Add user_label_prefix member, left out of commit which removed cppulp.c. * cpplib.h (struct cpp_options): Add user_label_prefix member, left out of commit which removed cppulp.c. From-SVN: r36254
Zack Weinberg committed -
* bb-reorder.c (fixup_reorder_chain): Add jump in new block after switch for CASE_DROPS_THROUGH. From-SVN: r36253
Richard Henderson committed
-
- 07 Sep, 2000 33 commits
-
-
2000-09-07 Phil Edwards <pme@sources.redhat.com> Add bits for --enable-maintainer-mode: - turns on enable_debug (doing "--enable-maint --disable-debug" will DTRT) - turns on -Werror, now off by default * acinclude.m4: Add bits. * aclocal.m4: Regenerate. * configure.in: Add defaults for GLIBCPP_ENABLE_DEBUG. * configure: Regenerate. From-SVN: r36252
Benjamin Kosnik committed -
2000-09-07 Benjamin Kosnik <bkoz@cygnus.com> * bits/std_cwctype.h: Remove yesterday's hacks. From-SVN: r36251
Benjamin Kosnik committed -
* loop.c (strength_reduce): Call check_ext_dependant_givs. Properly extend the biv initial value for the giv. (record_biv): Zero ext_dependant. (record_giv): New argument ext_val. Update all callers. (general_induction_var): Likewise. (consec_sets_giv): Likewise. (simplify_giv_expr): Likewise. Fill in ext_val if we find a sign-extend, zero-extend, or truncate. (combine_givs_p): Make sure modes are compatible. (check_ext_dependant_givs): New. (extend_value_for_giv): New. * loop.h (struct induction): Add ext_dependant. * unroll.c (iteration_info): Extend the biv initial value for the giv. (find_splittable_givs): Likewise. (final_giv_value): Likewise. From-SVN: r36250
Richard Henderson committed -
* c-pragma.h: Define HANDLE_GENERIC_PRAGMAS if REGISTER_TARGET_PRAGMAS is defined. Duplicate some definitions from cpplib.h. * cpplib.h: Don't typedef struct cpp_reader if c-pragma.h has already done it. * tm.texi: Document HANDLE_PRAGMA as no longer supported. Add documentation for REGISTER_TARGET_PRAGMAS. * c-lex.c: Include cpplib.h before c-pragma.h. Define a default-pragma callback to implement -Wunknown-pragmas if USE_CPPLIB. * c-parse.in: Move all includes to top of file. * c-pragma.c: Include cpplib.h before c-pragma.h. Include tm_p.h. (dispatch_pragma): Put the namespace in the -Wunknown-pragmas warning. (init_pragma): If REGISTER_TARGET_PRAGMAS is defined, call it. * arm.h, arm-protos.h, arm.c, c4x.h, c4x-protos.h, c4x.c, h8300.h, h8300-protos.h, h8300.c, i370.h, i370-protos.h, i370.c, i960.h, i960-protos.h, i960.c, sh.h, sh-protos.h, sh.c, v850.h, v850-protos.h, v850.c: Convert HANDLE_PRAGMA-based pragmata scheme to use REGISTER_TARGET_PRAGMAS instead. * d30v.h: Don't mention HANDLE_PRAGMA in comment. Add multiple include guard. * i370.md (untyped_call): Use GEN_CALL. (umodsi3): Remove unused variable. * sh/elf.h: Don't undef HANDLE_SYSV_PRAGMA. * v850.c (output_move_single, output_move_double): Constify return value. (print_operand): Constify a char *. * v850.h (struct small_memory_info): Constify name member. From-SVN: r36249
Zack Weinberg committed -
* config/h8300.h: Fix comment typos. * config/h8300/h8300.md: Likewise. * config/h8300/lib1funcs.asm: Likewise. From-SVN: r36248
Kazu Hirata committed -
2000-09-07 Brad Garcia <bgarcia@laurelnetworks.com> * bits/stl_tree.h: Make operators !=, == type safe for map, set. * testsuite/23_containers/set_operators.cc: New file. Should not compile. * testsuite/23_containers/map_operators.cc: New file. Ditto. From-SVN: r36247
Brad Garcia committed -
* bits/stl_tree.h: Make operators !=, == type safe for map, set. * testsuite/23_containers/set_operators.cc: New file. Should not compile. * testsuite/23_containers/map_operators.cc: New file. Ditto. From-SVN: r36246
Brad Garcia committed -
* Makefile.in: Remove references to cppulp.{c,o}. * cppinit.c (initialize_builtins, cpp_start_read, cpp_handle_option): Update to use cpp_options structure. * cppulp.c: Remove. From-SVN: r36245
Neil Booth committed -
From-SVN: r36244
Michael Sokolov committed -
2000-09-05 Alexandre Petit-Bianco <apbianco@cygnus.com> * verify.c (merge_types): Load the types to merge if necessary. (http://gcc.gnu.org/ml/gcc-patches/2000-09/msg00245.html) From-SVN: r36243
Alexandre Petit-Bianco committed -
* c-common.c (time_char_table): Allow %#b and %#h. testsuite: * gcc.dg/format-ext-3.c: Test %#b and %#h as formats that should be accepted. From-SVN: r36241
Joseph Myers committed -
reorg.c (find_end_label): If the basic block reorder pass moves the return insn to some other place try... * reorg.c (find_end_label): If the basic block reorder pass moves the return insn to some other place try to locate it again and put our end_of_function_label there. * reorg.c (relax_delay_slots): Check if find_end_label created a new label that invalidates the current optimazation. From-SVN: r36237
Herman A.J. ten Brugge committed -
From-SVN: r36236
Catherine Moore committed -
* 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
Catherine Moore committed -
2000-09-07 Bryce McKinlay <bryce@albatross.co.nz> * Makefile.am (Thread.h): Don't be friends with native threads functions. * Makefile.in: Rebuilt. * java/lang/Thread.java (interrupt_flag): Make package-private. From-SVN: r36234
Bryce McKinlay committed -
From-SVN: r36233
Bernd Schmidt committed -
From-SVN: r36232
Bernd Schmidt committed -
From-SVN: r36231
Gabriel Dos Reis committed -
From-SVN: r36230
Jeff Law committed -
* 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
Mark Mitchell committed -
* cp-demangle.c (status_allocation_failed): Rearrange whitespace. (demangle_type): Handle substitution candidates correctly in the face of special substitutions. From-SVN: r36228
Alex Samuel committed -
* 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
Niibe Yutaka committed -
* config/sh/sh.h (OVERRIDE_OPTIONS): Don't disable function CSE unless generating PIC. From-SVN: r36226
Alexandre Oliva committed -
* config/sh/sh.md (symPLT_label2reg): Force the initialization of the PIC register. From-SVN: r36225
Alexandre Oliva committed -
* decl.c (initialize_local_var): Remove RTL-generating code. * semantics.c (genrtl_try_block): Fix formatting. From-SVN: r36224
Mark Mitchell committed -
* 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
H.J. Lu committed -
2000-09-06 Richard Henderson <rth@cygnus.com> Benjamin Kosnik <bkoz@cygnus.com> * acinclude.m4 (GLIBCPP_CHECK_CPU): Add ia64 support. * aclocal.m4: Regenerate. * configure: Regenerate. * config/cpu/ia64: New directory. * config/cpu/ia64/bits: New directory. * config/cpu/ia64/bits/atomicity.h: New file. Co-Authored-By: Benjamin Kosnik <bkoz@cygnus.com> From-SVN: r36222
Richard Henderson committed -
* 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
Mark Mitchell committed -
From-SVN: r36220
Herman A.J. ten Brugge committed -
From-SVN: r36219
Kazu Hirata committed -
2000-09-06 Benjamin Kosnik <bkoz@purist.soma.redhat.com> * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Force glibc_satisfactory to no, so that libstdc++-v3's libio will be built on glibc-2.2 systems. * aclocal.m4: Regenerate. * configure: Regenerate. * */Makefile.in: Regenerate. * bits/std_cwctype.h: Put in temporary hack to work around -O2 + glibc 2.1.x unsigned errors. Or disable -Werror by default... * testsuite/23_containers/vector_element_access.cc: New file. * bits/stl_config.h (__STL_THROW_RANGE_ERRORS): Define. From-SVN: r36218
Benjamin Kosnik committed -
From-SVN: r36217
Graham Stott committed -
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
Zack Weinberg committed
-