Commit Graph

57460 Commits

Author SHA1 Message Date
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
Paolo Carlini
29d4adf460 acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
2004-03-22  Paolo Carlini  <pcarlini@suse.de>

	* acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
	* configure: Regenerate.
	* config/allocator/pool_allocator_base.h: New.
	* include/ext/pool_allocator.h: Convert to a standard-conforming
	allocator.
	* src/allocator.cc: Tweak instantiations.
	* testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
	* testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
	* testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
	* testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
	* testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
	* testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.

From-SVN: r79824
2004-03-22 13:07:13 +00:00
Eric Botcazou
1bbd65cd87 re PR tree-optimization/14470 ([tree-ssa] trouble with post-increment)
PR middle-end/14470
	* expr.c (mark_queue): New function.
	(emit_insns_enqueued_after_mark): New function replacing
	emit_queue.  Clear the body of emitted queued insns.
	(emit_queue): Call emit_insns_enqueued_after_mark.
	(store_expr): Mark the increment queue on entry.  Emit
	only the incrementations queued when expanding the source.

From-SVN: r79822
2004-03-22 11:59:08 +00:00
Nathanael Nerode
aadfde5010 No, really, REALLY revert it.
From-SVN: r79821
2004-03-22 11:55:53 +00:00
Nathanael Nerode
72c19c0be6 No, REALLY revert it this time. (sigh)
From-SVN: r79820
2004-03-22 11:55:18 +00:00
Nathanael Nerode
acf62dd55a Revert accidental bogus change to Makefile.def in last commit.
From-SVN: r79819
2004-03-22 11:54:26 +00:00
Nathanael Nerode
295f4e42f1 Makefile.tpl: Rearrange by moving recursive_targets rules into their proper sections.
* Makefile.tpl: Rearrange by moving recursive_targets rules
	into their proper sections.
	* Makefile.tpl (top level bootstrap support): Move disabling
	of coverage flags from 'make' to 'configure'; improve comments.
	* Makefile.in: Regenerate.

