Commit Graph

59747 Commits

Author SHA1 Message Date
George Helffrich 88a2ae206e xcoffout.h (DBX_FINISH_SYMBOL): Fix typo.
2004-07-06  George Helffrich <george@gly.bris.ac.uk>

        * xcoffout.h (DBX_FINISH_SYMBOL): Fix typo.

From-SVN: r84156
2004-07-06 11:37:55 -04:00
Arnaud Charlet 267a8fa960 Complete previous check-in.
From-SVN: r84154
2004-07-06 16:47:27 +02:00
Arnaud Charlet 15ce9ca22b [multiple changes]
2004-07-06  Vincent Celier  <celier@gnat.com>

	* vms_conv.ads: Minor reformatting.
	Alphabetical order for enumerated values of type Command_Type, to have
	the command in alphabetical order for the usage.

	* vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
	the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).

	* gnat_ugn.texi: Document new switch -dn for the GNAT driver.

	* makegpr.adb (Global_Archive_Exists): New global Boolean variable
	(Add_Archive_Path): Only add the global archive if there is one.
	(Build_Global_Archive): Set Global_Archive_Exists depending if there is
	or not any object file to put in the global archive, and don't build
	a global archive if there is none.
	(X_Switches): New table
	(Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
	in the X_Switches table, if any.
	(Initialize): Make sure the X_Switches table is empty
	(Scan_Arg): Record -X switches in table X_Switches

	* opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.

	* make.adb: Minor comment fix

	* gnatname.adb (Gnatname): When not on VMS, and gnatname has been
	invoked with directory information, add the directory in front of the
	path.

	* gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
	invoked with directory information, add the directory in front of the
	path.

	* gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
	when Keep_Temporary_Files is False.
	(GNATCmd): When not on VMS, and the GNAT driver has been invoked with
	directory information, add the directory in front of the path.
	When not on VMS, handle new switch -dn before the command to set
	Keep_Temporary_Files to True.
	(Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
	everywhere.

	* gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
	invoked with directory information, add the directory in front of the
	path.

2004-07-06  Thomas Quinot  <quinot@act-europe.fr>

	* snames.ads, snames.adb (Name_Stub): New name for the distributed
	systems annex.

	* rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
	New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.

	* g-socket.adb (To_Timeval): Fix incorrect conversion of
	Selector_Duration to Timeval for the case of 0.0.

	* exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
	documentation from Evolve_And_Then.

2004-07-06  Jose Ruiz  <ruiz@act-europe.fr>

	* s-taprop-tru64.adb, s-taprop-os2.adb,
	s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.

2004-07-06  Robert Dewar  <dewar@gnat.com>

	* s-osinte-hpux.ads, s-osinte-freebsd.ads,
	s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
	s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
	s-interr-sigaction.adb, s-taprop-irix-athread.adb,
	s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
	s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
	s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
	s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
	a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
	a-tags.ads, bindgen.ads, checks.adb, checks.adb,
	csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
	exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
	g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
	i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
	sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
	sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
	sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
	s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
	s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
	s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
	vms_data.ads: Minor reformatting,
	Fix bad box comment format.

	* gnat_rm.texi: Fix minor grammatical error

	* sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values

	* sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
	more cases of discriminated records to be recognized as not needing a
	secondary stack.
	(Has_Access_Values): New function.

	* snames.h, snames.adb, snames.ads: New attribute Has_Access_Values

	* cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
	Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
	with LRM terminology).
	Change terminology in comments primitive type => elementary type.

2004-07-06  Ed Schonberg  <schonberg@gnat.com>

	PR ada/15602
	* sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
	parameters do not impose any requirements on the presence of a body.

2004-07-06  Ed Schonberg  <schonberg@gnat.com>

	PR ada/15593
	* sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
	compilation unit and is in an open scope at the point of instantiation,
	assume that a body may be present later.

2004-07-06  Ed Schonberg  <schonberg@gnat.com>

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
	Improve error message when specified size is not supported.

	* sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
	is never a primitive operation.

From-SVN: r84152
2004-07-06 15:57:33 +02:00
Eric Botcazou ef5732117a sparc.c (get_pc_symbol): Rename into add_pc_to_pic_symbol.
* config/sparc/sparc.c (get_pc_symbol): Rename into
	add_pc_to_pic_symbol.
	(get_pc_symbol_name): Rename into add_pc_to_pic_symbol_name.
	(load_pic_register): Account for previous changes.
	Use reg_names.  Don't create the label twice.
	* config/sparc/sparc.md (UNSPEC_GET_PC): Rename into
	UNSPEC_LOAD_PCREL_SYM.
	(get_pc): Rename into load_pcrel_sym.  Add predicate to
	operands.  Remove condition.

From-SVN: r84151
2004-07-06 12:51:03 +00:00
Giovanni Bajo fddabb2c22 re PR c++/3671 (cannot deduce enum template parameter with multiple overloads)
PR c++/3671
	* pt.c (convert_nontype_argument): Disallow conversions between
	different enumeration types.

	PR c++/3671
	* g++.dg/template/spec14.C: New test.

From-SVN: r84150
2004-07-06 10:51:08 +00:00
Nathan Sidwell 2da8f02333 dbxout.c (dbxout_type): Don't test whether the binfo slot of RECORD, UNION & QUAL_UNION is actually a binfo.
* dbxout.c (dbxout_type): Don't test whether the binfo slot of
	RECORD, UNION & QUAL_UNION is actually a binfo.

From-SVN: r84149
2004-07-06 09:21:49 +00:00
Nathan Sidwell 809e3e7fec tree.h (TREE_VIA_VIRTUAL): Rename to ...
* tree.h (TREE_VIA_VIRTUAL): Rename to ...
	(BINFO_VIRTUAL_P): ... here. Require TREE_BINFO only.
	(BINFO_MARKED, BINFO_FLAG_[16]): New binfo flags.
	* dbxout.c (dbxout_type): Use BINFO_VIRTUAL_P.
	* dwarf2out.c (add_data_member_location_attribute): Likewise.
	(gen_inheritance_die): Likewise.
	* tree-dump.c (deque_and_dump): Likewise.
	* doc/c-tree.texi (Binfos): Add under reconstruction note.

	* cp/cp-tree.h (BINFO_MARKED): Remove.
	(BINFO_VTABLE_PATH_MARKED, BINFO_NEW_VTABLE_MARKED,
	BINFO_DEPENDENT_BASE_P, BINFO_LOST_PRIMARY_P,
	BINFO_INDIRECT_PRIMARY_P): Use appropriate BINFO_FLAG_n.
	(SET_BINFO_NEW_VTABLE_MARKED): Use BINFO_VIRTUAL_P.
	* cp/class.c (build_base_path): Use BINFO_VIRTUAL_P.
	(mark_primary_bases, determine_primary_base, base_derived_from,
	dfs_find_final_overrider, dfs_find_final_overrider_q,
	dfs_find_inal_overrider_post, update_vtable_entry_for_fn,
	dfs_modify_vtables, walk_subobject_offsets,
	layout_nonempty_base_or_field, build_base_field,
	build_base_fields, propagate_binfo_offsets, layout_virtual_bases,
	end_of_class, get_vfield_name, dump_class_hierarchy, dump_vtable,
	finish_vtbls, build_vtt_inits, dfs_build_secondary_vptr_vtt_inits,
	build_ctor_vtbl_group, accumulate_vtble_inits,
	dfs_accumulate_vtbls_inits, build_vbase_offset_vtbl_entries,
	build_vcall_offset_vtbl_entries, add_vcall_offset_vtbl_entries_r,
	add_vcall_offset_vtbl_entries_1): Likewise.
	* cp/decl.c (xref_basetypes): Incomming virtual base indicated by
	TREE_TYPE. Adjust.
	* cp/dump.c (cp_dump_tree): Use BINFO_VIRTUAL_P.
	* cp/init.c (finish_init_stmts, sort_mem_initializers,
	emit_mem_initializers, build_vtble_address, expand_member_init,
	push_base_cleanups): Likewise.
	* cp/method.c (do_build_copy_constructor): Likewise.
	* cp/pt.c (instantiate_class_template,
	get_template_base_recursive): Likewise.
	* cp/rtti.c (dfs_class_hint_mark, get_pseudo_ti_init,
	get_pseudo_ti_desc): Likewise.
	* cp/search.c (lookup_base_r, dynamic_cast_base_recurse,
	binfo_from_vbase, binfo_via_virtual, copied_binfo,
	original_binfo): Likewise.
	* cp/semantics.c (finish_base_specifier): Virtualness is indicated
	by TREE_TYPE.
	* cp/tree.c (copy_base_binfos): Use BINFO_VIRTUAL_P.

	* java/java-tree.h (CLASS_HAS_SUPER_FLAG): Use BINFO_FLAG_1.
	* java/class.c (add_interface_do): Use BINFO_VIRTUAL_P.

From-SVN: r84148
2004-07-06 08:51:32 +00:00
Mark Mitchell a95d27c83b revert: re PR tree-optimization/16115 (double-destruction problem with argument passing via temporary (breaks auto_ptr))
Revert:
	2004-06-24  Jason Merrill  <jason@redhat.com>
	PR c++/16115
	* decl.c (grokparms): Give the PARM_DECL reference type if the
	parameter is passed by invisible reference.

From-SVN: r84147
2004-07-06 07:16:32 +00:00
Steven Bosscher 4404cf7dd9 mcore.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
* config/mcore/mcore.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
	Define.
	* config/mcore/mcore.md: Model memory latency with a simple DFA
	pipeline description instead of a define_function_unit.

From-SVN: r84146
2004-07-06 07:12:32 +00:00
Anthony Green 23f99379d3 File.java (toURI): Merge from Classpath.
2004-07-05  Anthony Green  <green@redhat.com>
                                                                                                                                               * java/io/File.java (toURI): Merge from Classpath.

From-SVN: r84145
2004-07-06 02:52:54 +00:00
Richard Kenner 5377d5ba39 langhooks-def.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Extra arg.
* langhooks-def.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Extra arg.
	* langhooks.h (var_mod_type_p): Likewise.
	* c-decl.c (finish_decl): Add extra arg to variably_modified_type_p.
	* expr.c (count_type_elements): Properly handle return from
	array_type_nelts and properly test for overflow.
	* gimplify.c (gimplify_init_constructor): Properly handle return
	from array_type_nelts.
	(gimplify_addr_expr): Remove redundant clear of TREE_SIDE_EFFECTS.
	* integrate.c (copy_decl_for_inlining): Correct comments.
	* tree-inline.c (remap_decl): Update comments, remove dead code,
	and copy DECL_FIELD_OFFSET and DECL_QUALIFIER, if they exist.
	(remap_type): Only remap if variably modified by vars in function
	being inlined.
	(copy_body_r): Use compatible_type langhooks to see when can fold.
	(setup_one_parameter): Don't remap type.
	(inline_forbidden_p_1): Add arg to variably_modified_type_p.
	* tree.c (recompute_tree_invarant_for_addr_expr): Properly
	compute TREE_INVARIANT for decl case.
	(find_var_from_fn): New function.
	(variably_modified_type_p): Add arg and call new function.
	* tree.h (variably_modified_type_p): Add extra arg.

	* cp/cp-lang.c (cp_var_mod_type_p): Add extra arg.
	* cp/decl.c (grokdeclarator): Extra arg to variably_modified_type_p.
	* cp/pt.c (check_instantiated_args, unify): Likewise.

From-SVN: r84144
2004-07-05 22:20:16 -04:00
GCC Administrator aac1d259ac Daily bump.
From-SVN: r84142
2004-07-06 00:16:10 +00:00
Bryce McKinlay a1433c46a1 VMClassLoader.java (init): Check classpath entry before passing to URL constructor.
2004-07-05  Bryce McKinlay  <mckinlay@redhat.com>

	* gnu/gcj/runtime/VMClassLoader.java (init): Check classpath entry
	before passing to URL constructor. Rethrow any MalformedURLException
	as a RuntimeException. Catch MalformedURLException specifically, not
	all exceptions.

From-SVN: r84138
2004-07-06 00:18:14 +01:00
Bryce McKinlay a86f03720b Locale.java (readObject): Intern strings read from object stream.
2004-07-05  Bryce McKinlay  <mckinlay@redhat.com>

	* java/util/Locale.java (readObject): Intern strings read from
	object stream.

From-SVN: r84137
2004-07-05 23:33:24 +01:00
Phil Edwards dcbaa800c3 Make-lang.in (check-c++, [...]): Add some comments.
2004-07-05  Phil Edwards  <phil@codesourcery.com>

	* Make-lang.in (check-c++, lang_checks):  Add some comments.

From-SVN: r84136
2004-07-05 22:28:59 +00:00
Eric Botcazou 6109c659f9 sparc.md (nonlocal_goto): Remove disabled code.
* config/sparc/sparc.md (nonlocal_goto): Remove disabled code.
	(goto_handler_and_restore_v9): Delete disabled insn.
	(goto_handler_and_restore_v9_sp64): Likewise.

From-SVN: r84135
2004-07-05 22:06:09 +00:00
Roger Sayle 09b5267035 calls.c (load_register_parameters): Call expand_shift instead of expand_binop with ashl_optab (or other shift...
* calls.c (load_register_parameters): Call expand_shift instead
	of expand_binop with ashl_optab (or other shift optab) directly.
	* expr.c (emit_group_load, emit_group_store): Likewise.
	* function.c (assign_parm_setup_block): Likewise.
	* stmt.c (shift_return_value): Likewise.

From-SVN: r84134
2004-07-05 21:57:44 +00:00
Jakub Jelinek 7682ef833a expr.c (expand_assignment): Disable the bitfield += optimizations.
* expr.c (expand_assignment): Disable the bitfield += optimizations.

	* gcc.c-torture/execute/20040629-1.c (FIELDS1, FIELDS2): Define to
	nothing if not yet defined.  Use it in b, c and d type definitions.
	* gcc.c-torture/execute/20040705-1.c: New test.
	* gcc.c-torture/execute/20040705-2.c: New test.

From-SVN: r84133
2004-07-05 23:37:40 +02:00
Phil Edwards 7b61653a60 configure.in: Do not prepend $srcdir to /dev/null in makefile fragments.
2004-07-05  Phil Edwards  <phil@codesourcery.com>

	* configure.in:  Do not prepend $srcdir to /dev/null in
	makefile fragments.
	* configure:  Regenerate.

From-SVN: r84132
2004-07-05 21:07:13 +00:00
Joseph Myers f5829576f7 * doc/sourcebuild.texi: Revert previous patch.
From-SVN: r84131
2004-07-05 21:23:31 +01:00
Joseph Myers 8f99553ff6 c-decl.c, [...]: Don't check TARGET_MEM_FUNCTIONS.
* c-decl.c, config/m32r/m32r.c, expr.c, optabs.c: Don't check
	TARGET_MEM_FUNCTIONS.
	* system.h: Poison TARGET_MEM_FUNCTIONS.
	* libfuncs.h (LTI_bcopy, LTI_bcmp, LTI_bzero, bcopy_libfunc,
	bcmp_libfunc, bzero_libfunc): Remove.
	* optabs.c (init_obtabs): Don't set bcopy_libfunc, bcmp_libfunc or
	bzero_libfunc.
	* doc/tm.texi (TARGET_MEM_FUNCTIONS): Remove.
	* doc/standards.texi: Don't mention calling BSD string functions.
	* doc/invoke.texi: Likewise.  Mention that memmove may be called.
	* config/vax/t-memfuncs: New.
	* config/memcmp.c, config/memcpy.c, config/memmove.c,
	config/memset.c: New.
	* config/pdp11/t-pdp11 (LIB2FUNCS_EXTRA): Use these files.
	* config.gcc (vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*): Use
	vax/t-memfuncs.
	* config/alpha/alpha.h, config/arc/arc.h, config/arm/arm.h,
	config/avr/avr.h, config/c4x/c4x.h, config/cris/aout.h,
	config/elfos.h, config/gnu.h, config/h8300/h8300.h,
	config/i386/gas.h, config/ia64/ia64.h, config/interix.h,
	config/ip2k/ip2k.h, config/lynx-ng.h, config/m32r/m32r.h,
	config/mcore/mcore.h, config/mips/mips.h, config/mmix/mmix.h,
	config/netbsd.h, config/openbsd.h, config/pa/pa.h,
	config/rs6000/rs6000.h, config/rtems.h, config/s390/s390.h,
	config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
	config/svr3.h: Don't define TARGET_MEM_FUNCTIONS.

From-SVN: r84130
2004-07-05 20:49:20 +01:00
Matthias Klose bd4c825020 libtool-version: New.
2004-07-05  Matthias Klose  <doko@debian.org>

        * libtool-version: New.
        * Makefile.am (libmudflap_la_LDFLAGS, libmudflapth_la_LDFLAGS):
        Use -version-info for soname.
        * Makefile.in: Regenerate.
        * configure.ac: Remove libtool_VERSION macro
        * configure: Regenerate

From-SVN: r84129
2004-07-05 19:08:30 +00:00
Richard Henderson b6448565bd function.c (assign_parm_setup_reg): Properly rename variables in FUNCTION_ARG_CALLEE_COPIES section.
* function.c (assign_parm_setup_reg): Properly rename variables in
        FUNCTION_ARG_CALLEE_COPIES section.

From-SVN: r84128
2004-07-05 11:43:47 -07:00
Andreas Schwab cb42deba63 ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use RECORD_OR_UNION_CHECK.
* ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
	RECORD_OR_UNION_CHECK.
	(TYPE_CONTAINS_TEMPLATE_P): Likewise.

From-SVN: r84127
2004-07-05 18:36:47 +00:00
Zack Weinberg c31b8e1b17 tree-mudflap.c: Include cgraph.h.
gcc:
	* tree-mudflap.c: Include cgraph.h.
	(mf_init_extern_trees): Rename to mudflap_init.  Export.
	Rewrite to create synthetic declarations instead of looking
	up declarations from mf-runtime.h.
	(mf_make_builtin, mf_make_cache_struct_type): New functions.
	(mf_cache_shift_decl, mf_cache_mask_decl, mf_unregister_fndecl):
	Correct commentary.
	(execute_mudflap_function_decls, mudflap_register_call):
	Don't call mf_init_extern_trees.
	(mudflap_finish_file): Use cgraph_build_static_cdtor.

	* tree-mudflap.h: Update prototypes.
	* c-mudflap.c: Delete file.
	* c-common.c: Include tree-mudflap.h.
	(c_common_nodes_and_builtins): Call mudflap_init if appropriate.
	* Makefile.in: Remove all references to c-mudflap.o.
	Update dependencies.
gcc/cp:
	* cp-mudflap.c: Delete file.
	* Makefile.in: Remove all references to cp-mudflap.o.
libmudflap:
	* mf-runtime.h.in: Wrap declarations of struct __mf_cache,
	__mf_lookup_cache, __mf_lc_mask, or __mf_lc_shift in
	#ifndef _MUDFLAP.

From-SVN: r84126
2004-07-05 18:12:47 +00:00
John David Anglin 5dbf8812f1 pa.md (prefetch, [...]): Only allow short displacements with the spatial-locality cache-control completer.
* pa.md (prefetch, prefetch_32, prefetch_64): Only allow short
	displacements with the spatial-locality cache-control completer.

From-SVN: r84125
2004-07-05 17:49:20 +00:00
Kelley Cook bd4e926677 Makefile.am: Silence two automake warnings.
2004-07-05  Kelley Cook  <kcook@gcc.gnu.org>

	* Makefile.am: Silence two automake warnings.
	* Makefile.in: Regenerate.

From-SVN: r84124
2004-07-05 17:40:38 +00:00
Zack Weinberg 6de6668085 langhooks.c: Don't include gt-langhooks.h.
* langhooks.c: Don't include gt-langhooks.h.
	(var_labelno): Delete.
	(lhd_set_decl_assembler_name): Do not append a distinguishing
	number to file-scope internal-linkage declarations for the first
	input file, even if they have DECL_CONTEXT set.  Use DECL_UID of
	the declaration itself (if at block scope), or its containing
	TRANSLATION_UNIT_DECL (if at file scope) for the distinguishing
	number.

	* opts.c (cur_in_fname): New global.
	* opts.h: Declare it.
	* tree.c: Include opts.h.
	(make_node_stat): If creating a TRANSLATION_UNIT_DECL, give it
	DECL_UID equal to cur_in_fname.
	(copy_node_stat): Do not change DECL_UID when copying a
	TRANSLATION_UNIT_DECL.
	(build_common_tree_nodes): Adjust next_decl_uid to reserve the
	range 0 .. num_in_fnames-1 for TRANSLATION_UNIT_DECLs.

	* c-decl.c (c_static_assembler_name): Delete.
	* c-tree.h (c_static_assembler_name): Delete prototype.
	* c-lang.c, objc/objc-lang.c: Don't override
	LANG_HOOKS_SET_DECL_ASSEMBLER_NAME.

	* Makefile.in (tree.o): Update dependencies.
	(GTFILES): Remove langhooks.c.

cp:
	* decl.c (cxx_init_decl_processing): Call
	build_common_tree_nodes before creating the global NAMESPACE_DECL.

From-SVN: r84123
2004-07-05 17:28:37 +00:00
Roger Sayle ab0e8f666d fold-const.c (fold): Optimize unsigned modulus by a power of two into a bit-wise AND, i.e.
* fold-const.c (fold) <TRUNC_MOD_EXPR>: Optimize unsigned modulus
	by a power of two into a bit-wise AND, i.e. "X % C" as "X & (C-1)".
	Normalize "X % C" as "X % -C" for signed modulus and negative C.
	Optimize "X % -Y" as "X % Y" for signed modulus.
	<EQ_EXPR>: Recursively call "fold" when transforming "(X % Y) == 0"
	into "((unsigned) X % Y) == 0".

From-SVN: r84122
2004-07-05 16:44:17 +00:00
Richard Kenner 48eb4e53cd tree.h (DECL_SEEN_IN_BIND_EXPR_P): New macro.
* tree.h (DECL_SEEN_IN_BIND_EXPR_P): New macro.
	* gimplify.c (gimple_add_tmp_var, gimplify_bind_expr): Use it.
	(gimplify_target_expr, gimplify_expr): Likewise.
	(copy_if_shared_r): No longer need special case for BIND_EXPR.
	(unshare_body, unvisit_body): Only look at nested if BODY_P is
	whole function.
	(gimplify_compound_lval): See if we can strip any useless conversion.
	(gimplify_modify_expr, gimplify_modify_expr_to_memcpy): Take size
	from RHS, not LHS.
	(gimplify_modify_expr_to_memset): Likewise.
	(gimplify_expr, case CONSTRUCTOR): Handle use as statement.
	* tree-inline.c (setup_one_parameter): Use DECL_SEEN_IN_BIND_EXPR_P.
	(declare_inline_vars): Likewise.
	(walk_type_fields): New function.
	(walk_tree): Use it.
	* tree-nested.c (create_tmp_var_for): Show seen in BIND_EXPR.

From-SVN: r84121
2004-07-05 12:39:15 -04:00
Richard Kenner 402a3dec96 tree-sra.c (struct sra_walk_fns): Init function now returns bool.
* tree-sra.c (struct sra_walk_fns): Init function now returns bool.
	(sra_walk_modify_expr): Allow init function to fail.
	(scan_init): Now returns bool.
	(generate_element_init): If can't understand INIT, return false.
	(scalarize_init): Return false if generate_element_init does.

From-SVN: r84120
2004-07-05 12:14:51 -04:00
Giovanni Bajo 030bbecdbb re PR c++/2518 (user-declared operator new hides standard one)
PR c++/2518
	* call.c (build_operator_new_call): Look only at global scope.

	PR c++/2518
	* g++.dg/lookup/new1.C: New test.

From-SVN: r84119
2004-07-05 15:56:10 +00:00
Richard Kenner 2709efd88c tree-pretty-print.c (dump_generic_node, [...]): Properly print bounds.
* tree-pretty-print.c (dump_generic_node, case ARRAY_TYPE): Properly
	print bounds.

From-SVN: r84118
2004-07-05 11:16:10 -04:00
Richard Kenner ebd5a2087c expr.c (expand_expr_real_1, [...]): Don't check against bounds if bounds aren't constant.
* expr.c (expand_expr_real_1, case SWITCH_EXPR): Don't check against
	bounds if bounds aren't constant.

From-SVN: r84117
2004-07-05 11:09:06 -04:00
Richard Kenner 6f70e46e0d Fix typo
From-SVN: r84116
2004-07-05 11:05:08 -04:00
Joseph Myers 22e9e2018e sourcebuild.texi (Config Fragments): Use @comma{} in cross-reference to section title.
* sourcebuild.texi (Config Fragments): Use @comma{} in
	cross-reference to section title.

From-SVN: r84115
2004-07-05 15:47:22 +01:00
Richard Kenner 50b0418504 * tree-cfg.c (verify_expr): Use CHECK_OK in binary case.
From-SVN: r84114
2004-07-05 10:25:14 -04:00
Richard Kenner 8963a5172c function.c, [...]: Move max_size hook to type hooks; remove bogus PARAMS.
* function.c, langhooks-def.h, langhooks.h: Move max_size hook
	to type hooks; remove bogus PARAMS.

From-SVN: r84113
2004-07-05 10:22:28 -04:00
Jonathan Wakely 879dc459de 14340.cc: Fix typos in instantiation of set and multiset (functor param given as int).
2004-07-05  Jonathan Wakely  <redi@gcc.gnu.org>

	* testsuite/23_containers/{set,multiset}/14340.cc: Fix typos in
	instantiation of set and multiset (functor param given as int).

From-SVN: r84112
2004-07-05 11:59:42 +01:00
Volker Reichelt 7c6536faf7 re PR c++/11406 (sorry+ICE: `array_ref' not supported by dump_type)
PR c++/11406
	* g++.dg/template/sizeof8.C: New test.

From-SVN: r84111
2004-07-05 10:31:54 +00:00
Nathan Sidwell 95b4aca6a3 c-tree.h (TYPE_ACTUAL_ARG_TYPES): Use TYPE_LANG_SLOT_1.
* c-tree.h (TYPE_ACTUAL_ARG_TYPES): Use TYPE_LANG_SLOT_1.
	* dwarf2out.c (add_data_member_location_attribute): Check for
	TREE_BINFO.
	* tree.c (tree_node_kinds): Add "binfos".
	(binfo_lang_slots): New.
	(make_node_stat): Add TREE_BINFO.
	(make_tree_binfo_stat): New.
	(tree_node_structure): Add TREE_BINFO.
	* tree.def (TREE_BINFO): New.
	* tree.h (REC_OR_UNION_CHECK): Rename to ...
	(RECORD_OR_UNION_CHECK): ... here.
	(NOT_RECORD_OR_UNION_CHECK): New.
	(TRE_VIA_VIRTUAL): Allow TREE_LIST or TREE_BINFO.
	(TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD): Adjust for
	RECORD_OR_UNION_CHECK.
	(TYPE_BINFO): Use RECORD_OR_UNION_CHECK.
	(TYPE_LANG_SLOT_1): New.
	(BINFO_TYPE, BINFO_OFFSET, BINFO_VTABLE, BINFO_VIRTUALS,
	BINFO_BASETYPES, TYPE_BINFO_BASETYPES, BINFO_VPTR_FIELD,
	BINFO_BASEACCESSES, BINFO_INHERITANCE_CHAIN): Adjust.
	(BINFO_ELTS): Remove.
	(BINFO_LANG_SLOT): New.
	(struct tree_binfo): New.
	(binfo_lang_slots): Declare.
	(enum tree_node_structure_enum): Add TS_BINFO.
	(union tree_node): Add binfo.
	(make_tree_binfo_stat): Declare.
	(make_tree_binfo): New.
	(enum tree_node_kind): Add binfo_kind.

	* cp/call.c (enforce_access): Expect TREE_BINFO.
	* cp/class.c (binfo_ctor_vtable): Check TREE_BINFO.
	* cp/cp-tree.h (RECORD_OR_UNION_TYPE_CHECK): Remove.
	(BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX, BINFO_PRIMARY_BASE_OF):
	Adjust.
	(BINFO_LANG_ELTS): Remove.
	(BINFO_LANG_SLOTS): New.
	(TYPE_RAISES_EXCEPTIONS, ENUM_TEMPLATE_INFO): Use TYPE_LANG_SLOT_1.
	(CLASSTYPE_TEMPLATE_INFO): Adjust.
	* cp/pt.c (tsubst): Split TREE_BINFO case from TREE_VEC case.
	* cp/search.c (lookup_member): Check TREE_BINFO.
	* cp/semantics.c (perform_or_defer_access_check): Likewise.
	(check_accessibility_of_qualified_id): Check
	deferred_access_no_check.
	* cp/tree.c (make_binfo): Use make_tree_binfo.

	* java/class.c (make_class): Use make_tree_binfo.
	(set_super_info, add_interface_do): Likewise.
	* java/java-tree.h (CLASS_HAS_SUPER_FLAG): Expect a BINFO.

	* objc/objc-act.c (start_class, objc_declare_protocols,
	start_protocols): Use TYPE_LANG_SLOT_1.
	* objc/objc-act.h (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): Rename
	to ...
	(CLASS_LANG_SLOT_ELTS, PROTOCOL_LANG_SLOT_ELTS): ... here.
	(CLASS_IVARS, CLASS_RAW_IVARS, CLASS_STATIC_TEMPLATE,
	CLASS_CATEGORY_LIST, CLASS_PROTOCOL_LIST, CLASS_OWN_IVARS,
	PROTOCOL_LIST, PROTOCOL_FORWARD_DECL): Use TYPE_LANG_SLOT_1.

From-SVN: r84110
2004-07-05 09:35:44 +00:00
Steven Bosscher acf8677f4e rtl.h (struct rtx_def): Remove the integrated flag.
* rtl.h (struct rtx_def): Remove the integrated flag.
	Use the return_val flag for MEM_SCALAR_P.
	Reshuffle and update flags in CLEAR_RTX_FLAGS

From-SVN: r84109
2004-07-05 07:22:45 +00:00
Richard Sandiford e0ec4c3b6b re PR target/16357 (ICE copying 7 bytes between extern char[]s)
PR target/16357
	* config/mips/mips.c (mips_block_move_straight): Pass BLKmode memrefs
	to mips_expand_unaligned_load, mips_expand_unaligned_store, and
	move_by_pieces.

From-SVN: r84108
2004-07-05 06:37:10 +00:00
Josef Zlomek feb61729c9 var-tracking.c: Fix some comments.
* var-tracking.c: Fix some comments.
	(frame_stack_adjust): New.
	(vt_stack_adjustments): Init stack_adjust of entry block to
	minus stack adjustment of function prologue.
	(adjust_stack_reference): Do not adjust if adjustment == 0.
	(compute_bb_dataflow): Use plus_constant instead of gen_rtx_PLUS.
	(emit_notes_in_bb): Likewise.
	(vt_add_function_parameters): Do not adjust locations of
	function arguments.
	(vt_initialize): Compute the stack adjustment of function
	prologue and offset the initial "location" of frame_base_decl
	from the stack pointer after prologue.

From-SVN: r84106
2004-07-05 04:50:22 +00:00
Richard Henderson 6071dc7fe9 function.c (struct assign_parm_data_all): New.
* function.c (struct assign_parm_data_all): New.
        (struct assign_parm_data_one): New.
        (assign_parms_initialize_all, assign_parms_augmented_arg_list,
        assign_parm_find_data_types, assign_parms_setup_varargs,
        assign_parm_find_entry_rtl, assign_parm_is_stack_parm,
        assign_parm_find_stack_rtl, assign_parm_adjust_entry_rtl,
        assign_parm_adjust_stack_rtl, assign_parm_setup_block_p,
        assign_parm_setup_block, assign_parm_setup_reg,
        assign_parm_setup_stack, assign_parms_unsplit_complex): Split from ...
        (assign_parms): ... here.

From-SVN: r84105
2004-07-04 21:24:40 -07:00
Bud Davis bf1df0a046 re PR libfortran/15472 (implicit open for unformatted file causes run-time error)
2004-07-04  Bud Davis  <bdavis9659@comcast.net>
            Paul Brook  <paul@codesourcery.com>

        PR fortran/15472
        * io/transfer.c(us_write): set recl for seq unform writes to max size.
        * io/transfer.c(data_transfer_init): handle un-opened seq unform unit.
        * io/unix.c(fd_alloc_w_at): handle requests at start, fd_flush at
          right time.
        * io/unix.c(is_seekable): set based upon the file/device, not the
          method being used to access it (fd or mmap).
        * io/unix.c(fd_flush): don't set file_size if !seekable.
        * io/unix.c(fd_truncate: ditto.
        * gfortran.fortran-torture/execute/seq_io.f90: New test.

Co-Authored-By: Paul Brook <paul@codesourcery.com>

From-SVN: r84104
2004-07-05 01:19:08 +00:00
GCC Administrator 91a8b4596b Daily bump.
From-SVN: r84102
2004-07-05 00:16:11 +00:00
Daniel Berlin 6b416da11e tree-ssa-pre.c (bb_value_sets): phi_gen, tmp_gen, new_sets now are bitmap_set_t's.
2004-07-04  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-pre.c (bb_value_sets): phi_gen, tmp_gen, new_sets
	now are bitmap_set_t's.
	(bitmap_insert_into_set): No point in inserting the value if
	it's invariant.
	(bitmap_set_contains): New function.
	(bitmap_set_replace_value): Add comment on why we do it
	this way.
	(set_contains): Removed.
	(bitmap_set_subtract_from_value_set): New name of
	set_subtract now that it's arguments are two different
	types of sets.
	Update callers.
	(bitmap_find_leader): Change algorithm used.
	(find_or_generate_expression): Update use of functions for new
	bitmap sets.
	(create_expression_by_pieces): Ditto.
	(insert_aux): Ditto.
	(insert): Ditto.
	(add_to_sets): Ditto.
	(init_pre): Ditto.
	(execute_pre): Ditto.
	(compute_avail): Ditto.
	Also ignore virtual phis.

From-SVN: r84099
2004-07-04 22:51:36 +00:00
Richard Sandiford b8ff6ca062 * combine.c (simplify_comparison): Fix comment typo.
From-SVN: r84098
2004-07-04 22:22:50 +00:00
Eric Botcazou 6244b14e39 sparc.c (SIBCALL_SLOT_EMPTY_P): Rename into LEAF_SIBCALL_SLOT_RESERVED_P after negation.
* config/sparc/sparc.c (SIBCALL_SLOT_EMPTY_P): Rename
	into LEAF_SIBCALL_SLOT_RESERVED_P after negation.
	(eligible_for_sibcall_delay): Adjust use of SIBCALL_SLOT_EMPTY_P.
	(output_restore): Change parameter from 'insn' to 'pat'.
	(output_return): Adjust call to output_restore.
	(output_sibcall): Adjust use of SIBCALL_SLOT_EMPTY_P.
	Adjust call to output_restore.

From-SVN: r84097
2004-07-04 21:42:28 +00:00