Age | Commit message (Collapse) | Author | Files | Lines |
|
* recog.c (validate_replace_rtx_1): Fix confusion about equality
testing; simplify subregs of constants and nested subregs.
From-SVN: r36267
|
|
From-SVN: r36266
|
|
From-SVN: r36265
|
|
From-SVN: r36264
|
|
From-SVN: r36263
|
|
From-SVN: r36262
|
|
* config/ia64/lib1funcs.asm (__divsi3): Use .s1 for frcpa.
(__modsi3, __umodsi3): Likewise.
(__udivsi3): Likewise. Normalize the TFmode values.
From-SVN: r36261
|
|
* config/rs6000/sol-c0.c (_start): Declare `termfunc' parameter
with a prototype.
* config/rs6000/rs6000.h (RS6000_ARG_SIZE): Use cast to suppress
warning.
From-SVN: r36260
|
|
From-SVN: r36259
|
|
* 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
|
|
dispatch_pragma.
* c-lex.c (process_directive): If not HANDLE_GENERIC_PRAGMAS,
do not call dispatch_pragma.
From-SVN: r36257
|
|
* 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
|
|
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
|
|
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
|
|
CASE_DROPS_THROUGH.
* bb-reorder.c (fixup_reorder_chain): Add jump in new block
after switch for CASE_DROPS_THROUGH.
From-SVN: r36253
|
|
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
|
|
2000-09-07 Benjamin Kosnik <bkoz@cygnus.com>
* bits/std_cwctype.h: Remove yesterday's hacks.
From-SVN: r36251
|
|
* 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
|
|
* 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
|
|
* config/h8300.h: Fix comment typos.
* config/h8300/h8300.md: Likewise.
* config/h8300/lib1funcs.asm: Likewise.
From-SVN: r36248
|
|
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
|
|
* 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
|
|
* 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
|
|
From-SVN: r36244
|
|
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
|
|
* 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
* cp-demangle.c (status_allocation_failed): Rearrange whitespace.
(demangle_type): Handle substitution candidates correctly in the
face of special substitutions.
From-SVN: r36228
|
|
* 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
|
|
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
|
|
* 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
|
|
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
|
|
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
|
|
division.
2000-09-06 Jeff Sturm <jeff.sturm@appnet.com>
* include/jvm.h (_Jv_HashCode): Cast object ptr to `unsigned long'
to avoid long long division.
From-SVN: r36215
|
|
* java/lang/reflect/Constructor.java (toString): Use `getName' for
parameter types.
* java/lang/reflect/Method.java (toString): Use `getName' for
return type.
From-SVN: r36214
|