aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2000-09-11* gcc.1: Document 68hc11 specific options.Stephane Carrez2-1/+42
From-SVN: r36312
2000-09-11sysv4.h (MASK_LONG_DOUBLE_128): Define.Geoff Keating2-0/+99
* config/rs6000/sysv4.h (MASK_LONG_DOUBLE_128): Define. (TARGET_LONG_DOUBLE_128): Define. (SUBTARGET_SWITCHES): Add -mlong-double-64 and -mlong-double-128. (LONG_DOUBLE_TYPE_SIZE): Redefine. (MAX_LONG_DOUBLE_TYPE_SIZE): Define. (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on definition of __LONG_DOUBLE_128__. (CPP_SYSV_SPEC): Define __LONG_DOUBLE_128__ if -mlong-double-128 passed. (CPP_LONGDOUBLE_DEFAULT_SPEC): Define. (CPP_SYSV_DEFAULT_SPEC): Define. (SUBTARGET_EXTRA_SPECS): Add cpp_longdouble_default. (INIT_TARGET_OPTABS): Define. From-SVN: r36311
2000-09-11aix.h (RS6000_ITRUNC): Moved from rs6000.h.Geoff Keating5-83/+38
* config/rs6000/aix.h (RS6000_ITRUNC): Moved from rs6000.h. (RS6000_UITRUNC): Likewise. (INIT_TARGET_OPTABS): New macro. * config/rs6000/rs6000.c (rs6000_trunc_used): Delete. (trunc_defined): Delete. (output_prolog): Don't output .extern definitions for fp->int conversion routines, ASM_OUTPUT_EXTERNAL_LIBCALL will do it. * config/rs6000/rs6000.h (rs6000_trunc_used): Delete. (trunc_defined): Delete. (RS6000_ITRUNC): Moved to aix.h. (RS6000_UITRUNC): Likewise. * config/rs6000/rs6000.md (fix_truncdfsi2): Fail if it would only emit a libcall. (fixuns_truncdfsi2): Delete. (trunc_call): Delete. (trunc_call_rtl): Delete. From-SVN: r36310
2000-09-11varasm.c (make_decl_rtl): Restore leading star on DECL_ASSEMBLER_NAME set ↵Zack Weinberg4-2/+40
for decls with an asmspec. * varasm.c (make_decl_rtl): Restore leading star on DECL_ASSEMBLER_NAME set for decls with an asmspec. * gcc.dg/asm-names.c: New test. From-SVN: r36309
2000-09-11c-pragma.c (handle_pragma_pack): Correct parsing logic so it won't give a ↵Zack Weinberg2-22/+25
spurious error for '#pragma pack()'. * c-pragma.c (handle_pragma_pack): Correct parsing logic so it won't give a spurious error for '#pragma pack()'. Simplify control flow for readability. 'reset' action is not necessary. From-SVN: r36308
2000-09-11defaults.h: Provide default definitions for...Zack Weinberg28-289/+115
* defaults.h: Provide default definitions for: CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE, WCHAR_TYPE_SIZE, FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE, and WCHAR_UNSIGNED. * cppexp.c, dwarfout.c, dwarf2out.c, emit-rtl.c, final.c, optabs.c, profile.c, sdbout.c, tradcif.y, tree.c, ch/decl.c, ch/timing.c, cp/decl.c, cp/rtti.c, f/com.c, f/com.h, java/decl.c, java/expr.c: Include defaults.h if not already included. Don't define the above macros. * Makefile.in, ch/Makefile.in, cp/Makefile.in, f/Makefile.in: Update dependencies. From-SVN: r36307
2000-09-10c-common.h (add_stmt): Change prototype.Mark Mitchell19-277/+387
* c-common.h (add_stmt): Change prototype. (RECHAIN_STMTS): New macro. (CASE_LABEL_DECL): Likewise. (genrtl_case_label): Change prototype. (c_expand_start_case): Remove prototype. (build_case_label): Change prototype. (decl_constant_value): Declare. * c-common.c (check_case_value): Handle C++'s extensions to C semantics. * c-commnon.def (CASE_LABEL): Add room for the CASE_LABEL_DECL field. * c-parse.in (stmt): Adjust handling of return statements and case laels. * c-semantics.c (add_stmt): Return the new statement. (genrtl_return_stmt): Take the RETURN_STMT as input, not the returned expression. Directly generate RTL, rather than calling c_expand_return. (genrtl_switch_stmt): Don't call c_expand_start_case. (build_case_label): Take the LABEL_DECL as input, too. (genrtl_case_label): Just call add_case_node. (expand_stmt): Adjust calls to genrtl_return_stmt and genrtl_case_label. * c-tree.h (c_expand_start_case): Declare. * c-typeck.c (decl_constant_value): Give it external linkage. (c_expand_return): Don't call expand_return or expand_null_return; use genrtl_return_stmt instead. * stmt.c (struct nesting): Remove num_ranges field. (add_case_node): Give it external linkage. (expand_start_case): Don't set num_ranges. (expand_start_case_dummy): Don't clear it. (pushcase): Rely on add_case_node to handle `default' labels. (add_case_node): Handle `default' labels. * tree.c (tree_int_cst_compare): New function. * tree.h (tree_int_cst_compare): Declare. (add_case_node): Likewise. * cp-tree.h (push_switch): Change prototype. (check_cp_case_value): Remove declaration. (decl_constant_value): Likewise. * decl.c (struct cp_switch): Add switch_stmt and cases. (case_compare): New function. (push_switch): Set switch_stmt. Initialize cases. (pop_switch): Clean up cases. (define_case_label): Rename to ... (finish_case_label): ... this. Do semantic analysis for case labels here. (start_function): Correct comment. * decl2.c (check_cp_case_value): Remove. * expr.c (do_case): Remove. * pt.c (tsubst_expr): Adjust call to finish_case_label. * semantics.c (genrtl_do_poplevel): Remove declaration. (RECHAIN_STMTS): Remove. (finish_break_stmt): Use build_break_stmt. (finish_continue_stmt): Use build_continue_stmt. (finish_switch_cond): Adjust condition here, rater than in c_expand_start_case. (finish_case_label): Remove. * typeck.c (c_expand_return): Remove. (c_expand_start_case): Likewise. From-SVN: r36305
2000-09-10c-parse.in: Revert last change.Richard Henderson2-7/+27
* c-parse.in: Revert last change. (init_reswords): Do not enter disabled keywords into the ridpointers table, modulo objc weirdness. (_yylex): Return the canonical spelling for a keyword. From-SVN: r36303
2000-09-10Don't define `arm' or `thumb'.Philip Blundell3-2/+7
For linux-elf don't define `__arm__' From-SVN: r36302
2000-09-10alias.c (find_base_term): Handle ADDRESSOF.John Wehle2-0/+11
* alias.c (find_base_term): Handle ADDRESSOF. (memrefs_conflict_p): An ADDRESSOF doesn't conflict. From-SVN: r36300
2000-09-10genoutput.c (output_insn_data): Translate <NEWLINE> to \n\ while outputting ↵Denis Chertykov2-1/+21
templates with many lines. 2000-09-10 Denis Chertykov <denisc@overta.ru> * genoutput.c (output_insn_data): Translate <NEWLINE> to \n\ while outputting templates with many lines. From-SVN: r36299
2000-09-10libgcc2.h: Use LONG_LONG_TYPE_SIZE instead of MIN_UNITS_PER_WORD to decide ↵Stephane Carrez2-2/+7
whether 64-bit... * libgcc2.h: Use LONG_LONG_TYPE_SIZE instead of MIN_UNITS_PER_WORD to decide whether 64-bit support must be generated. From-SVN: r36298
2000-09-10Daily bump.Jeff Law2-2/+2
From-SVN: r36288
2000-09-10* c-parse.in (asm patterns): Fix volatile check.Richard Henderson2-3/+7
From-SVN: r36286
2000-09-10cppmacro.c (check_trad_stringification): New function.Kaveh R. Ghazi4-0/+89
* cppmacro.c (check_trad_stringification): New function. (save_expansion): If -Wtraditional, warn about stringification of macro arguments. testsuite: * gcc.dg/cpp/tr-warn6.c: New test. From-SVN: r36285
2000-09-09loop.h (struct loop_mem_info): Move from loop.c (struct loop_info): Add ↵Michael Hayes3-148/+188
fields store_mems... * loop.h (struct loop_mem_info): Move from loop.c (struct loop_info): Add fields store_mems, mems, mems_idx, mems_allocated, unknown_address_altered, unknown_constant_address_altered, num_mem_sets, and first_loop_store_insn. * loop.c (loop_store_mems): Replace with field in loop_info struct. (loop_mems, loop_mems_idx, loop_mems_allocated): Likewise. (unknown_address_altered, unknown_constant_address_altered): Likewise. (num_mem_sets): Likewise. (replace_loop_mems, replace_loop_regs): New. (struct loop_replace_args): New. (load_mems): Use replace_loop_mems. (try_copy_prop): Use replace_loop_regs. (replace_loop_reg, replace_loop_mem): Use loop_replace_args structure. From-SVN: r36284
2000-09-09Recognize m6811-elf and m6812-elfStephane Carrez3-90/+129
From-SVN: r36282
2000-09-09recog.c (validate_replace_rtx_1): Correct MODE parameter in call to ↵Geoff Keating2-1/+6
operand_subword. * recog.c (validate_replace_rtx_1): Correct MODE parameter in call to operand_subword. From-SVN: r36281
2000-09-09typeck.c (build_java_array_type): Correct first parameter in ↵Geoff Keating2-1/+6
ADJUST_FIELD_ALIGN invocation. * typeck.c (build_java_array_type): Correct first parameter in ADJUST_FIELD_ALIGN invocation. From-SVN: r36280
2000-09-09Daily bump.Jeff Law2-2/+2
From-SVN: r36279
2000-09-09loop.c (struct movables): New.Michael Hayes2-44/+63
* loop.c (struct movables): New. (num_movables): Move into struct movables. (the_movables): Change type to struct movables. (ignore_some_movables): Change struct movable arg to struct movables. (force_movables, combine_movables, regs_match_p): Likewise. (rtx_equal_for_loop_p, move_movables): Likewise. (scan_loop): Change movables to be of type struct movables. Replace last_movable with field in movables structure. From-SVN: r36278
2000-09-08c-pragma.c: Don't elide entire file if !HANDLE_GENERIC_PRAGMAS.Zack Weinberg4-26/+17
* c-pragma.c: Don't elide entire file if !HANDLE_GENERIC_PRAGMAS. (init_pragma): Avoid warning if pfile happens to be unused. * c-pragma.h: Never define HANDLE_GENERIC_PRAGMAS. Never define init_pragma to nothing. Always prototype init_pragma. Prototype dispatch_pragma if !USE_CPPLIB. * c-lex.c (process_directive): Always call dispatch_pragma. Initialize entering_c_header to 0. From-SVN: r36277
2000-09-08m68hc11.md: New file, machine description for 68HC11 & 68HC12.Stephane Carrez10-0/+14190
* config/m68hc11/m68hc11.md: New file, machine description for 68HC11 & 68HC12. * config/m68hc11/m68hc11.h: New file, definitions for 68HC11 & 68HC12. * config/m68hc11/m68hc11.c: New file, functions for 68HC11 & 68HC12. * config/m68hc11/m68hc12.h: New file, definitions for 68HC12. * config/m68hc11/m68hc11-protos.h: New file. * config/m68hc11/m68hc11-crt0.S: New file, startup code. * config/m68hc11/t-m68hc11-gas: New file, makefile fragment. * config/m68hc11/xm-m68hc11.h: New file, target defs. * config/m68hc11/larith.asm: New file, libgcc routines. From-SVN: r36276
2000-09-08Unsigned -> float conversion for fp-bit.cStephane Carrez4-2/+46
From-SVN: r36274
2000-09-08MMX/SSE patterns for i386Bernd Schmidt5-13/+1678
From-SVN: r36270
2000-09-08* arm.c: Don't include tm.h directly.Richard Earnshaw2-1/+4
From-SVN: r36269
2000-09-08Fix typoJan Hubicka1-0/+1
From-SVN: r36268
2000-09-08recog.c (validate_replace_rtx_1): Fix confusion about equality testing...Jan Hubicka2-7/+64
* recog.c (validate_replace_rtx_1): Fix confusion about equality testing; simplify subregs of constants and nested subregs. From-SVN: r36267
2000-09-08* config/sh/sh.md (symPLT_label2reg): Use operand3 for PIC reg.Alexandre Oliva2-2/+6
From-SVN: r36266
2000-09-08Update docs for USE rtx.Bernd Schmidt2-0/+30
From-SVN: r36265
2000-09-08Fix computation of need_mode in choose_reload_regs.Bernd Schmidt2-2/+9
From-SVN: r36264
2000-09-08Some vector operation simplifications.Bernd Schmidt2-0/+44
From-SVN: r36263
2000-09-08Daily bump.Jeff Law2-2/+2
From-SVN: r36262
2000-09-07lib1funcs.asm (__divsi3): Use .s1 for frcpa.Richard Henderson2-4/+13
* config/ia64/lib1funcs.asm (__divsi3): Use .s1 for frcpa. (__modsi3, __umodsi3): Likewise. (__udivsi3): Likewise. Normalize the TFmode values. From-SVN: r36261
2000-09-08sol-c0.c (_start): Declare `termfunc' parameter with a prototype.Geoff Keating3-4/+13
* 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
2000-09-08Amend last change: add %, in front of Ldi%=:Joern Rennecke1-2/+2
From-SVN: r36259
2000-09-08sh.md (cmpeqsi_ior_t, [...]): Remove.J"orn Rennecke2-29/+20
* 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
2000-09-07c-lex.c (process_directive): If not HANDLE_GENERIC_PRAGMAS, do not call ↵Richard Henderson2-11/+7
dispatch_pragma. * c-lex.c (process_directive): If not HANDLE_GENERIC_PRAGMAS, do not call dispatch_pragma. From-SVN: r36257
2000-09-07Fix ia64-linux compiler abort on perl.Jim Wilson3-4/+17
* 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-08cpplib.h (struct cpp_options): Add user_label_prefix member, left out of ↵Zack Weinberg2-0/+8
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
2000-09-07bb-reorder.c (fixup_reorder_chain): Add jump in new block after switch for ↵Richard Henderson2-11/+21
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-07loop.c (strength_reduce): Call check_ext_dependant_givs.Richard Henderson4-65/+356
* 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
2000-09-07c-pragma.h: Define HANDLE_GENERIC_PRAGMAS if REGISTER_TARGET_PRAGMAS is defined.Zack Weinberg31-680/+704
* 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
2000-09-07h8300.h: Fix comment typos.Kazu Hirata4-12/+17
* config/h8300.h: Fix comment typos. * config/h8300/h8300.md: Likewise. * config/h8300/lib1funcs.asm: Likewise. From-SVN: r36248
2000-09-07Makefile.in: Remove references to cppulp.{c,o}.Neil Booth4-34/+14
* 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
2000-09-07verify.c (merge_types): Load the types to merge if necessary.Alexandre Petit-Bianco2-0/+18
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
2000-09-07c-common.c (time_char_table): Allow %#b and %#h.Joseph Myers4-11/+16
* 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
2000-09-07reorg.c (find_end_label): If the basic block reorder pass moves the return ↵Herman A.J. ten Brugge2-12/+42
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
2000-09-07* gcc.c-torture/execute/unroll-1.c: New test.Catherine Moore2-0/+23
From-SVN: r36236
2000-09-07unroll.c (unroll_loop): Check for unconditional jumps to loop continuation.Catherine Moore2-0/+53
* 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