From-SVN: r79818
2004-03-22 11:53:01 +00:00
Nathanael Nerode
6dd297da04 configure.ac: Allow --disable-coverage-flags (for the future benefit of top level bootstrap...
* configure.ac: Allow --disable-coverage-flags (for the future benefit
	of top level bootstrap, and consistency).  Reindent.
	* configure: Regenerate.

From-SVN: r79817
2004-03-22 09:49:36 +00:00
Nathanael Nerode
340de83fd5 * Makefile.tpl (experimental top level bootstrap) Move stage1
language setting from all- target to configure- target; disable
	intermodule optimization in stage 1; prevent gratuitous rebuilds
	of stage 1.
	* Makefile.in: Regenerate.
	* configure.in: Comma-separate stage 1 language list for top
	level bootstrap.
	* configure: Regenerate.

From-SVN: r79816
2004-03-22 08:38:04 +00:00
Eric Botcazou
a836124ac9 Fix typo.
From-SVN: r79815
2004-03-22 07:18:35 +00:00
Eric Botcazou
6d0b29793f ulstrasp2.c: Do not pass -m64.
* gcc.dg/ulstrasp2.c: Do not pass -m64.  Remove redundant lines.
	* gcc.dg/ultrasp4.c: Likewise.
	* gcc.dg/ultrasp8.c: Do not pass -m64.  Add sparcv9-*-*.

From-SVN: r79814
2004-03-22 07:16:41 +00:00
Nathanael Nerode
ca3b3e200a Makefile.tpl: Clean up experimental top level bootstrap support...
2004-03-22  Nathanael Nerode  <neroden@gcc.gnu.org>

	* Makefile.tpl: Clean up experimental top level bootstrap support:
	note known problems; set CONFIG_SHELL; don't set BUILD_CC; relocate
	prev-gcc in configure- targets as well as all- targets.
	* Makefile.in: Regenerate.

From-SVN: r79812
2004-03-22 06:19:44 +00:00
Kazu Hirata
400e39e37d bt-load.c, [...]: Remove unnecessary casts.
* bt-load.c, builtins.c, cfghooks.c, cfgrtl.c, gcse.c,
	ggc-page.c, integrate.c, var-tracking.c, web.c: Remove
	unnecessary casts.

From-SVN: r79811
2004-03-22 02:57:27 +00:00
Danny Smith
bd8ec6a7cd re PR target/14291 (-fprofile-arcs fails (unresolved symbol))
PR target/14291
	* gcov-io.h (gcov_truncate): Define ftruncate as _chsize for
	__MINGW32__.

From-SVN: r79809
2004-03-22 02:33:30 +00:00
Ulrich Weigand
07ef69611a * gcc.dg/i386-sse-8.c: Reset default options.
From-SVN: r79808
2004-03-22 02:31:24 +00:00
Ulrich Weigand
4a396f6e3f asm2.c: Allow 'parse error' instead of 'syntax error' in the error message text.
* gcc.dg/charset/asm2.c: Allow 'parse error' instead of 'syntax error'
	in the error message text.

From-SVN: r79807
2004-03-22 02:30:22 +00:00
Ulrich Weigand
bd446804ef s390.md ("*doloop_si"): Change predicate for operand 2 to nonimmediate_operand.
* config/s390/s390.md ("*doloop_si"): Change predicate for operand 2
	to nonimmediate_operand.
	("*doloop_di"): Likewise.

From-SVN: r79806
2004-03-22 02:28:11 +00:00
Hans-Peter Nilsson
fea41ef911 atomicity.h (__atomic_add): Remove "static inline" and attribute-unused.
* config/cpu/cris/atomicity.h (__atomic_add): Remove "static
	inline" and attribute-unused.  Qualify parameter __mem with
	"volatile".
	(__exchange_and_add): Ditto.  Add back memory clobber to asm.

From-SVN: r79804
2004-03-22 01:37:04 +00:00
Gabriel Dos Reis
7090f4b3b1 cxx-pretty-print.c (pp_cxx_parameter_declaration_clause): Declare.
* cxx-pretty-print.c (pp_cxx_parameter_declaration_clause):
          Declare.

From-SVN: r79803
2004-03-22 01:12:53 +00:00
Alexandre Oliva
1e92bbb907 real.h (struct real_value): Use the same type for all bitfields.
* real.h (struct real_value): Use the same type for all
bitfields.  Rename exp to uexp.
(REAL_EXP, SET_REAL_EXP): New accessor macros for uexp.
Adjust all uses of exp...
* builtins.c: ... here, ...
* emit-rtl.c: ... here, and ...
* real.c: ... and here.

From-SVN: r79802
2004-03-22 00:40:44 +00:00
GCC Administrator
9175d40929 Daily bump.
From-SVN: r79799
2004-03-22 00:16:10 +00:00
Gabriel Dos Reis
b9b44fb9f8 pretty-print.c (pp_base_maybe_space): New function.
* pretty-print.c (pp_base_maybe_space): New function.
	* pretty-print.h (pp_base_maybe_space): Declare.
	(pp_maybe_space): New macro.
cp/
	* error.c (enum pad): Remove.
	(dump_qualifiers): Likewise.
	(dump_type): Replace dump_qualifiers with
	* pp_cxx_cv_qualifier_seq.
	(dump_aggr_type): Likewise.
	(dump_type_suffix): Likewise.
	(dump_simple_decl): Likewise.
	(dump_function_decl): Likewise.
	(cv_to_string): Likewise.
	(dump_type_prefix): Likewise.  Adjust return void.
	* cxx-pretty-print.c (pp_cxx_cv_qualifier_seq): Move to
	cxx_pretty_print.h.
	(pp_cxx_template_keyword_if_needed): Document.
	(pp_cxx_qualified_id): Document case FUNCTION_DECL.  Tidy.
	(pp_cxx_expression): Handle NON_DEPENDENT_EXPR and
	MUST_NOT_THROW_EXPR.
testsuite/
	* g++.dg/template/qualttp20.C: Adjust dg- regexp.

From-SVN: r79796
2004-03-21 23:55:03 +00:00
Ulrich Weigand
1c7b1b7e25 * config/s390/s390.md ("addti3", "subti3"): New insns and splitters.
From-SVN: r79793
2004-03-21 20:03:10 +00:00
Ulrich Weigand
f258e38b1d expmed.c (choose_mult_variant): Pass MULT_COST as argument instead of using register multiplication cost.
* expmed.c (choose_mult_variant): Pass MULT_COST as argument instead
	of using register multiplication cost.
	(expand_mult): Adapt choose_mult_variant call.
	(expand_mult_highpart): Call choose_mult_variant with WIDER_MODE
	of MODE; pass appropriate cost bound.  Adjust result when
	performing signed multiplication by a negative constant.
	Don't use intermediate modes larger than word_mode.

From-SVN: r79792
2004-03-21 19:31:29 +00:00
Kelley Cook
4d03807362 compile: New file imported from automake.
2004-03-21  Kelley Cook  <kcook@gcc.gnu.org>

	* compile: New file imported from automake.

From-SVN: r79790
2004-03-21 18:38:56 +00:00
Richard Kenner
6fce44af56 alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR.
* alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR.
	* emit-rtl.c (component_ref_for_mem_expr): Likewise.
	(set_mem_attributes_minus_bitpos): Call SUBSTITUTE_PLACEHOLDER_IN_EXPR.
	* explow.c (expr_size): Likewise.
	* expr.h (placeholder_list, find_placeholder): Deleted.
	* expr.c (store_constructor): Likewise.
	(get_inner_reference): Likewise.  Also don't call find_placeholder.
	(placeholder_list, find_placeholder): Deleted.
	(is_aligning_offset): Don't handle WITH_RECORD_EXPR, PLACEHOLDER_EXPR.
	(expand_expr_real, cases PLACEHOLDER_EXPR, WITH_RECORD_EXPR): Likewise.
	(highest_pow2_factor, case WITH_RECORD_EXPR): Remove.
	* dojump.c (do_jump, case WITH_RECORD_EXPR): Likewise.
	* dwarf2out.c (loc_descriptor_from_tree, case WITH_RECORD_EXPR):
	Likewise.
	* fold-const.c (invert_truthvalue, case WITH_RECORD_EXPR): Likewise.
	(extract_muldiv, case WITH_RECORD_EXPR): Likewise.
	* tree.c (expr_align, case WITH_RECORD_EXPR): Likewise.
	(contains_placeholder_p): Don't handle WITH_RECORD_EXPR.
	Clean up by using first_rtl_op.
	(substitute_in_expr): Use SUBSTITUTE_IN_EXPR for recursive call.
	(substitute_placeholder_in_expr): New function.
	* tree.def (WITH_RECORD_EXPR): Deleted.
	* tree.h (SUBSTITUTE_IN_EXPR, SUBSTITUTE_PLACEHOLDER_IN_EXPR): New.
	(substitute_placeholder_in_expr): New.

	* ada/decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
	* ada/trans.c (tree_transform, emit_index_check): Likewise.
	* ada/utils.c (build_template): Likewise.
	(max_size, convert): Remove handling of WITH_RECORD_EXPR.
	(maybe_unconstrained_array, unchecked_convert): Likewise.
	* ada/utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
	(build_unary_op): Likewise.
	(compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
	(fill_vms_descriptor): Likewise.
	(build_call_alloc_dealloc): Likewise.
	ALIGN is unsigned.
	* ada/gigi.h (build_call_alloc_dealloc): Alignment is unsigned.

From-SVN: r79789
2004-03-21 13:09:20 -05:00
Mark Mitchell
fc5fccdee9 re PR c++/14616 (disjoint_set_test.cpp from boost does not compile (sizeof))
PR c++/14616
	* decl.c (cp_finish_decl): Compute the size of arrays declared in
	templates, if their type is non-dependent.

	PR c++/14616
	* g++.dg/init/array13.C: New test.

From-SVN: r79788
2004-03-21 17:48:39 +00:00