aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2002-03-23sparc.c (sparc_emit_floatunsdi): New.Richard Henderson4-0/+55
* config/sparc/sparc.c (sparc_emit_floatunsdi): New. * config/sparc/sparc-protos.h: Update. * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New. From-SVN: r51249
2002-03-23gmon-sol2.c (internal_mcount): Assume either _start or _init begins the text ↵Richard Henderson2-1/+8
segment. * config/sparc/gmon-sol2.c (internal_mcount): Assume either _start or _init begins the text segment. From-SVN: r51248
2002-03-23rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT not HOST_WIDEST_INT.David Edelsohn2-3/+8
* config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT not HOST_WIDEST_INT. (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes. From-SVN: r51245
2002-03-23com.c (ffecom_check_size_overflow_): Add a test so that arrays too large for ↵Toon Moene3-22/+38
32-bit byte-offset addressing get caught. 2002-03-23 Toon Moene <toon@moene.indiv.nluug.nl> * com.c (ffecom_check_size_overflow_): Add a test so that arrays too large for 32-bit byte-offset addressing get caught. * news.texi: Document the fixing of this problem. From-SVN: r51243
2002-03-23re PR java/5489 (-fverbose-asm crashes jc1 on ARM cross-compiler)Richard Earnshaw3-5/+18
PR java/5489 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the operand argument to output_return_instruction. * arm.c (arm_print_operand, case 'd'): If the operand is const_true_rtx then just return. (arm_print_operand, case 'D'): If the operand is const_true_rtx then abort. From-SVN: r51241
2002-03-23[multiple changes]Andrew Cagney9-4/+110
2002-03-23 Andrew Cagney <ac131313@redhat.com> * doc/invoke.texi (Option Summary): Mention -Wswitch-default. (Warning Options): Document -Wswitch-default. * toplev.c (W_options): Add -Wswitch-default. Update comment on -Wswitch. (warn_switch_default): Define variable. (warn_switch): Update comment. * flags.h (warn_switch_default): Declare variable. (warn_switch): Update comment. * stmt.c (expand_end_case): Check for and, when warn_switch_no_default, warn of a missing default case. Index: f/ChangeLog Sat Mar 23 11:18:17 2002 Andrew Cagney <ac131313@redhat.com> * invoke.texi (Warning Options): Mention -Wswitch-default. Index: testsuite/ChangeLog 2002-03-23 Andrew Cagney <ac131313@redhat.com> * gcc.dg/Wswitch-default.c: New test. From-SVN: r51238
2002-03-23* real.h (N): Special case 128 bit doubles.Alan Modra2-0/+7
From-SVN: r51229
2002-03-23gnat_rm.texi: Sync with ACT version.Florian Weimer2-1486/+1688
2002-03-23 Florian Weimer <fw@deneb.enyo.de> * gnat_rm.texi: Sync with ACT version. (From Ben Brosgol <brosgol@gnat.com>) From-SVN: r51228
2002-03-23re PR c++/6037 (ICE in enum after switch() (gcc 3.0.4))Jakub Jelinek4-3/+28
PR c++/6037 * decl.c (start_enum): Don't set TREE_ADDRESSABLE on TREE_LIST node. * g++.dg/other/enum1.C: New test. From-SVN: r51227
2002-03-23* gcc.dg/pragma-ep-3.c: Fix typo.Zack Weinberg2-1/+5
From-SVN: r51226
2002-03-23Daily bump.GCC Administrator2-2/+2
From-SVN: r51225
2002-03-23* error.c (dump_type): Be careful about implicit typenames.Gabriel Dos Reis2-1/+6
From-SVN: r51219
2002-03-23combine.c (simplify_comparison): When widening modes, ignore sign extension ↵Alan Modra2-4/+19
on CONST_INTs. * combine.c (simplify_comparison): When widening modes, ignore sign extension on CONST_INTs. From-SVN: r51216
2002-03-23xtensa.c (print_operand): Fix incorrect mode passed to adjust_address.Bob Wilson2-5/+18
* config/xtensa/xtensa.c (print_operand): Fix incorrect mode passed to adjust_address. Fix comment formatting. From-SVN: r51215
2002-03-23re PR c++/3656 (ICE when incorrectly deriving a class from a templated base ↵Gabriel Dos Reis4-1/+25
in another namespace) cp/ PR C++/3656 * semantics.c (finish_base_specifier): Handle erronous base classes. testsuite/ * g++.dg/inherit/template-as-base.C: New test. From-SVN: r51214
2002-03-23Andrew Haley <aph@cambridge.redhat.com>Tom Tromey2-1/+12
2002-03-22 Tom Tromey <tromey@redhat.com> Andrew Haley <aph@cambridge.redhat.com> * expr.c (build_field_ref): Don't build a check if the field is a member of `this'. From-SVN: r51213
2002-03-23real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.Zack Weinberg38-540/+415
* real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE. Always make REAL_VALUE_TYPE a struct containing an array of HOST_WIDE_INT, not a double. Tidy up the code deciding how big it is. Don't declare or use union real_extract. * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1, decode_rtx_const, output_constant_pool), config/a29k/a29k.c (print_operand), config/arm/arm.c (output_move_double), config/arm/arm.md (consttable_4, consttable_8), config/romp/romp.c (output_fpops), config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c (xtensa_output_literal): Don't use union real_extract. * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c (sfmode_constant_to_ulong), config/ns32k/merlin.h (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand), config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h (PRINT_OPERAND): Don't use local version of union real_extract. * config/convex/convex.c (check_float_value), config/vax/vax.c (vax_float_literal), config/m88k/m88k.md (divdf3), config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2), config/pdp11/pdp11.c (output_move_quad): Don't do host arithmetic on target floating point quantities. * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT. * fold-const.c (fold), simplify-rtx.c (simplify_binary_real): Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY. * real.c (earith): Test INFINITY rather than REAL_INFINITY; NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef INFINITY. * print-rtl.c (print_rtx): Disable code which needs floating-point emulator. * libgcc2.c: Include float.h and use DBL_MANT_DIG, FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than depending on HOST_FLOAT_FORMAT to be defined properly. * ch/grant.c, cp/error.c: Always use REAL_VALUE_TO_DECIMAL; don't test REAL_IS_NOT_DOUBLE. * config/1750a/1750a.c (get_double, float_label): Delete. (print_operand): Delete huge commented-out chunk. Use REAL_VALUE_TO_DECIMAL. * config/1750a/1750a-protos.h: Delete prototypes of deleted functions. * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to IEEE_FLOAT_FORMAT. * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]): Use REAL_VALUE_TO_DECIMAL as ELF version does. * config/m88k/m88k.c (real_power_of_2_operand, legitimize_operand): Take the REAL_VALUE_TYPE and/or union real_extract out of the union; run the input through REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords from that into the union. * config/pdp11/pdp11.c (output_move_double): Rearrange parentheses to make automatic indenter happy. * doc/tm.texi (Cross-compilation): Rename node to "Floating Point" and rewrite to describe current situation. Also adjust documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to match code. * doc/rtl.texi: Adjust cross reference. From-SVN: r51210
2002-03-23re PR java/6026 (float literals in expressions are not properly recognized)Eric Blake2-0/+7
2002-03-21 Eric Blake <ebb9@email.byu.edu> Fix for PR java/6026: * lex.c (java_lex): Fix parsing of consecutive floats. From-SVN: r51207
2002-03-22xtensa-protos.h (non_acc_reg_operand): Remove.Bob Wilson5-19/+62
* config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove. (xtensa_valid_move, xtensa_preferred_reload_class): Define. * config/xtensa/xtensa.c (non_acc_reg_operand): Remove. (xtensa_valid_move, xtensa_preferred_reload_class): Define to prevent use of sp as a reload register. (xtensa_emit_move_sequence): Use xtensa_valid_move instead of non_acc_reg_operand. * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand. (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class. * config/xtensa/xtensa.md (movsi_internal, movhi_internal, movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand. From-SVN: r51201
2002-03-22c-pragma.c (maybe_apply_renaming_pragma): New.Richard Henderson15-4/+302
* c-pragma.c (maybe_apply_renaming_pragma): New. (handle_pragma_redefine_extname, pending_redefine_extname): New. (handle_pragma_extern_prefix, pragma_extern_prefix): New. (init_pragma): Register them. * c-pragma.h (maybe_apply_renaming_pragma): Declare. * c-decl.c (finish_decl): Call it. * cp/decl.c (cp_finish_decl): Likewise. * doc/extend.texi: Document the new pragmas. * config/alpha/osf.h (CPP_SUBTARGET_SPEC): Add __EXTERN_PREFIX. (HANDLE_PRAGMA_EXTERN_PREFIX): New. * config/i386/sol2.h (CPP_PREDEFINES): Add __PRAGMA_REDEFINE_EXTNAME. (HANDLE_PRAGMA_REDEFINE_EXTNAME): New. * config/sparc/sol2.h: Likewise. * g++.dg/other/pragma-re-1.C: New. * g++.dg/other/pragma-ep-1.C: New. * gcc.dg/pragma-re-1.c, gcc.dg/pragma-re-2.c: New. * gcc.dg/pragma-ep-1.c, gcc.dg/pragma-ep-2.c: New. * gcc.dg/pragma-ep-3.c: New. From-SVN: r51200
2002-03-22dwarf2-1.C: Move...Jakub Jelinek2-2/+6
* g++.old-deja/g++.other/dwarf2-1.C: Move... * g++.dg/debug/debug5.C: ...here. Convert for dg framework. From-SVN: r51197
2002-03-22cpphash.h (struct cpp_reader): Remove mls_line and mls_col.Neil Booth7-103/+49
* cpphash.h (struct cpp_reader): Remove mls_line and mls_col. * cpplex.c (unterminated): Delete. (parse_string): No string literal may extend over multiple lines. Suppress the error when preprocessing assembly. * cppmain.c (scan_translation_unit): Strings are single-line. * doc/cpp.texi: Update to match. * testsuite/gcc.dg/cpp/multiline.c: Update to match. From-SVN: r51195
2002-03-22re PR rtl-optimization/5854 (initialize_uninitialized_subregs() breaks ↵Jakub Jelinek4-160/+180
HC11/HC12 port) PR optimization/5854 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0. Shut up warnings. (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0. (EXTRA_CONSTRAINT): Use S for non-push memory operand. * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from const0 if scratch register was not allocated. (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart, m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...) with GEN_INT (...). (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs. * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...) with GEN_INT (...) everywhere. Remove constraints in define_split patterns. (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't require scratch register for setting 0 into regs/non-pushable memory. From-SVN: r51194
2002-03-22* g++.old-deja/g++.abi/ptrmem.C: Mips puts vbit in delta too.Alexandre Oliva2-1/+5
From-SVN: r51193
2002-03-22typeck.c (expand_ptrmemfunc_cst): Scale idx down to an index into the ↵Jeff Knaggs2-4/+9
vtable_entry array regardless of... * typeck.c (expand_ptrmemfunc_cst): Scale idx down to an index into the vtable_entry array regardless of TARGET_PTRMEMFUNC_VBIT_LOCATION. From-SVN: r51192
2002-03-22mips.h (MASK_RETURN_ADDR): Define.Alexandre Oliva2-0/+16
* config/mips/mips.h (MASK_RETURN_ADDR): Define. (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define. From-SVN: r51191
2002-03-22cpplib.h (struct cpp_options): New member, warn_endif_labels.Phil Edwards6-3/+47
2002-03-22 Phil Edwards <pme@gcc.gnu.org> * cpplib.h (struct cpp_options): New member, warn_endif_labels. * cppinit.c (cpp_create_reader): On by default. (cpp_handle_option): Handle -W[no-]endif-labels. (cpp_post_options): Also enable if -pedantic. * cpplib.c (do_else): Use it. (do_endif): Likewise. * doc/cppopts.texi: Document new option. * doc/invoke.texi: Document new option. From-SVN: r51190
2002-03-22extratokens2.c: New file.Phil Edwards2-0/+26
2002-03-22 Phil Edwards <pme@gcc.gnu.org> * gcc.dg/cpp/extratokens2.c: New file. From-SVN: r51188
2002-03-22i386.c, i386.md: Change all occurences of GEN_INT (trunc_int_for_mode (...)) ↵Lars Brinkhoff3-47/+41
to gen_int_mode (...). * config/i386/i386.c, config/i386/i386.md: Change all occurences of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...). From-SVN: r51186
2002-03-22flow.c (calculate_global_regs_live): Clear aux fields of ENTRY and EXIT.Alexandre Oliva2-0/+10
* flow.c (calculate_global_regs_live): Clear aux fields of ENTRY and EXIT. From-SVN: r51183
2002-03-22v850.c (v850_reorg): Only call alter_subreg on REG or MEM subregs, pass rtx ↵Jakub Jelinek5-14/+26
* instead of rtx to it. * config/v850/v850.c (v850_reorg): Only call alter_subreg on REG or MEM subregs, pass rtx * instead of rtx to it. * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass rtx * instead of rtx to alter_subreg. * config/m32r/m32r.c (gen_split_move_double): Likewise. * config/pj/pj.c (pj_output_rval): Likewise. From-SVN: r51182
2002-03-22re PR target/3177 (Invalid sibcall optimisation on ia64)Richard Henderson4-7/+40
PR target/3177 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs. (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update. * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs. (ia64_expand_prologue): Look at int_regs, not words, for number of incomming int regs. From-SVN: r51180
2002-03-22Fix.Jakub Jelinek1-0/+2
From-SVN: r51178
2002-03-22fix g++ testcase crash namedret1.c on sparcv9 and s390Andrew MacLeod2-1/+6
2002-03-22 Andrew MacLeod <amacleod@redhat.com> * expr.c (expand_expr): A RESULT_DECL is part of a call. From-SVN: r51177
2002-03-22* gcc.c-torture/compile/20020319-1.c: New test.David Edelsohn2-2/+22
From-SVN: r51176
2002-03-22toplev.c (flag_loop_optimize, [...]): New static variables.Jan Hubicka3-4/+41
* toplev.c (flag_loop_optimize, flag_crossjumping): New static variables. (rest_of_compilation): Conditionalize crossjumping and loop optimizer. (parse_options_and_default_flags): Default loop_optimize and crossjumping. (lang_independent_options): Add -fcrossjumping and -floop-optimize * invoke.texi (crossjumping, loop-optimize): Document. From-SVN: r51175
2002-03-22* real.c (eiisneg): Move outside #ifdef NANS.Richard Sandiford2-3/+5
From-SVN: r51172
2002-03-22Fix the constant I forgot to update :(Jan Hubicka1-1/+1
From-SVN: r51170
2002-03-22cfgcleanup.c (outgoing_edges_math): Fix condition; relax frequencies match; ↵Jan Hubicka5-9/+48
avoid match on different loop depths. * cfgcleanup.c (outgoing_edges_math): Fix condition; relax frequencies match; avoid match on different loop depths. (try_crossjump_to_bb): Kill tests that no longer brings time savings. * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth updating code. (split_edge): Likewise. * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized variable. * Makefile.in (cfgrtl): Add insn-config.h depenendency. * cfgrtl.c: Include insn-config.h (split_block) Dirtify block in presence of conditional execution From-SVN: r51168
2002-03-22abi64.h (SETUP_INCOMING_VARARGS): Undefine.Richard Sandiford5-705/+641
* config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine. * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare. (function_arg): Constify CUMULATIVE_ARGS. (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise. * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT. (UNITS_PER_DOUBLE): New macro. (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs. (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs, fp_regs and stack_words. (EABI_FLOAT_VARARGS_P): New macro. * config/mips/mips.c (struct mips_arg_info): New. (mips_arg_info): New function. (function_arg_advance): Use it. Add adjustment instructions here rather than in function_arg. (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check for VOIDmode at the beginning of the function. (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info. (function_arg_pass_by_reference): Likewise. (mips_setup_incoming_varags): New, largely based on old abi64.h code. (mips_build_va_list): Test EABI_FLOAT_VARARGS_P. (mips_va_start): Likewise. Use the new stack_words field of CUMULATIVE_ARGS to set up overflow area. Reformat. (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of doubles and other types, aligning the overflow pointer for non-doubles too. Remove some code duplication. Replace hard-coded constants. From-SVN: r51167
2002-03-22mips.h (FUNCTION_ARG_REGNO_P): Simplify.Richard Sandiford3-34/+21
* config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify. (CLASS_UNITS): Undefine. (CLASS_MAX_NREGS): Use FP_INC. * config/mips/mips.c (compute_frame_size): Likewise. (override_options): Use FP_INC and UNITS_PER_FPVALUE. From-SVN: r51166
2002-03-22Daily bump.GCC Administrator2-2/+2
From-SVN: r51165
2002-03-22cpplex.c (parse_identifier_slow): Rename parse_slow, adjust prototype, and ↵Neil Booth2-80/+83
handle lexing numbers and identifiers. * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust prototype, and handle lexing numbers and identifiers. (parse_identifier): Update to new form of parse_slow. (parse_number): Fast path only, use parse_slow otherwise. (_cpp_lex_direct): Update calls to parse_number. From-SVN: r51161
2002-03-21bb-reorder.c (make_reorder_chain_1): Protect against when redundant edges ↵DJ Delorie3-5/+14
are omitted. * bb-reorder.c (make_reorder_chain_1): Protect against when redundant edges are omitted. * predict.c (dump_prediction): Likewise. From-SVN: r51160
2002-03-21re PR target/5996 (libstdc++ (FILE related) sparc-sun-solaris2.8 bootstrap ↵Richard Henderson3-3/+65
failure) PR target/5996 * fixinc/inclhack.def (solaris_stdio_tag): New. * fixinc/fixincl.x: Regenerate. From-SVN: r51158
2002-03-21re PR c/5597 ([regression from 2.95.3] Initialization of flexible char array ↵Eric Botcazou3-8/+42
member segfaults) PR c/5597 * c-typeck.c (process_init_element): Flag non-static initialization of a flexible array member as illegal. From-SVN: r51156
2002-03-22mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.Alan Modra4-2/+12
* mklibgcc.in (SHLIB_MKMAP_OPTS): New variable. * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo. * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc. From-SVN: r51153
2002-03-22t-linux64: New.Alan Modra3-2/+15
* config/rs6000/t-linux64: New. * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and t-ppccomm. Use t-rs6000 and t-linux64. (powerpc64-*-gnu* <tmake_file>): Likewise. From-SVN: r51150
2002-03-21tree.c (cp_cannot_inline_tree_fn): Same.Aldy Hernandez1-0/+4
2002-03-21 Aldy Hernandez <aldyh@redhat.com> * tree.c (cp_cannot_inline_tree_fn): Same. From-SVN: r51149
2002-03-21fix conflictsAldy Hernandez1-1/+0
From-SVN: r51147