aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2002-04-20Makefile.in: Update.Neil Booth16-52/+136
* Makefile.in: Update. * decl.c (push_c_function_context, pop_c_function_context, mark_c_function_context): Rename for consistency. * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere. * c-tree.h (push_c_function_context, pop_c_function_context, mark_c_function_context): Rename for consistency. * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED, LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine. * function.c (init_lang_status, save_lang_status, restore_lang_status, mark_lang_status, free_lang_status): Move to langhooks.h. (push_function_context_to, pop_function_context_from, free_after_parsing, prepare_function_start, ggc_mark_struct_function): Update. * function.h (init_lang_status, save_lang_status, restore_lang_status, mark_lang_status, free_lang_status): Move to langhooks.h. * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT, LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED, LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK, LANG_HOOKS_FUNCTION_INITIALIZER): New. (LANG_HOOKS_INITIALIZER): Update. (lhd_do_nothing_f): New. * langhooks.h (struct lang_hooks_for_functions): New. (struct lang_hooks): New hooks. * langhooks.c (lhd_do_nothing_f): New. cp: * cp-lang.c (LANG_HOOKS_FUNCTION_INIT, LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_MARK): Redefine. * cp-tree.h (cxx_push_function_context, cxx_pop_function_context, cxx_mark_function_context): New. * decl.c (push_cp_function_context, pop_cp_function_context, mark_cp_function_context): Rename for consistency. (cxx_init_decl_processing): Don't set old hooks. objc: * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED, LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine. From-SVN: r52551
2002-04-20Daily bump.GCC Administrator2-2/+2
From-SVN: r52550
2002-04-19linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.David S. Miller3-0/+199
2002-04-19 David S. Miller <davem@redhat.com> * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define. * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise. From-SVN: r52546
2002-04-19re PR libf2c/6367 (multiple repeat counts confuse namelist read into array)Toon Moene3-0/+30
2002-04-19 Toon Moene <toon@moene.indiv.nluug.nl> * PR6367 * g77.f-torture/execute/6367.f: New test. * g77.f-torture/execute/6367.x: Disable for MMIX. From-SVN: r52540
2002-04-19re PR rtl-optimization/3756 (gcc wishlist: arithmetic right shift for ↵Jakub Jelinek2-13/+105
ternary operator) PR optimization/3756 * config/i386/i386.c (ix86_expand_int_movcc): Optimize x = ((int) y < 0) ? cst1 : cst2. From-SVN: r52539
2002-04-19re PR c/6358 (GCC 3.1 ICE on statement expressions)Jakub Jelinek2-16/+42
PR c/6358 * function.c: Reapply patch for c/6358. (expand_function_end): Copy decl_rtl's mode, not current_function_return_rtx mode. From-SVN: r52538
2002-04-19rtems.h (STARTFILE_SPEC, [...]): Fix for non-ELF targets.Joel Sherrill2-2/+7
2002-04-19 Joel Sherrill <joel@OARcorp.com> * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF targets. From-SVN: r52535
2002-04-19re PR libgcj/6158 (libgcj won't bootstrap on sparc-sun-solaris2.8 if already ↵Tom Tromey2-4/+11
installed) * doc/install.texi (Specific): Update status of Solaris 2.8. For PR libgcj/6158. From-SVN: r52532
2002-04-19Add some explanation for last change.Andreas Schwab1-1/+4
From-SVN: r52531
2002-04-19real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.Andreas Schwab2-5/+17
2002-04-19 Andreas Schwab <schwab@suse.de> * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE. (PUT_REAL): Restore old definition. From-SVN: r52527
2002-04-19install.texi (Specific, [...]): Mention that binutils 2.11.2 and higher ↵Dan Nicolaescu2-0/+12
generate smaller binaries than Sun's... * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that binutils 2.11.2 and higher generate smaller binaries than Sun's native tools. Co-Authored-By: Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> From-SVN: r52526
2002-04-19re PR c++/6352 (GCC 3.1 inliner regression from March)Mark Mitchell4-0/+30
PR c++/6352 * toplev.c (rest_of_compilation): Do not defer functions for which TREE_SYMBOL_REFERENCED has already been set. * PR6352 * g++.dg/opt/inline2.C: New test. From-SVN: r52521
2002-04-19i386.md (movsi_1, movhi_1): Force reload to use more flexible alternative.Jan Hubicka2-2/+17
* i386.md (movsi_1, movhi_1): Force reload to use more flexible alternative. From-SVN: r52519
2002-04-19Daily bump.GCC Administrator2-2/+2
From-SVN: r52516
2002-04-19builtins.c: Include langhooks.h.Neil Booth20-69/+101
* builtins.c: Include langhooks.h. (lang_type_promotes_to): Remove. (expand_builtin_va_arg): Use new hook. * c-common.c (c_common_nodes_and_builtins): Don't set hook. (simple_type_promotes_to): Move to c-typeck.c. * c-common.h (simple_type_promotes_to): Remove. * c-decl.c (duplicate_decls, grokdeclarator): Update. * c-format.c: Include langhooks.h. (check_format_types): Update. * c-tree.h (c_type_promotes_to): New. * c-typeck.c (c_type_promotes_to): Move from c-common.c. (type_lists_compatible_p): Update. * langhooks-def.h (lhd_type_promotes_to): New. (LANG_HOOKS_TYPE_PROMOTES_TO): New. (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update. * langhooks.c (lhd_type_promotes_to): New. * langhooks.h (struct lang_hooks_for_types): New hook. * tree.h (lang_type_promotes_to): Remove. cp: * call.c (convert_type_from_ellipsis): Rename, update. * cp-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine. * cp-tree.h (convert_type_from_ellipsis): Rename. * decl.c (cxx_init_decl_processing): Don't set hook. objc: * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine. From-SVN: r52512
2002-04-18* function.c: Revert patch for c/6358.Richard Henderson2-39/+24
From-SVN: r52511
2002-04-18ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN blocks.Richard Henderson5-50/+60
* ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN blocks. Handle multiple references to the TRAP block. Handle non-adjacent THEN and OTHER blocks. * gcc.dg/20000906-1.c: Enable for all targets. * gcc.c-torture/compile/iftrap-2.c: New. From-SVN: r52509
2002-04-18ia64.c (ia64_function_arg_pass_by_reference): Don't crash with no type for ↵Richard Henderson1-1/+1
by-mode libcalls. * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't crash with no type for by-mode libcalls. From-SVN: r52508
2002-04-18* config/ia64/ia64.md (conditional_trap): Fix predicate polarity.Richard Henderson1-1/+1
From-SVN: r52507
2002-04-19lib2funcs.S (__xtensa_libgcc_window_spill, [...]): Use a syscall ↵Bob Wilson2-39/+21
instructions to flush the register windows. * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill, __xtensa_nonlocal_goto): Use a syscall instructions to flush the register windows. From-SVN: r52503
2002-04-19real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as appropriate.Zack Weinberg5-235/+109
* real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as appropriate. Document need for extended precision even when MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here, based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error instead of relying on later syntax error when REAL_WIDTH > 5. * real.c: Define NE based only on whether or not we have a full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT). Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally define GET_REAL and PUT_REAL as simple memcpy operations; no need to byteswap or round. Use #error instead of #ifdef-ing out the entire file, for prompt error detection. * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here. From-SVN: r52502
2002-04-18sparc.h (BRANCH_COST): Define.David S. Miller3-4/+24
2002-04-18 David S. Miller <davem@redhat.com> * config/sparc/sparc.h (BRANCH_COST): Define. * fold-const.c (BRANCH_COST): Don't provide default here, expr.h does it. From-SVN: r52500
2002-04-18flow.c (update_life_info): Ignore return value of cleanup_cfg.Hans-Peter Nilsson2-3/+25
* flow.c (update_life_info): Ignore return value of cleanup_cfg. Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in propagate_block calls after relaxation loop using new variable stabilized_prop_flags. From-SVN: r52498
2002-04-18ia64.c (ia64_function_arg_pass_by_reference): New.Richard Henderson4-1/+33
* config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New. (ia64_va_arg): Expect variable sized types by reference. * config/ia64/ia64-protos.h: Update. * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use ia64_function_arg_pass_by_reference. From-SVN: r52494
2002-04-18PR optimization/5887, PR optimization/6010Jakub Jelinek3-0/+52
PR optimization/5887, PR optimization/6010 * gcc.dg/20020418-1.c: New test. * gcc.dg/20020418-2.c: New test. From-SVN: r52492
2002-04-18ifcvt.c: Include except.h.Richard Henderson7-36/+210
* ifcvt.c: Include except.h. (block_has_only_trap): Break out from find_cond_trap. (find_cond_trap): Use it. Always delete the trap block. (merge_if_block): Allow then block null. Be less simplistic about what insns can end a block. * Makefile.in (ifcvt.o): Depend on except.h. * gcc.c-torture/compile/iftrap-1.c: New. * gcc.dg/iftrap-1.c: Adjust for ia64. * gcc.dg/iftrap-2.c: New. From-SVN: r52489
2002-04-18* config/ia64/ia64.md (trap, conditional_trap): New.Richard Henderson2-0/+35
From-SVN: r52487
2002-04-18re PR c/6358 (GCC 3.1 ICE on statement expressions)Jakub Jelinek4-14/+62
PR c/6358 * function.c (assign_parms): Assign hard current_function_return_rtx register here... (expand_function_end): ...not here. * gcc.c-torture/compile/20020418-1.c: New test. From-SVN: r52485
2002-04-18install.texi (Downloading the source): Do not mention Chill any longer, but ↵Gerald Pfeifer2-8/+12
mention Ada. * doc/install.texi (Downloading the source): Do not mention Chill any longer, but mention Ada. (Configuration): Do not mention Chill any longer. From-SVN: r52482
2002-04-18c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.Neil Booth26-61/+85
* c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine. * c-tree.h (c_incomplete_type_error): New. * c-typeck.c (require_complete_type, build_component_ref): Update. (incomplete_type_error): Rename. * langhooks-def.h (lhd_incomplete_type_error): New. (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New. (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update. * langhooks.c (lhd_incomplete_type_error): New. * langhooks.h (struct lang_hooks_for_types): New hook. * tree.c (size_in_bytes): Use new hook. * tree.h (incomplete_type_error): Remove. ada: * gigi.h (incomplete_type_error): Remove. * utils.c (incomplete_type_error): Remove. cp: * call.c (build_new_method_call): Update. * cp-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine. * cp-tree.h (cxx_incomplete_type_error): New. * decl.c (grokdeclarator, grokparms): Update. * decl2.c (check_classfn): Update. * pt.c (tsubst): Update. * typeck.c (complete_type_or_else, expr_sizeof, decay_conversion): Update. * typeck2.c (incomplete_type_error): Rename. (add_exception_specifier): Update. f: * com.c (incomplete_type_error): Remove. java: * typeck.c (incomplete_type_error): Remove. objc: * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine. From-SVN: r52480
2002-04-18arc.md: Remove #if HOST_FLOAT_FORMAT != TARGET_FLOAT_FORMAT blocks.Zack Weinberg2-12/+5
* config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT != TARGET_FLOAT_FORMAT blocks. From-SVN: r52479
2002-04-18* config/cris/cris.h (TARGET_VERSION): Remove local version number.Hans-Peter Nilsson2-1/+5
From-SVN: r52477
2002-04-18i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution in last patch.Jan Hubicka2-1/+6
* i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution in last patch. From-SVN: r52475
2002-04-18fold-const.c (fold): Use (*lang_hooks.types.unsigned_type) instead of ↵Jakub Jelinek2-1/+6
unsigned_type. * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type) instead of unsigned_type. From-SVN: r52474
2002-04-18i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.Jan Hubicka3-10/+16
* i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check. * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped later. From-SVN: r52471
2002-04-18re PR c++/5658 (Regression on redefinition of a type in a derived class.)Jason Merrill3-3/+28
PR c++/5658 * search.c (setup_class_bindings): A class template qualifies as a type binding. From-SVN: r52469
2002-04-18Prevent aborts taking a vector mode subreg of a constant integerBernd Schmidt2-0/+13
From-SVN: r52467
2002-04-18Plug memory leak in handle_vector_size_attributeBernd Schmidt2-8/+49
From-SVN: r52466
2002-04-18fold-const.c (fold): Convert (T)(x&c) into ((T)x&(T)c) for integer constant ↵Roger Sayle4-0/+77
c (if... * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c) for integer constant c (if x has unsigned type or sign bit is not set in c). This folds the zero/sign extension into the bit-wise and operation. * gcc.c-torture/compile/20020415-1.c: New. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r52465
2002-04-18re PR middle-end/6205 (-O -fpmath=sse breaks visibility of register ↵Jakub Jelinek2-1/+10
accumulated sum) PR middle-end/6205 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2, otherwise xorps. From-SVN: r52464
2002-04-1820020418-1.c: New test.David S. Miller2-0/+28
2002-04-18 David S. Miller <davem@redhat.com> * gcc.c-torture/execute/20020418-1.c: New test. From-SVN: r52461
2002-04-18Daily bump.GCC Administrator2-2/+2
From-SVN: r52459
2002-04-18class.c (make_class_data): Set DECL_ALIGN on static class data, for hash ↵Bryce McKinlay4-4/+16
synchronization. * class.c (make_class_data): Set DECL_ALIGN on static class data, for hash synchronization. * expr.c (java_expand_expr): Set DECL_ALIGN on static array objects. * decl.c (java_init_decl_processing): Don't set TYPE_ALIGN for class_type_node. From-SVN: r52448
2002-04-17elf.h: Undefine ASM_OUTPUT_CASE_LABEL.NIIBE Yutaka2-0/+8
2002-04-17 NIIBE Yutaka <gniibe@m17n.org> * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL. From-SVN: r52435
2002-04-17re PR c++/6316 (trap when compiling file)Jakub Jelinek4-1/+61
PR c++/6316 * decl2.c (finish_file): Clear DECL_EXTERNAL in a separate loop before expanding. * g++.dg/opt/inline1.C: New test. From-SVN: r52434
2002-04-17jcf-write.c (generate_bytecode_insns): Only write const_0 if not negative zero.Mark Wielaard2-1/+7
* jcf-write.c (generate_bytecode_insns): Only write const_0 if not negative zero. From-SVN: r52427
2002-04-17gcc.c (read_specs): Detect and fail if an attempt is made to rename a spec ↵Nick Clifton2-1/+12
string to an already... 2002-04-17 Nick Clifton <nickc@cambridge.redhat.com> * gcc.c (read_specs): Detect and fail if an attempt is made to rename a spec string to an already existing string. From-SVN: r52426
2002-04-17s390.c (legitimize_pic_address): Do not generate illegal address constant ↵Ulrich Weigand2-0/+6
without CONST. * config/s390/s390.c (legitimize_pic_address): Do not generate illegal address constant without CONST. From-SVN: r52425
2002-04-17linux64.h (CC1_SPEC): Error for -m32 and -m64.Kaveh R. Ghazi3-0/+9
* sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64. * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise. From-SVN: r52421
2002-04-17re PR rtl-optimization/6305 (c++ gets ICE in reload_cse_simplify_operands)Ulrich Weigand2-8/+25
PR optimization/6305 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement to make sure previous reloads are taken into account. Generate better code if one operand is an in-range immediate constant. From-SVN: r52417