1. 25 Mar, 2004 9 commits
    • cfgrtl.c, [...]: Fix comment typos. · 666c27b9
      gcc/
      	* cfgrtl.c, dbxout.c, tree.def, config/darwin.h,
      	config/arm/arm.c, objc/objc-act.c: Fix comment typos.
      	* doc/invoke.texi: Fix a typo.
      
      cp/
      	* cxx-pretty-print.c: Fix comment typos.
      
      From-SVN: r79956
      Kazu Hirata committed
    • re PR middle-end/9707 (Unnecessary range test in switches with less than 4 cases) · 43a21dfc
      	PR optimization/9707.
      	* stmt.c (emit_case_nodes): Emit equality comparisons instead
      	of recursing if both children are single-valued cases with no
      	children.
      
      From-SVN: r79954
      Kazu Hirata committed
    • [multiple changes] · 6d11af89
      2004-03-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
      
      	* memtrack.adb: Log realloc calls, which are treated as free followed
      	by alloc.
      
      2004-03-25  Vincent Celier  <celier@gnat.com>
      
      	* prj-makr.adb (Process_Directories): Detect when a file contains
      	several units. Do not include such files in the config pragmas or
      	in the naming scheme.
      
      	* prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
      	Resolve links only when not in Trusted_Mode.
      	(Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
      	Do not resolve links for the display names.
      
      	* prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
      	resolve links when computing the display names.
      
      2004-03-25  Thomas Quinot  <quinot@act-europe.fr>
      
      	* sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
      	attribute reference does not denote a subtype, it can be any
      	expression that has a classwide type, potentially after an implicit
      	dereference.  In particular, the prefix can be a view conversion for
      	a classwide type (for which Is_Object_Reference holds), but it can
      	also be a value conversion for an access-to-classwide type. In the
      	latter case, there is an implicit dereference, and the original node
      	for the prefix does not verify Is_Object_Reference.
      
      	* sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
      	conversion of a discriminant-dependent component of a mutable object
      	is one itself.
      
      2004-03-25  Ed Schonberg  <schonberg@gnat.com>
      
      	* freeze.adb (Freeze_Entity): When an inherited subprogram is
      	inherited, has convention C, and has unconstrained array parameters,
      	place the corresponding warning on the derived type declaration rather
      	than the original subprogram.
      
      	* sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
      	indication on renaming declaration, if formal has a box and actual
      	is absent.
      
      	* sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
      	determine whether to generate an implicit or explicit reference to
      	the renamed entity.
      
      	* sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
      	subprogram renaming comes from a defaulted formal subprogram in an
      	instance.
      
      2004-03-25  Gary Dismukes  <dismukes@gnat.com>
      
      	* sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
      	value expressions to ensure that calls within a component definition
      	will be checked (since those are evaluated during the record type's
      	elaboration).
      
      2004-03-25  Arnaud Charlet  <charlet@act-europe.fr>
      
      	* s-tpobop.adb: Code clean up:
      	(Requeue_Call): Extract from PO_Service_Entries to remove duplicated
      	code.
      	(PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
      
      2004-03-25  Jose Ruiz  <ruiz@act-europe.fr>
      
      	* Makefile.in: Clean up in the ravenscar run time.
      
      From-SVN: r79953
      Arnaud Charlet committed
    • arm.c (vfp_print_multi): Remove. · 9728c9d1
      	* config/arm/arm.c (vfp_print_multi): Remove.
      	(arm_output_fldmx): New function.
      	(vfp_emit_fstmx): Return block size, not insn. Add ARM10 VFPr1 bugfix.
      	(arm_expand_prologue): Update to match.
      	(arm_get_vfp_saved_size): New Function.
      	(arm_get_frame_offsets): Use it.
      	(arm_output_epilogue): Use new functions.
      
      From-SVN: r79950
      Paul Brook committed
    • gcc_release (FTP_PATH): Use /var/ftp instead of ~ftp, and only set at a single place. · 32f4b1ed
      	* gcc_release (FTP_PATH): Use /var/ftp instead of ~ftp, and
      	only set at a single place.
      
      From-SVN: r79949
      Gerald Pfeifer committed
    • re PR java/14689 (jcf-path.c missing closedir) · f6e9619a
      	PR java/14689:
      	* jcf-path.c (jcf_path_extdirs_arg): Add missing closedir.
      
      From-SVN: r79948
      Marcus Meissner committed
    • Makefile.tpl (top level bootstrap support): Remove now-unneeded STRICT_WARN,… · 7caf53cb
      Makefile.tpl (top level bootstrap support): Remove now-unneeded STRICT_WARN, WARN_CFLAGS flags passed down to make.
      
      	* Makefile.tpl (top level bootstrap support): Remove now-unneeded
      	STRICT_WARN, WARN_CFLAGS flags passed down to make.
      	* Makefile.in: Regenerate.
      
      From-SVN: r79946
      Nathanael Nerode committed
    • alias.c (alias_invariant, [...]): Mark GTY. · bb1acb3e
              * alias.c (alias_invariant, alias_invariant_size): Mark GTY.
              (reg_known_value, reg_known_value_size): Likewise; make static.
              (reg_known_equiv_p): Make static.
              (clear_reg_alias_info): Update for new indexing.
              (get_reg_known_value, set_reg_known_value): New.
              (get_reg_known_equiv_p, set_reg_known_equiv_p): New.
              (canon_rtx): Use them.
              (init_alias_analysis): Likewise.  Allocate reg_known_value with gc.
              Don't play queer offsetting games with reg_known_value and
              reg_known_equiv_p.
              (end_alias_analysis): Free reg_known_value with gc.
              * rtl.h (get_reg_known_value, get_reg_known_equiv_p): Declare.
              * sched-deps.c (reg_known_equiv_p, reg_known_value): Remove.
              (deps_may_trap_p, sched_analyze_1, sched_analyze_2): Use the new
              functions instead.
      
      From-SVN: r79945
      Richard Henderson committed
    • Daily bump. · bbcb76f2
      From-SVN: r79941
      GCC Administrator committed
  2. 24 Mar, 2004 26 commits
    • dwarf2asm.c, [...]: Update copyright. · ef335eb8
      gcc/
      	* dwarf2asm.c, loop.h, pretty-print.c, pretty-print.h,
      	config/i386/mmintrin.h: Update copyright.
      
      cp/
      	* cxx-pretty-print.c, cxx-pretty-print.h, decl.h, friend.c:
      	Update copyright.
      
      From-SVN: r79938
      Kazu Hirata committed
    • configure.ac: Add --enable-werror-always (for top level bootstrap support). · 09a9c095
      (gcc)
      	* configure.ac: Add --enable-werror-always (for top level bootstrap
      	support).
      	* configure: Regenerate.
      
      (top level)
      	* configure.in (top level bootstrap support): Rework --enable-werror
      	to set @stage2_werror_flag@.
      	* configure: Regenerate.
      	* Makefile.tpl (top level bootstrap support): Pass
      	@stage2_werror_flag@ down to configure in stages 2 and 3.
      	* Makefile.in: Regenerate.
      
      From-SVN: r79935
      Nathanael Nerode committed
    • malloc_allocator.h: Fixed the construct function to call global placement new… · 58c95921
      malloc_allocator.h: Fixed the construct function to call global placement new instead of assignment.
      
      
      2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
      
      	* ext/malloc_allocator.h: Fixed the construct function to call
      	global placement new instead of assignment. Added a check after
      	the return from malloc to check whether returned pointer is NULL,
      	and if so, throw std::bad_alloc().
      	* ext/debug_allocator.h: Added a check in the deallocate function
      	to check whether the user has passed a NULL pointer or not.
      
      From-SVN: r79934
      Dhruv Matani committed
    • allocator.html: Add bitmap_allocator links. · 8367b9c1
      
      2004-03-24  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* docs/html/20_util/allocator.html: Add bitmap_allocator links.
      
      From-SVN: r79933
      Benjamin Kosnik committed
    • prune.exp (prune_gcc_output): Ignore errata warning from IA64 assembler. · d62c1a1f
      gcc/testsuite/:
      	* lib/prune.exp (prune_gcc_output): Ignore errata warning from
      	IA64 assembler.
      
      libstdc++-v3/:
      	* testsuite/lib/prune.exp (prune_g++_output): Ignore errata
      	warning from IA64 assembler.
      
      From-SVN: r79929
      Andreas Schwab committed
    • objc-act.c (objc_comptypes): Treat comparisons between 'Class' and '<class> *'… · f75963f5
      objc-act.c (objc_comptypes): Treat comparisons between 'Class' and '<class> *' as explicitly invalid.
      
      [gcc/ChangeLog]
      2004-03-24  Ziemowit Laski  <zlaski@apple.com>
      
              * objc/objc-act.c (objc_comptypes): Treat comparisons
              between 'Class' and '<class> *' as explicitly invalid.
      
      From-SVN: r79928
      Ziemowit Laski committed
    • invoke.texi (-frename-registers): Add enabled at -O3. · 8d3b3fb7
      	* doc/invoke.texi (-frename-registers: Add enabled at -O3.
      	(-fprofile-values): Add enabled with profile-{generate,use}.
      	(-fvpt): Same.
      	(-ftracer): Add enabled with profile-use.
      	(-funit-at-a-time): Add enabled at -O2,-O3.
      	(-funroll-loops): Add enabled with profile-use.
      	(-funswitch-loops): Add enabled with profile-use.  Remove duplicates.
      	(max-gcse-passes): Mention default.
      	(max-cse-path-length): Mention default.
      
      From-SVN: r79925
      David Edelsohn committed
    • bitmap_allocator.h: (_Bit_scan_forward) -> Made this function call __builtin_ctz instead of the... · 71f9a9d1
      
      2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
      
      	* include/ext/bitmap_allocator.h: (_Bit_scan_forward) -> Made this
      	function call __builtin_ctz instead of the while loop.
      	(allocate) -> If condition has __builtin_expect.
      	(deallocate) -> Ditto.
      	Renamed a few left-over variables and typedefs according to the
      	C++STYLE mentioned in the documentation.
      	Protected calls to __gthread* by __gthread_active_p(), whose value
      	is cached in the local variable __threads_active.
      
      From-SVN: r79924
      Dhruv Matani committed
    • Makefile.in (STRICT2_WARN): Reorder. · 643d3bd2
      2004-03-24  Nathanael Nerode  <neroden@gcc.gnu.org>
      
      	* Makefile.in (STRICT2_WARN): Reorder.
      	* configure.ac: Check for -Wold-style-definition, and use it
      	in strict1_warn if it's available.
      	* configure: Regnerate.
      
      From-SVN: r79922
      Nathanael Nerode committed
    • config.gcc: Add --with-abi= · 5848830f
      	* config.gcc <arm>: Add --with-abi=
      	* config/arm/arm-protos.h (arm_get_frame_size, thumb_get_frame_size,
      	thumb_far_jump_used): Remove prototypes.
      	(arm_needs_doubleword_align): Add prototype.
      	(thumb_compute_initial_elimination_offset): Ditto.
      	* config/arm/arm.c (arm_get_frame_offsets): New function.
      	(use_return_insn, output_return_instruction, arm_output_epilogue,
      	arm_output_function_epilogue, arm_compute_initial_elimination_offset,
      	arm_expand_prologue, thumb_expand_epilogue): Use it.
      	(arm_abi, target_abi_name, all_arm_abis): New variables.
      	(arm_override_options): Set them.  Set structure padding for AAPCS.
      	(arm_return_in_memory): Update ABI check.
      	(arm_init_cumulative_args): Initialize can_split.
      	(arm_needs_doubleword_align): New function.
      	(arm_function_arg): Don't split args after pushing to stack. Handle
      	doubleword/even reg alignment.
      	(arm_va_arg): Handle all doubleword aligned args.
      	(add_minpoolforward ref, dump_minpool, push_minpool_fix): Align based
      	on ABI, not CPU.
      	(arm_compute_save_reg0_reg12_mask): Fix comment.
      	(thumb_get_frame_size, thumb_get_frame_size): Remove.
      	(thumb_jump_far_used_p): Remove superfluous argument.  Return save
      	value for alignment.
      	(thumb_unexpanded_epilogue, thumb_output_function_prologue): Change
      	to match.
      	(thumb_compute_initial_elimination_offset): New function.
      	(thumb_expand_prologue): Use arm_get_frame_offsets.  Remove
      	unneccessary rounding.
      	* config/arm/arm.h (target_abi_name): Declare.
      	(ARM_DOUBLEWORD_ALIGN, DOUBLEWORD_ALIGNMENT, TARGET_IWMMXT_ABI,
      	arm_abi_type, ARM_DEFAULT_ABI): Define.
      	(ARM_FLAG_ATPCS): Remove.
      	(TARGET_OPTIONS, OPTION_DEFAULT_SPECS): Add -mabi=.
      	(BIGGEST_ALIGNMENT, PREFERRED_STACK_BOUNDARY, STACK_BOUNDARY): Use it.
      	(ADJUST_FIELD_ALIGN, DATA_ALIGNMENT, LOCAL_ALIGNMENT,
      	TYPE_NEEDS_IWMMXT_ALIGNMENT): Remove.
      	(LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P):
      	Contitionalize on ABI, not CPU.
      	(struct arm_stack_offsets): Define.
      	(struct machine_function): Add stack_offsets.  Remove frame_size.
      	(FUNCTION_ARG_PARTIAL_NREGS): Don't split if previous args have been
      	pushed.
      	(FUNCTION_ARG_ADVANCE, FUNCTION_ARG_BOUNDARY): Handle general
      	doubleword alignment.
      	(THUMB_INITIAL_ELIMINATION_OFFSET,
      	ARM_INITIAL_ELIMINATION_OFFSET): Remove.
      	(INITIAL_ELIMINATION_OFFSET): Call functions directly.
      	* config/arm/arm.md (align_8): Enable for all targets.
      	* config/arm/netbsd-elf.h (TARGET_DEFAULT): Remove TARGET_ATPCS.
      	(ARM_DEFAULT_ABI): Define.
      	* doc/invoke.texi <ARM>: Document -mabi=. Update documentation for
      	-mstructure-size-boundary.
      
      From-SVN: r79921
      Paul Brook committed
    • producer_consumer.cc: Use linear algorithm for producer. · b4a76c01
      
      2004-03-24  Felix Yen  <fwy@alumni.brown.edu>
      
      	* testsuite/performance/20_util/allocator/producer_consumer.cc:
      	Use linear algorithm for producer.
      
      From-SVN: r79920
      Felix Yen committed
    • configure.ac: Check for -Wno-variadic-macros... · b5472e1d
      	* configure.ac: Check for -Wno-variadic-macros; don't use
      	-pedantic (in stage 1 or a simple 'make all') unless it's available,
      	and if it's available, use it.  Also, clean up check for
      	-Wno-long-long.
      	* configure: Regenerate.
      
      From-SVN: r79918
      Nathanael Nerode committed
    • mt_allocator.h (__mt_alloc<>::allocate, [...]): Avoid redundant conditionals. · affb18b2
      2004-03-24  Paolo Carlini  <pcarlini@suse.de>
      
      	* include/ext/mt_allocator.h (__mt_alloc<>::allocate,
      	__mt_alloc<>::deallocate): Avoid redundant conditionals.
      
      From-SVN: r79917
      Paolo Carlini committed
    • Fix changelog entry for: · 398a9492
      	* config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Remove tm_defines.
      	* config/mips/vr.h (DEFAULT_VR_ARCH): New macro, defined to vr4130.
      	(MULTILIB_DEFAULTS): Use it.
      	(MIPS_CPU_STRING_DEFAULT): Remove.
      	(MIPS_ABI_DEFAULT, MIPS_MARCH_CONTROLS_SOFT_FLOAT): Define.
      	(DRIVER_SELF_SPECS): Make -mfix-vr4122-bugs imply -march=vr4120.  Make
      	EABI64 -mlong32 the default ABI.  Enforce the default architecture.
      	* config/mips/t-vr (MULTILIB_OPTIONS): Add mfix-vr4122-bugs,
      	march=vr4130, march=vr4300, march=vr5000 and march=vr5500.
      	(MULTILIB_MATCHES): Use -mfix-vr4122-bugs multilibs for -march=vr4120.
      	(MULTILIB_EXCEPTIONS): Change choice of multilibs.  Update comments
      	accordingly.
      
      and commit config.gcc hunk.
      
      From-SVN: r79916
      Richard Sandiford committed
    • config.gcc (mips64vr-*-elf*, [...]): Remove tm_defines. · c1077e1e
      	* config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Remove tm_defines.
      	* config/mips/vr.h (DEFAULT_VR_ARCH): New macro, defined to vr4130.
      	(MULTILIB_DEFAULTS): Use it.
      	(MIPS_CPU_STRING_DEFAULT): Remove.
      	(MIPS_ABI_DEFAULT, MIPS_MARCH_CONTROLS_SOFT_FLOAT): Define.
      	(DRIVER_SELF_SPECS): Make -mfix-vr4122-bugs imply -march=vr4120.  Make
      	EABI64 -mlong32 the default ABI.  Enforce the default architecture.
      	* config/mips/t-vr (MULTILIB_OPTIONS): Add mfix-vr4122-bugs,
      	march=vr4130, march=vr4300 and march=vr5000.
      	(MULTILIB_MATCHES): Use -mfix-vr4122-bugs multilibs for -march=vr4120.
      	(MULTILIB_EXCEPTIONS): Change choice of multilibs.  Update comments
      	accordingly.
      
      From-SVN: r79915
      Richard Sandiford committed
    • mips.h (MASK_FIX_VR4122, [...]): New macros. · c235ddf2
      	* config/mips/mips.h (MASK_FIX_VR4122, TARGET_FIX_VR4122): New macros.
      	(TARGET_SWITCHES): Add -mfix-vr4122-bugs and -mno-fix-vr4122-bugs.
      	(ASM_SPEC): Pass down -mfix-vr4122-bugs.
      	* config/mips/mips.c (mips_avoid_hazards): Don't emit whole functions
      	in .set noreorder and .set nomacro if TARGET_FIX_VR4122.
      	(mips_init_libfuncs): Use special functions for divsi3 and modsi3
      	if TARGET_FIX_VR4122.
      	* config/mips/mips.md (define_attr length): Account for nops inserted
      	after macc and dmult when using -mfix-vr4122-bugs.
      	(umuldi3_highpart, divmodsi4, divmoddi4): Disable if TARGET_FIX_VR4122.
      	* config/mips/t-vr (LIB2FUNCS_STATIC_EXTRA): Define instead of
      	LIB2FUNCS_EXTRA.  Add config/mips/vr4122-div.S.
      	* config/mips/vr4122-div.S: New file.
      	* doc/invoke.texi: Document -mfix-vr4122-bugs.
      
      Co-Authored-By: Richard Sandiford <rsandifo@redhat.com>
      
      From-SVN: r79912
      DJ Delorie committed
    • mips.h (PROCESSOR_R4130): New processor_type. · cf768d70
      	* config/mips/mips.h (PROCESSOR_R4130): New processor_type.
      	(TARGET_MIPS4130): New macro.
      	(ISA_HAS_MACC): Return true if TARGET_MIPS4130 && !TARGET_MIPS16.
      	* config/mips/mips.c (mips_cpu_info_table): Add a vr4130 entry.
      	(override_options): Extend MIPS_MARCH_CONTROLS_SOFT_FLOAT to deal
      	with PROCESSOR_R4130.
      	* config/mips/mips.md (define_attr cpu): Add r4130.
      	* doc/invoke.texi: Document vr4130 as a supported MIPS architecture.
      
      From-SVN: r79904
      Richard Sandiford committed
    • invoke.texi: Apply missed hunk from 2004-03-03 change. · 5ef1a99d
      	* doc/invoke.texi: Apply missed hunk from 2004-03-03 change.
      
      Co-Authored-By: Richard Sandiford <rsandifo@redhat.com>
      
      From-SVN: r79903
      Maciej W. Rozycki committed
    • locale_facets.h: Tweaks for 80 column. · 586b5f20
      
      2004-03-23  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* include/bits/locale_facets.h: Tweaks for 80 column.
      	(__numpunct_cache::_M_cache): Move to locale_facets.tcc.
      	(__moneypunct_cache::_M_cache): Same.
      	(num_get): Don't inherit from __num_base.
      	(num_put): Same.
      	(money_get): Don't inherit from money_base.
      	(money_put): Same.
      	(__timepunct::_M_am_pm_format): New.
      	(time_get::_M_extract_num): Return iterator, use ios_base as argument.
      	(time_get::_M_extract_name): Same.
      	(time_get::_M_extract_via_format): Same.
      	* include/bits/locale_facets.tcc: Tweaks for 80 column.
      	Use _M_getloc instead of getloc.
      	* testsuite/22_locale/money_put/put/char/9780-3.cc: New.
      	* testsuite/22_locale/num_put/put/char/9780-2.cc: New.
      	* testsuite/22_locale/time_put/put/char/9780-1.cc: New.
      
      From-SVN: r79902
      Benjamin Kosnik committed
    • re PR preprocessor/14438 (Potential need for buffer overflow checks in _cpp_lex_direct) · ae87624f
      PR preprocessor/14438
      * cpplib.c (do_pragma): Remove line_change call after pragma
      handler.
      
      From-SVN: r79899
      Alexandre Oliva committed
    • extend.texi (ARM Built-in Functions): Replace with correct declarations. · d63851eb
      	* doc/extend.texi (ARM Built-in Functions): Replace with correct
      	declarations.
      
      From-SVN: r79894
      Ian Lance Taylor committed
    • reg-stack.c (get_true_reg): Handle FLOAT_TRUNCATE like FLOAT_EXTEND if… · 0c5faf29
      reg-stack.c (get_true_reg): Handle FLOAT_TRUNCATE like FLOAT_EXTEND if flag_unsafe_math_optimizations.
      
      
      	* reg-stack.c (get_true_reg): Handle FLOAT_TRUNCATE like FLOAT_EXTEND
      	if flag_unsafe_math_optimizations.
      	* config/i386/i386.md (truncdfsf2): If flag_unsafe_math_optimizations
      	and TARGET_80387 expand using truncdfsf2_noop pattern.
      	(truncxfsf2): Likewise using truncxfsf2_noop.
      	(truncxfdf2): Likewise using truncxfdf2_noop.
      	(truncdfsf2_noop, truncxfsf2_noop, truncxfdf2_noop): New patterns.
      
      From-SVN: r79893
      Roger Sayle committed
    • Makefile.tpl (new-bootstrap): Set CC and CC_FOR_BUILD in configure for stages 2… · cbfd7e06
      Makefile.tpl (new-bootstrap): Set CC and CC_FOR_BUILD in configure for stages 2 and 3 as well as in make.
      
      	* Makefile.tpl (new-bootstrap): Set CC and CC_FOR_BUILD in configure
      	for stages 2 and 3 as well as in make.  As a consequence, remove
      	OUTPUT_OPTION (now detected by configure) from the flags passed down
      	to make.
      	* Makefile.in: Regenerate.
      
      From-SVN: r79892
      Nathanael Nerode committed
    • compare8.c: New test case. · 5a93e8de
      
      	* gcc.dg/compare8.c: New test case.
      
      Co-Authored-By: Roger Sayle <roger@eyesopen.com>
      
      From-SVN: r79891
      Joseph Myers committed
    • Daily bump. · cba4497d
      From-SVN: r79888
      GCC Administrator committed
    • hooks.c (hook_constcharptr_tree_null): New hook. · f18eca82
      [gcc/ChangeLog]
      2004-03-23  Ziemowit Laski  <zlaski@apple.com>
      
              * hooks.c (hook_constcharptr_tree_null): New hook.
              * hooks.h (hook_constcharptr_tree_null): New prototype.
              * target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): New target hook.
              * target.h (mangle_fundamental_type): New target hook.
              * config/rs6000/rs6000.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Point
              target hook at rs6000_mangle_fundamental_type.
              (rs6000_mangle_fundamental_type): New function.
              * doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Document.
      
      [gcc/cp/ChangeLog]
      2004-03-23  Ziemowit Laski  <zlaski@apple.com>
      
              * Make-lang.in (cp/mangle.o): Depend on $(TARGET_H).
              * mangle.c (write_type): Add call to 'mangle_fundamental_type'
              target hook.
      
      [gcc/testsuite/ChangeLog]
      2004-03-23  Ziemowit Laski  <zlaski@apple.com>
      
              * g++.dg/ext/altivec-7.C: New test.
      
      From-SVN: r79885
      Ziemowit Laski committed
  3. 23 Mar, 2004 5 commits
    • Correct PR number in last commit · 1b1d85bd
      From-SVN: r79884
      Zack Weinberg committed
    • PR 12267, 12391, 12560, 13129, 14114, 14113 · f75fbaf7
      	* c-tree.h: Forward declare struct c_binding.  Declare
      	c_override_bindings_to_false.  Update prototypes.
      	(struct lang_identifier): Update comments.  Change fields to be
      	struct c_binding *.
      	(IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE)
      	(IDENTIFIER_LABEL_VALUE, C_DECL_INVISIBLE)
      	(KEEP_NO, KEEP_YES, KEEP_MAYBE): Delete.
      	(C_DECL_IN_EXTERNAL_SCOPE, C_DECL_DECLARED_BUILTIN): New.
      	* c-common.h: Update prototypes.
      	* c-decl.c (struct c_scope): Update commentary.  Remove names,
      	names_last, parms, parms_last, tags, and shadowed fields.  Add
      	bindings and depth fields.
      	(scope_freelist): Move to more appropriate location.
      	(c_print_identifier): Update for changes to struct lang_identifier.
      	(objc_mark_locals_volatile): Update for new bindings structures.
      	(global_bindings_p): Honor c_override_global_bindings_to_false.
      	(pushlevel): Rename to push_scope; take no arguments; use the
      	scope_freelist; initialize scope->depth and check for overflow.
      	(poplevel): Rename to pop_scope; totally rewritten for new bindings
      	structures.
      	(diagnose_mismatched_decls): Use C_DECL_DECLARED_BUILTIN, not
      	C_DECL_INVISIBLE, for certain decisions.  Adjust some diagnostics.
      	Improve some commentary.  Adjust handling of forward parm decls.
      	(merge_decls): Set C_DECL_DECLARED_BUILTIN when appropriate.
      	Preserve C_DECL_IN_EXTERNAL_SCOPE.
      	(warn_if_shadowing): Correct indentation.  Improve diagnostics.
      	(pushdecl): Remove unnecessary assertion.  Short-circuit anonymous
      	decls.  Rewrite for new bindings structures.  Improve commentary.
      	Eliminate the copy_node call.
      	(implicit_decl_warning): Use the "diag" idiom (as seen in
      	locate_old_decl) to reduce code duplication; call locate_old_decl
      	if appropriate.  Relocate to remove need for forward declaration.
      	(implicitly_declare): Adjust for new bindings structures.  Kludge
      	around Objective-C not-really-builtin functions.
      	(undeclared_variable): Improve diagnostics.  If current_function_decl
      	is nonnull but current_function_scope is null, use current_scope.
      	Use bind.
      	(lookup_tag): Adjust for new bindings structures.  Kludge around
      	Objective-C's tag declarations that wind up in the external scope.
      	(lookup_name): Adjust for new bindings structures.  Kludge around
      	c-common.c's pseudo-typedefs that wind up in the external scope.
      	(lookup_name_current_level): Rename lookup_name_in_scope; take a
      	second argument indicating the scope to examine; rewrite for
      	new bindings structures.
      	(c_init_decl_processing): Adjust for renamed functions.  Do not
      	initialize current_file_decl, first_builtin_decl, last_builtin_decl.
      	First scope pushed is the external scope, not the global scope.
      	(builtin_function): Use bind, not pushdecl.  Adjust other bits
      	for new data structures.  Keep track of builtins that should be
      	made visible automatically.
      	(start_decl): Adjust diagnostics.  Remove unnecessary call to
      	expand_decl.
      	(grokparms): Return 0 if arg_types is error_mark_node.
      	(get_parm_info): Rename "void_at_end" argument to "ellipsis", with
      	reversed sense.  Rewrite for new bindings structures.  Do not
      	leave any decls in the scope, to prevent pop_scope from doing
      	contradictory things with them.
      	(finish_struct, finish_enum): Remove redundant diagnostics.
      	(build_enumerator): Don't cascade diagnostics for error_mark_node.
      	Mark location where -pedantic changes the meaning of the program.
      	(store_parm_decls_newstyle, store_parm_decls_oldstyle): Load the
      	parameter decls into the function's scope structure using bind.
      	Warn here about function definitions in the wrong style.
      	Adjust diagnostics.
      	(store_parm_decls): Correct the determination of whether a
      	function was defined with a prototype.
      	(c_write_global_declarations): Operate on all file decls and on
      	the external scope.  Split body of the loop to...
      	(c_write_global_declarations_1): ... this new function, to avoid
      	code duplication.
      	(truly_local_externals, first_builtin_decl, last_builtin_decl)
      	(make_scope, pop_scope, in_parm_level_p, set_block)
      	(any_external_decl, record_external_decl, bind_label, getdecls)
      	(link_hash_hash, link_hash_eq, merge_translation_unit_decls)
      	(c_reset_state): Delete.
      	(visible_builtins, c_override_global_bindings_to_false)
      	(c_binding, I_SYMBOL_BINDING, I_SYMBOL_DECL, I_TAG_BINDING)
      	(I_TAG_DECL, I_LABEL_BINDING, I_LABEL_DECL, file_scope)
      	(external_scope, binding_freelist, bind, free_binding_and_advance)
      	(push_file_scope, pop_file_scope): New.
      	(pushtag, pushdecl_top_level, lookup_label, declare_label)
      	(define_label, c_make_fname_decl, finish_decl)
      	(mark_forward_parm_decls, build_compound_literal)
      	(grokdeclarator, start_function, check_for_loop_decls)
      	(identifier_global_value, record_builtin_type): Minor adjustments
      	for new bindings structures.  Improve diagnostics and commentary.
      	* c-objc-common.c (start_cdtor, finish_cdtor): Adjust calls to
      	pushlevel/poplevel respectively.
      	(c_objc_common_finish_file): Don't call merge_translation_unit_decls.
      	* c-opts.c (c_common_parse_file): Remove spurious ATTRIBUTE_UNUSED.
      	Warn about YYDEBUG not being defined only if -dy.  Remove no-longer-
      	correct loop over multiple translation units; call fatal_error if
      	requested to compile more than one file at once.  (This disables
      	IMA temporarily - an up-front error being preferable to a crash.)
      	* c-parse.in (pushlevel, poplevel rules): Rename push_scope, pop_scope.
      	(all actions): Adjust calls to pushlevel/poplevel.
      	(parsing_iso_function_signature): Delete.
      	(extdef_1): Fold into extdef.
      	(old_style_parm_decls_1): Fold into old_style_parm_decls.  Don't
      	warn here about function definitions in the wrong style.
      	(after_tyle_declarator, parm_declarator_starttypename)
      	(parm_declarator_nostarttypename, notype_declarator): Remove
      	commented-out productions.
      	(parmlist_1, parmlist_2): Use make_node, not tree_cons, to create
      	an empty TREE_LIST node.  Adjust calls to get_parm_info.
      	(parmlist_2 : ELLIPSIS): Tag the arg-info block with error_mark_node
      	to suppress -Wold-style-definition after this error.
      	(c_parse_file): Don't clear the binding stack or call
      	finish_fname_decls here.  Correct comment.
      	* c-typeck.c (same_translation_unit_p): Export.
      	(common_type): Use c_override_global_bindings_to_false, not
      	pushlevel/poplevel/declare_parm_level.
      	* c-lang.c: Override LANG_HOOKS_CLEAR_BINDING_STACK,
      	LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK,
      	and LANG_HOOKS_GETDECLS with do-nothing stubs.
      	* objc/objc-lang.c: Likewise.
      	* objc/objc-act.c: Adjust all calls to pushlevel, poplevel,
      	get_parm_info.
      	(OBJC_VOID_AT_END): Delete; replace all uses
      	with void_list_node.
      	(generate_forward_declaration_to_string_table): Delete.
      	* objc/objc-act.h (OCTI_STRG_DECL, UOBJC_STRINGS_decl): Delete.
      
      	* coverage.c (create_coverage): Don't pushdecl anything.
      	* langhooks.c (lhd_clear_binding_stack): Call
      	lang_hooks.decls.poplevel, not poplevel.
      	* tree.c (list_length): If ENABLE_TREE_CHECKING, abort on a
      	circular list rather than going into an infinite loop.
      
      cp:
      	* cp-lang.c (c_reset_state): Delete.
      	(push_file_scope, pop_file_scope): New stubs.
      	* parser.c (c_parse_file): Call sorry() here if called more than once.
      
      testsuite:
      	* gcc.dg/Wold-style-definition-1.c, gcc.dg/builtins-30.c
      	* gcc.dg/unused-4.c, gcc.dg/noncompile/label-1.c
      	* gcc.dg/noncompile/label-lineno-1.c, objc.dg/naming-1.m:
      	Adjust error regexps.
      	* gcc.dg/Wshadow-2.c, gcc.dg/noncompile/incomplete-3.c
      	* gcc.dg/noncompile/undeclared-1.c: New test cases.
      	* gcc.dg/decl-5.c, gcc.dg/redecl-1.c: Remove XFAIL.
      	* gcc.dg/local1.c: Add explanatory comment.
      
      From-SVN: r79883
      Zack Weinberg committed
    • Makefile.tpl (new-bootstrap): Fix typo. · 5595a2bd
      2004-03-23  Nathanael Nerode  <neroden@gcc.gnu.org>
      
      	* Makefile.tpl (new-bootstrap): Fix typo.
      	* Makefile.in: Regenerate.
      
      From-SVN: r79878
      Nathanael Nerode committed
    • optabs.c (expand_binop): When synthesizing double word rotates from single word shifts... · 0c0ab0f1
              * optabs.c (expand_binop): When synthesizing double word rotates
              from single word shifts, use a new register target if the provided
              target is not a REG already.
      
      From-SVN: r79875
      Olivier Hainque committed