Commit Graph

57436 Commits

Author SHA1 Message Date
Nathanael Nerode 09a9c0954e configure.ac: Add --enable-werror-always (for top level bootstrap support).
(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
2004-03-24 22:08:39 +00:00
Dhruv Matani 58c959212f 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
2004-03-24 21:40:01 +00:00
Benjamin Kosnik 8367b9c1e9 allocator.html: Add bitmap_allocator links.
2004-03-24  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/20_util/allocator.html: Add bitmap_allocator links.

From-SVN: r79933
2004-03-24 21:30:26 +00:00
Andreas Schwab d62c1a1f98 prune.exp (prune_gcc_output): Ignore errata warning from IA64 assembler.
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
2004-03-24 19:54:26 +00:00
Ziemowit Laski f75963f54e 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
2004-03-24 19:53:04 +00:00
David Edelsohn 8d3b3fb77d invoke.texi (-frename-registers): Add enabled at -O3.
* 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
2004-03-24 13:27:49 -05:00
Dhruv Matani 71f9a9d15e bitmap_allocator.h: (_Bit_scan_forward) -> Made this function call __builtin_ctz instead of the...
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
2004-03-24 18:27:43 +00:00
Nathanael Nerode 643d3bd23e Makefile.in (STRICT2_WARN): Reorder.
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
2004-03-24 18:03:46 +00:00
Paul Brook 5848830fc3 config.gcc: Add --with-abi=
* 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
2004-03-24 17:20:16 +00:00
Felix Yen b4a76c01db producer_consumer.cc: Use linear algorithm for producer.
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
2004-03-24 17:16:07 +00:00
Nathanael Nerode b5472e1d48 configure.ac: Check for -Wno-variadic-macros...
* 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
2004-03-24 16:26:00 +00:00
Paolo Carlini affb18b2fa mt_allocator.h (__mt_alloc<>::allocate, [...]): Avoid redundant conditionals.
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
2004-03-24 15:25:37 +00:00
Richard Sandiford 398a94926c Fix changelog entry for:
* 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
2004-03-24 13:55:37 +00:00
Richard Sandiford c1077e1e31 config.gcc (mips64vr-*-elf*, [...]): Remove tm_defines.
* 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
2004-03-24 13:44:56 +00:00
DJ Delorie c235ddf275 mips.h (MASK_FIX_VR4122, [...]): New macros.
* 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
2004-03-24 13:05:40 +00:00
Richard Sandiford cf768d70b2 mips.h (PROCESSOR_R4130): New processor_type.
* 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
2004-03-24 10:05:50 +00:00
Maciej W. Rozycki 5ef1a99d3c invoke.texi: Apply missed hunk from 2004-03-03 change.
* doc/invoke.texi: Apply missed hunk from 2004-03-03 change.

Co-Authored-By: Richard Sandiford <rsandifo@redhat.com>

From-SVN: r79903
2004-03-24 09:36:44 +00:00
Benjamin Kosnik 586b5f2013 locale_facets.h: Tweaks for 80 column.
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
2004-03-24 06:41:07 +00:00
Alexandre Oliva ae87624ff0 re PR preprocessor/14438 (Potential need for buffer overflow checks in _cpp_lex_direct)
PR preprocessor/14438
* cpplib.c (do_pragma): Remove line_change call after pragma
handler.

From-SVN: r79899
2004-03-24 03:19:37 +00:00
Ian Lance Taylor d63851eb11 extend.texi (ARM Built-in Functions): Replace with correct declarations.
* doc/extend.texi (ARM Built-in Functions): Replace with correct
	declarations.

From-SVN: r79894
2004-03-24 03:03:25 +00:00
Roger Sayle 0c5faf294f 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
2004-03-24 02:28:41 +00:00
Nathanael Nerode cbfd7e06e5 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
2004-03-24 02:24:09 +00:00
Joseph Myers 5a93e8dea1 compare8.c: New test case.
* gcc.dg/compare8.c: New test case.

Co-Authored-By: Roger Sayle <roger@eyesopen.com>

From-SVN: r79891
2004-03-24 00:19:06 +00:00
GCC Administrator cba4497d92 Daily bump.
From-SVN: r79888
2004-03-24 00:16:14 +00:00
Ziemowit Laski f18eca824c hooks.c (hook_constcharptr_tree_null): New hook.
[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
2004-03-24 00:13:33 +00:00
Zack Weinberg 1b1d85bda3 Correct PR number in last commit
From-SVN: r79884
2004-03-23 23:49:35 +00:00
Zack Weinberg f75fbaf754 PR 12267, 12391, 12560, 13129, 14114, 14113
* 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
2004-03-23 23:47:53 +00:00
Nathanael Nerode 5595a2bd85 Makefile.tpl (new-bootstrap): Fix typo.
2004-03-23  Nathanael Nerode  <neroden@gcc.gnu.org>

	* Makefile.tpl (new-bootstrap): Fix typo.
	* Makefile.in: Regenerate.

From-SVN: r79878
2004-03-23 23:13:33 +00:00
David Edelsohn fbce7685f2 delete some extraneous characters accidentally included in last change.
From-SVN: r79876
2004-03-23 17:20:12 -05:00
Olivier Hainque 0c0ab0f1e8 optabs.c (expand_binop): When synthesizing double word rotates from single word shifts...
* 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
2004-03-23 21:54:36 +00:00
Richard Kenner 22421b79c8 alias.c (get_alias_set): Add support for TYPE_REF_CAN_ALIAS_ALL.
* alias.c (get_alias_set): Add support for TYPE_REF_CAN_ALIAS_ALL.
	* c-common.c (handle_mode_attribute): Add extra arg to
	build_pointer_type_for_mode and build_reference_type_for_mode.
	* c-typeck.c (build_c_cast): Only look at TREE_CONSTANT_OVERFLOW
	for INTEGER_CST.
	* tree.c (build_pointer_type_for_mode): Add arg CAN_ALIAS_ALL.
	Chain pointers via TYPE_NEXT_PTR_TO.
	(build_reference_type_for_mode): Similarly.
	(build_type_no_quals): Add extra arg to build_pointer_type_for_mode
	and build_reference_type_for_mode.
	(tree_check4_failed): New function.
	* tree.h (TREE_CHECK4, PTR_OR_REF_CHECK): New macros.
	(TYPE_REF_CAN_ALIAS_ALL, TYPE_NEXT_PTR_TO, TYPE_NEXT_REF_TO): Likewise.
	(TREE_NO_UNSUED_WARNING, TREE_VIA_VIRTUAL, TREE_CONSTANT_OVERFLOW):
	Add check.

	* cp/typeck.c (build_c_cast): Only look at TREE_CONSTANT_OVERFLOW
	for INTEGER_CST.

	* ada/decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
	of No_Strict_Aliasing to build_pointer_type_for_mode.
	* ada/utils.c (update_pointer_to): Walk pointer and ref chains.

From-SVN: r79873
2004-03-23 15:43:44 -05:00
Anthony Green 95e59f1ada natClass.cc (getClassLoader): Circumvent infinite recursion when searching for the system ClassLoader.
2004-03-21  Anthony Green  <green@redhat.com>

        * java/lang/natClass.cc (getClassLoader): Circumvent infinite
        recursion when searching for the system ClassLoader.

From-SVN: r79871
2004-03-23 19:24:07 +00:00
Roger Sayle b1500d001a fold-const.c (tree_expr_nonnegative_p): A&B is nonnegative when A is nonnegative or B is nonnegative.
* fold-const.c (tree_expr_nonnegative_p): A&B is nonnegative when
	A is nonnegative or B is nonnegative.  Similarly A|B is nonnegative
	when both A and B are nonnegative.
	(tree_expr_nonzero_p): A|B is nonzero when A is nonzero or B is
	nonzero.

From-SVN: r79870
2004-03-23 19:11:35 +00:00
Tom Tromey 986dc4e5c4 re PR java/14315 ([3.4 only]: Java compiler is not parallel make safe)
PR java/14315:
	* jcf-write.c (make_class_file_name): Don't report if mkdir
	failed with EEXIST.

From-SVN: r79868
2004-03-23 17:54:02 +00:00
Tom Tromey 37214c415f * gcj.texi (Extensions): Document GCJ_PROPERTIES.
From-SVN: r79867
2004-03-23 17:49:22 +00:00
Kazu Hirata 73b91357c9 fold-const.c (fold): Remove cases for INTEGER_CST...
* fold-const.c (fold): Remove cases for INTEGER_CST, REAL_CST,
	VECTOR_CST, STRING_CST, COMPLEX_CST, and CONSTRUCTOR.

From-SVN: r79862
2004-03-23 15:16:51 +00:00
Roger Sayle bb3a37acf0 re PR rtl-optimization/14669 (Wrong code with -O for enum values expression E4 <= t && t <= E6)
2004-03-23  Kazu Hirata  <kazu@cs.umass.edu>

	PR optimization/14669
	* fold-const.c (fold): Only unwiden integer comparisons for equality
	or inequality operators, or when the signedness is the same.

	* g++.dg/opt/fold2.C: New test case.

From-SVN: r79859
2004-03-23 14:26:43 +00:00
Jakub Jelinek f2c79f80f2 config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
* config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
	* config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Set.
	* config/sparc/t-linux: New file.

From-SVN: r79858
2004-03-23 14:45:32 +01:00
Richard Sandiford 1707bafaa5 gcse.c (can_assign_to_reg_p): New function, split out from...
* gcse.c (can_assign_to_reg_p): New function, split out from...
	(want_to_gcse_p): ...here.
	(compute_ld_motion_mems): Use can_assign_to_reg_p to validate
	the rhs of a store.

From-SVN: r79856
2004-03-23 09:33:30 +00:00
Diego Novillo 63185fabba * c-typeck.c (same_translation_unit_p): Fix pasto.
From-SVN: r79849
2004-03-22 21:24:24 -05:00
GCC Administrator 1d44058799 Daily bump.
From-SVN: r79846
2004-03-23 00:16:15 +00:00
David Edelsohn 0483ab6e78 fix typo.
From-SVN: r79840
2004-03-22 17:06:17 -05:00
David Edelsohn f72c6b5641 params.def (PARAM_MAX_SCHED_REGION_BLOCKS): New.
* params.def (PARAM_MAX_SCHED_REGION_BLOCKS): New.
        (PARAM_MAX_SCHED_REGION_INSNS): New.
        * sched-rgn.c: Include params.h
        (MAX_RGN_BLOCKS): Delete.
        (MAX_RGN_INSNS): Delete.
        (too_large): Return bool.  Convert to PARAM_VALUE.
        * Makefile.in (sched-rgn): Depend on $(PARAMS_H).
        * doc/invoke.texi (param): Document max-sched-region-blocks and
        max-sched-region-insns.

From-SVN: r79839
2004-03-22 17:05:05 -05:00
Joel Brobecker d6672e91f1 dwarf2out.c (is_subrange_type): Do not emit a subrange_type DIE for base types.
* dwarf2out.c (is_subrange_type): Do not emit a subrange_type DIE
        for base types.

From-SVN: r79838
2004-03-22 20:57:00 +00:00
Joel Brobecker 886de2d4dc dwarf2out.c (is_subrange_type): Minor code rework.
* dwarf2out.c (is_subrange_type): Minor code rework. No behavior
        change.

From-SVN: r79837
2004-03-22 20:55:07 +00:00
Jakub Jelinek d915eec0db re PR c/14069 (This input file lets gcc crash)
PR c/14069
	* c-decl.c (finish_struct): Change type of incorrect flexible array
	field into error_mark_node.

	* gcc.dg/20040322-1.c: New test.

From-SVN: r79832
2004-03-22 16:28:06 +01:00
Andrew Pinski 19a0330388 re PR target/14580 (symbol emitted instead of a non_lazy_symbol)
2004-03-22  Andrew Pinski  <pinskia@physics.uc.edu>

        PR target/14580
        * config/rs6000/rs6000.c (symbol_ref_operand): Reject symbols
        who are not local for Darwin PIC.

From-SVN: r79831
2004-03-22 07:05:12 -08:00
Andrew Pinski aa6d25c99d rs6000.c (symbol_ref_operand): Reject symbols who are not local for Darwin PIC.
2004-03-22  Andrew Pinski  <pinskia@physics.uc.edu>

        * config/rs6000/rs6000.c (symbol_ref_operand): Reject symbols
        who are not local for Darwin PIC.

From-SVN: r79830
2004-03-22 07:04:27 -08:00
Arnaud Charlet 24105bab8c [multiple changes]
2004-03-22  Cyrille Comar  <comar@act-europe.fr>

	* ali.ads: Fix Comment about Dynamic_Elab.

	* gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
	Has_RACW, Is_Generic, etc.)
	(Output_Object, Gnatls): Take into account ALI files not attached to
	an object.

2004-03-22  Vincent Celier  <celier@gnat.com>

	* gprep.adb: Change all String_Access to Name_Id
	(Is_ASCII_Letter): new function
	(Double_File_Name_Buffer): New procedure
	(Preprocess_Infile_Name): New procedure
	(Process_Files): New procedure
	(Gnatprep): Check if output and input are existing directories.
	Call Process_Files to do the real job.

2004-03-22  Robert Dewar  <dewar@gnat.com>

	* prj-env.adb, prj-nmsc.ads, prj-proc.ads,
	s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.

2004-03-22  Sergey Rybin  <rybin@act-europe.fr>

	* scn.adb (Contains): Add check for EOF, is needed for a degenerated
	case when the source contains only comments.

2004-03-22  Ed Schonberg  <schonberg@gnat.com>

	* sem_ch10.adb (Analyze_Compilation_Unit): When generating a
	declaration for a child subprogram body that acts as a spec, indicate
	that the entity in the declaration needs debugging information.

	* sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
	full view if the subtype is created for a constrained record component;
	gigi has enough information to construct the record, and there is no
	place in the tree for the declaration.

	* sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
	serial number for the dummy body that is built for analysis, to avoid
	inconsistencies in the generation of internal names when compiling
	with -gnatN.

2004-03-22  Thomas Quinot  <quinot@act-europe.fr>

	* sem_util.adb (Is_Object_Reference): A view conversion denotes an
	object.

2004-03-22  GNAT Script  <nobody@gnat.com>

	* Make-lang.in: Makefile automatically updated

From-SVN: r79826
2004-03-22 15:06:28 +01:00
Ulrich Weigand ead61c1d43 regrename.c (regrename_optimize): Set regs_ever_live for all registers introduced as replacement.
* regrename.c (regrename_optimize): Set regs_ever_live for all
	registers introduced as replacement.

From-SVN: r79825
2004-03-22 13:15:58 +00:00