gcc.git
20 years agoAndrew Vaught <andyv@firstinter.net>
Tobias Schlüter [Sat, 26 Jun 2004 12:01:43 +0000 (14:01 +0200)]
Andrew Vaught <andyv@firstinter.net>

2004-06-26  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
Andrew Vaught  <andyv@firstinter.net>

* decl.c (contained_procedure): New function.
(match_end): Verify correctness of END STATEMENT in
all cases.

Also fix two typos in Kenner's ChangeLog

From-SVN: r83710

20 years agore PR libfortran/16196 (gfortran fails to create file with OPEN(...,status='REPLACE'))
Bud Davis [Sat, 26 Jun 2004 11:49:06 +0000 (11:49 +0000)]
re PR libfortran/16196 (gfortran fails to create file with OPEN(...,status='REPLACE'))

2004-06-26  Bud Davis  <bdavis9659@comcast.net>

        PR gfortran/16196
        * unix.c(regular_file): create file if it does not exist.
        * gfortran.fortran-torture/execute/open_replace.f90: New test case.

From-SVN: r83709

20 years agoAndrew Vaught <andyv@firstinter.net>
Tobias Schlüter [Sat, 26 Jun 2004 11:48:55 +0000 (13:48 +0200)]
Andrew Vaught <andyv@firstinter.net>

2004-06-25  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
Andrew Vaught <andyv@firstinter.net>

PR fortran/15190
* decl.c (gfc_match_type_spec), io.c (match_io), parse.c
(decode_statement): Enforce required space in free-form.

Co-Authored-By: Andrew Vaught <andyv@firstinter.net>
From-SVN: r83708

20 years agore PR c++/14865 (No instantiation of VTT at -O1)
Jan Hubicka [Sat, 26 Jun 2004 10:23:05 +0000 (12:23 +0200)]
re PR c++/14865 (No instantiation of VTT at -O1)

PR C++/14865
* decl2.c (maybe_emit_vtables):  Always import_export_vtable for the
reachability analysis.

From-SVN: r83707

20 years agoemit-rtl.c (set_mem_attributes_minus_bitpos): Check TREE_THIS_NOTRAP when setting...
Andrew Haley [Sat, 26 Jun 2004 10:10:25 +0000 (10:10 +0000)]
emit-rtl.c (set_mem_attributes_minus_bitpos): Check TREE_THIS_NOTRAP when setting MEM_NOTRAP_P.

2004-06-26  Andrew Haley  <aph@redhat.com>

* emit-rtl.c (set_mem_attributes_minus_bitpos): Check
TREE_THIS_NOTRAP when setting MEM_NOTRAP_P.
* tree-eh.c (tree_could_trap_p): Check TREE_THIS_NOTRAP.
* tree.h (TREE_THIS_NOTRAP): New.

From-SVN: r83706

20 years agore PR libstdc++/16210 ([3.4 only] gratuitously omits "long long" I/O)
Paolo Carlini [Sat, 26 Jun 2004 08:42:38 +0000 (08:42 +0000)]
re PR libstdc++/16210 ([3.4 only] gratuitously omits "long long" I/O)

2004-06-26  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/16210
* acinclude.m4 (GLIBCXX_ENABLE_LONG_LONG): Do not check for the
availability of strto(u)ll, not used anymore in the iostreams.
* configure: Regenerate.

From-SVN: r83705

20 years agogenattrtab.c (write_test_expr): Put a unsigned cast before the first operand for...
Kaz Kojima [Sat, 26 Jun 2004 05:25:38 +0000 (05:25 +0000)]
genattrtab.c (write_test_expr): Put a unsigned cast before the first operand for GEU, GTU, LEU and LTU.

* genattrtab.c (write_test_expr): Put a unsigned cast before
the first operand for GEU, GTU, LEU and LTU.

From-SVN: r83704

20 years agoc-typeck.c, [...]: Fix comment typos.
Kazu Hirata [Sat, 26 Jun 2004 05:03:55 +0000 (05:03 +0000)]
c-typeck.c, [...]: Fix comment typos.

* c-typeck.c, cfgexpand.c, ddg.c, ddg.h, df.c, fold-const.c,
gcov.c, gimplify.c, modulo-sched.c, passes.c, tree-cfg.c,
tree-mudflap.c, tree-nrv.c, tree-outof-ssa.c, tree-ssa-dom.c,
tree-ssa-dse.c, tree-ssa-operands.c, tree-ssa-pre.c,
tree-tailcall.c: Fix comment typos.  Follow spelling
conventions.

From-SVN: r83703

20 years agomips.md: Add back scheduling exclusion info.
Eric Christopher [Sat, 26 Jun 2004 03:51:29 +0000 (03:51 +0000)]
mips.md: Add back scheduling exclusion info.

2004-06-25  Eric Christopher  <echristo@redhat.com>

* config/mips/mips.md: Add back scheduling exclusion info.

From-SVN: r83699

20 years ago2004-06-26 Andreas Tobler <a.tobler@schweiz.ch>
Andreas Tobler [Sat, 26 Jun 2004 03:44:38 +0000 (05:44 +0200)]
2004-06-26  Andreas Tobler  <a.tobler@schweiz.ch>

* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
(init_dpi_conversion_factor): Check for int_dpi < 0 in case gtk-xft-dpi
can not calculate the right value.
(dpi_changed_cb): Likewise. Mark *pspec as unused.

From-SVN: r83698

20 years agoifcvt.c (seq_contains_jump): Delete function.
Roger Sayle [Sat, 26 Jun 2004 01:43:57 +0000 (01:43 +0000)]
ifcvt.c (seq_contains_jump): Delete function.

* ifcvt.c (seq_contains_jump): Delete function.
(end_ifcvt_sequence): Replace call to seq_contains_jump with an
inline test for a jump instruction in the existing "insn" loop.
(block_fallthru): Document function.

From-SVN: r83697

20 years agoDaily bump.
GCC Administrator [Sat, 26 Jun 2004 00:17:34 +0000 (00:17 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r83695.2

20 years agoDaily bump.
GCC Administrator [Sat, 26 Jun 2004 00:16:59 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r83694.2

20 years agore PR other/15194 (Fastjar configure needlessly fails without long long)
Kelley Cook [Fri, 25 Jun 2004 23:06:47 +0000 (23:06 +0000)]
re PR other/15194 (Fastjar configure needlessly fails without long long)

2004-06-25  Kelley Cook  <kcook@gcc.gnu.org>

PR other/15194
* configure.ac: Add check for long long.
* jartool.h: Check for long long before using it.
* configure: Regenerate
* config.h.in: Regenerate.

From-SVN: r83690

20 years agore PR tree-optimization/15089 (local register variable with a specified register...
Philip Blundell [Fri, 25 Jun 2004 21:48:38 +0000 (21:48 +0000)]
re PR tree-optimization/15089 (local register variable with a specified register is bad)

PR wrong-code/15089
* loop.c (scan_loop): Do not move user-specified register
assignments.

From-SVN: r83684

20 years agoc-common.h (warn_cast_qual, [...]): Remove explicit declarations.
DJ Delorie [Fri, 25 Jun 2004 21:24:21 +0000 (17:24 -0400)]
c-common.h (warn_cast_qual, [...]): Remove explicit declarations.

* c-common.h (warn_cast_qual, warn_missing_format_attribute,
warn_pointer_arith, warn_missing_prototypes, warn_parentheses,
warn_missing_braces, warn_sign_compare, warn_long_long,
warn_redundant_decls, warn_float_equal, warn_char_subscripts,
warn_conversion, warn_format_y2k, warn_format_extra_args,
warn_format_zero_length, warn_format_nonliteral,
warn_format_security, mesg_implicit_function_declaration,
warn_bad_function_cast, warn_traditional,
warn_declaration_after_statement, warn_strict_prototypes,
warn_missing_declarations, warn_nested_externs,
warn_sequence_point, warn_init_self, warn_div_by_zero,
warn_implicit_int, warn_nonnull, warn_old_style_definition,
warn_selector, warn_undeclared_selector, warn_protocol,
warn_abi, warn_invalid_offsetof, warn_ctor_dtor_privacy,
warn_overloaded_virtual, warn_nonvdtor, warn_reorder,
warn_synth, warn_pmf2ptr, warn_ecpp, warn_sign_promo,
warn_old_style_cast, warn_nontemplate_friend,
warn_deprecated): Remove explicit declarations.
* c-common.c: Likewise, remove explicit definitions.
* c-opts.c: Likewise, remove explicit assignments.
* c.opts: Likewise, add implicit declare/define/assign.

From-SVN: r83680

20 years agogimplify.c (lookup_tmp_var): Set TREE_READONLY in is_formal case.
Richard Kenner [Fri, 25 Jun 2004 20:47:45 +0000 (20:47 +0000)]
gimplify.c (lookup_tmp_var): Set TREE_READONLY in is_formal case.

* gimplify.c (lookup_tmp_var): Set TREE_READONLY in is_formal case.
(build_addr_expr_with_type): Deleted.
(build_addr_expr): Deleted; callers changed to build_fold_addr_expr.
(gimplify_compound_lval): Make two passes over reference nest.

From-SVN: r83678

20 years agotree-nested.c (build_addr): Merge real/imagpart with handled_component_p.
Richard Kenner [Fri, 25 Jun 2004 20:33:09 +0000 (20:33 +0000)]
tree-nested.c (build_addr): Merge real/imagpart with handled_component_p.

* tree-nested.c (build_addr): Merge real/imagpart with
handled_component_p.
(convert_nonlocal_reference, convert_local_reference): Process extra
args to COMPONENT_REF and ARRAY_REF.
* tree-outof-ssa.c (discover_nonconstant_array_refs_r): Check for
lower bound and field offset being constant.

From-SVN: r83677

20 years agocp-mudflap.c (mflang_flush_calls): Fix thinkos resulting from 2004-06-23 change.
Mark Mitchell [Fri, 25 Jun 2004 19:44:49 +0000 (19:44 +0000)]
cp-mudflap.c (mflang_flush_calls): Fix thinkos resulting from 2004-06-23 change.

* cp-mudflap.c (mflang_flush_calls): Fix thinkos resulting from
2004-06-23 change.

From-SVN: r83675

20 years agore PR c++/16129 (g++.old-deja/g++.eh/catch[35679]*.C)
Mark Mitchell [Fri, 25 Jun 2004 19:17:49 +0000 (19:17 +0000)]
re PR c++/16129 (g++.old-deja/g++.eh/catch[35679]*.C)

PR wrong-code/16129
* alias.c (get_alias_set): Adjust setting of
DECL_POINTER_ALIAS_SET for pointers to aggregates.

From-SVN: r83674

20 years agotree-inline.c (remap_type): Arrange to have just one pointer type for each type,...
Richard Kenner [Fri, 25 Jun 2004 19:12:02 +0000 (19:12 +0000)]
tree-inline.c (remap_type): Arrange to have just one pointer type for each type, mode, and 'can alias' value.

* tree-inline.c (remap_type): Arrange to have just one pointer type
for each type, mode, and 'can alias' value.
(setup_one_parameter): Remap type when making VAR_DECL for PARM_DECL.
(estimate_num_insns_1): Minor code reformatting.
(inline_forbidden_p_1): Likewise; add; missing return statement.

From-SVN: r83672

20 years agore PR middle-end/15825 (if-cvt optimisation patch noce_try_sign_mask breaks apple...
Roger Sayle [Fri, 25 Jun 2004 18:40:07 +0000 (18:40 +0000)]
re PR middle-end/15825 (if-cvt optimisation patch noce_try_sign_mask breaks apple-ppc-darwin port)

PR middle-end/15825
* ifcvt.c (unshare_ifcvt_sequence): Rename to end_ifcvt_sequence.
Use get_isns and end_sequence instead of accepting a seq argument.
Scan the instruction sequence for unrecognizable or jump insns.
(noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
noce_try_sign_mask): Use end_ifcvt_sequence to factor common code.

* gcc.dg/pr15825-1.c: New test case.

From-SVN: r83671

20 years agogimplify.c (gimplify_compound_lval): Reset TREE_SIDE_EFFECTS after gimplifying the...
Jeff Law [Fri, 25 Jun 2004 18:31:56 +0000 (12:31 -0600)]
gimplify.c (gimplify_compound_lval): Reset TREE_SIDE_EFFECTS after gimplifying the innermost component.

        * gimplify.c (gimplify_compound_lval): Reset TREE_SIDE_EFFECTS
        after gimplifying the innermost component.

In

From-SVN: r83670

20 years agotree-dfa.c (get_virtual_var): Merge real/imaginary parts with handled_component_p...
Richard Kenner [Fri, 25 Jun 2004 18:30:09 +0000 (18:30 +0000)]
tree-dfa.c (get_virtual_var): Merge real/imaginary parts with handled_component_p handling.

* tree-dfa.c (get_virtual_var): Merge real/imaginary parts with
handled_component_p handling.
* tree-gimple.c (get_base_address): Likewise and fix typo that
caused both recursion and looping.

From-SVN: r83669

20 years agore PR target/16176 (Miscompilation of unaligned data in MIPS backend (SB1 flavor))
Richard Sandiford [Fri, 25 Jun 2004 18:24:51 +0000 (18:24 +0000)]
re PR target/16176 (Miscompilation of unaligned data in MIPS backend (SB1 flavor))

PR target/16176
* config/mips/mips.c (mips_expand_unaligned_load): Use a temporary
register for the destination of the lwl or ldl.

From-SVN: r83668

20 years agotree-cfg.c (verify_expr): Add macro CHECK_OK.
Richard Kenner [Fri, 25 Jun 2004 18:17:53 +0000 (18:17 +0000)]
tree-cfg.c (verify_expr): Add macro CHECK_OK.

* tree-cfg.c (verify_expr): Add macro CHECK_OK.
Properly test for nest of handled_components in LHS context.

From-SVN: r83666

20 years agore PR libstdc++/16182 (wctype.h not included by c++locale_internal.h)
Benjamin Kosnik [Fri, 25 Jun 2004 17:45:42 +0000 (17:45 +0000)]
re PR libstdc++/16182 (wctype.h not included by c++locale_internal.h)

2004-06-25  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/16182
* linkage.m4 (GLIBCXX_CHECK_BUILTIN_MATH_DEC): Revert to
AC_DEFINE_UNQUOTED.
* configure: Regenerate.

From-SVN: r83664

20 years ago* doc/tree-ssa.texi: Document info about MODIFY_EXPR's type
Devang Patel [Fri, 25 Jun 2004 17:36:50 +0000 (10:36 -0700)]
* doc/tree-ssa.texi: Document info about MODIFY_EXPR's type

From-SVN: r83662

20 years ago* quick build fix
Frank Ch. Eigler [Fri, 25 Jun 2004 17:17:51 +0000 (17:17 +0000)]
* quick build fix

2004-06-25  Frank Ch. Eigler  <fche@redhat.com>

* ansidecl.h, libiberty.h: New dummy files for building splay-tree.
* config.h.in: Regenerated.

From-SVN: r83661

20 years agotarget-def.h (TARGET_CXX_GUARD_TYPE, [...]): Define.
Paul Brook [Fri, 25 Jun 2004 17:15:46 +0000 (17:15 +0000)]
target-def.h (TARGET_CXX_GUARD_TYPE, [...]): Define.

gcc/
* target-def.h (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT,
TARGET_CXX): Define.
(TARGET_INITIALIZER): Use TARGET_CXX.
* target.h (struct gcc_target): Add struct cxx.
* targhooks.h (default_cxx_guard_type): Add prototype.
* targhooks.c (default_cxx_guard_type): New function.
* config/arm/arm.c (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT):
Define.
(arm_cxx_guard_type, arm_cxx_guard_mask_bit): New functions.
* doc/tm.texi: Document TARGET_CXX_GUARD_TYPE and
TARGET_CXX_GUARD_MASK_BIT.
gcc/cp/
* decl2.c (get_guard): Call targetm.cxx.guard_type.
(get_guard_bits, get_guard_cond): Call targetm.cxx.guard_mask_bit.
libstdc++/
* libsupc++/cxxabi.h: Define __ARM_EABI__
(__guard): Use it.
* libsupc++/guard.h (__cxa_guard_acquire, __cxa_guard_release): Ditto.

From-SVN: r83660

20 years agorevert: [multiple changes]
Arnaud Charlet [Fri, 25 Jun 2004 16:39:33 +0000 (18:39 +0200)]
revert: [multiple changes]

2004-06-25  Pascal Obry  <obry@gnat.com>

* makegpr.adb (Build_Library): Remove parameter Lib_Address and
Relocatable from Build_Dynamic_Library call.

* gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
Relocatable are now synonym.

* Makefile.in: Use s-parame-mingw.adb on MingW platform.

* mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
call.

* mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
Lib_Address and Relocatable.
(Default_DLL_Address): Removed.

* mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
(Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
(Default_DLL_Address): Removed.

* mlib-tgt-mingw.adb: Ditto.
(Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.

* s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
the initial thread stack size.

* a-strmap.ads: Move package L to private part as it is not used in
the spec. Found while reading code.

2004-06-25  Olivier Hainque  <hainque@act-europe.fr>

* tracebak.c: Introduce support for a GCC infrastructure based
implementation of __gnat_backtrace.

* raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
any more. Use accessors instead. This eases maintenance and relaxes
some alignment constraints.
(_GNAT_Exception structure): Remove the Ada specific fields
(EID_For, Adjust_N_Cleanups_For): New accessors, exported by
a-exexpr.adb.
(is_handled_by, __gnat_eh_personality): Replace component references to
exception structure by use of the new accessors.

* init.c (__gnat_initialize): Adjust comments to match the just
reverted meaning of the -static link-time option.

* adaint.c (convert_addresses): Arrange not to define a stub for
mips-irix any more, as we now want to rely on a real version from a
recent libaddr2line.

* a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
the personality routine can use them and not have to rely on a C
counterpart of the record anymore. This simplifies maintenance and
relaxes the constraint of having Standard'Maximum_Alignment match
BIGGEST_ALIGNMENT.
Update comments, and add a section on the common header alignment issue.

2004-06-25  Geert Bosch  <bosch@gnat.com>

* a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.

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

* gnat_rm.texi: Fix section on component clauses to indicate that the
restriction on byte boundary placement still applies for bit packed
arrays.
Add comment on stack usage from Initialize_Scalars

* gnat_ugn.texi: Add documentation for -gnatyLnnn

* stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
limiting nesting level.

* usage.adb: Add line for -gnatyLnnn switch

* g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
sem_ch13.adb, exp_aggr.adb: Minor reformatting

* sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
type as well as on the subtype. This corrects a problem in freeze in
setting alignments of atomic types.

* sem_eval.ads: Minor comment typo fixed

* par-util.adb (Push_Scope_Stack): Check for violation of max nesting
level.  Minor reformatting.

* fname.adb (Is_Predefined_File_Name): Require a letter after the
minus sign. This means that file names like a--b.adb will not be
considered predefined.

* freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
record Test new flag and give diagnostic for bad component clause.
(Freeze_Entity): Set alignment of array from component alignment in
cases where this is safe to do.

* exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
arrays.

* cstand.adb: (Create_Standard): Set alignment of String to 1

* einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary

* exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
code in the common constrained array cases.

* a-storio.adb: Change implementation to avoid possible alignment
problems on machines requiring strict alignment (data should be moved
as type Buffer, not type Elmt).

* checks.adb (Apply_Array_Size_Check): Improve these checks by
killing the overflow checks which we really do not need (64-bits is
enough).

2004-06-25  Vincent Celier  <celier@gnat.com>

* makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
(Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
inconditionally for the main project.
(Recursive_Add_Archives.Add_Archive_Path): New procedure
(Link_Executables.Check_Time_Stamps): New procedure
(Link_Executables.Link_Foreign): New procedure
Changes made to reduce nesting level of this package
(Check): New procedure
(Add_Switches): When not in quiet output, check that a switch is not
the concatenation of several valid switches. If it is, issue a warning.
(Build_Global_Archive): If the global archive is rebuilt, linking need
to be done.
(Compile_Sources): Rebuilding a library archive does not imply
rebuilding the global archive.
(Build_Global_Archive): New procedure
(Build_Library): New name for Build_Archive, now only for library
project
(Check_Archive_Builder): New procedure
(Create_Global_Archive_Dependency_File): New procedure
(Gprmake): Call Build_Global_Archive before linking
* makegpr.adb: Use Other_Sources_Present instead of Sources_Present
throughout.
(Scan_Arg): Display the Copyright notice when -v is used

* gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
for gnatls.

* vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
COMPILE.
Add new GNAT LIST qualifier /FILES=
Added qualifier /DIRECTORY= to GNAT METRIC
Added qualifier /FILES= to GNAT METRIC
Added qualifier /FILES to GNAT PRETTY

* switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
to take into account both versions of the switch.

* switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
always be the last switch to the gcc driver. Disable switch storing so
that switches automatically added by the gcc driver are not put in the
ALI file.

* prj.adb (Project_Empty): Take into account changes in components of
Project_Data.

* prj.ads (Languages_Processed): New enumaration value All_Languages.

* prj.ads (Project_Data): Remove component Lib_Elaboration: never
used. Split Boolean component Ada_Sources_Present in two Boolean
components Ada_Sources_Present and Other_Sources_Present.
Minor reformatting

* prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
instead of Sources_Present.
(Set_Ada_Paths.Add.Recursive_Add): Ditto

* prj-nmsc.adb: Minor reformatting
(Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
(Check_Ada_Naming_Scheme_Validity): New name of previous procedure
Check_Ada_Naming_Scheme.
Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
throughout.

* prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
In_Limited.
Make sure that all cycles where there is at least one "limited with"
are detected.
(Parse_Single_Project): New Boolean parameter In_Limited

* prj-proc.adb (Recursive_Check): When Process_Languages is
All_Languages, call first Prj.Nmsc.Ada_Check, then
Prj.Nmsc.Other_Languages_Check.

* prj-proc.adb (Process): Use Ada_Sources_Present or
Other_Sources_Present (instead of Sources_Present) depending on
Process_Languages.

* lang-specs.h: Keep -g and -m switches in the same order, and as the
last switches.

* lib.adb (Switch_Storing_Enabled): New global Boolean flag
(Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
False.
(Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
False.

* lib.ads (Disable_Switch_Storing): New procedure.

* make.adb: Modifications to reduce nesting level of this package.
(Check_Standard_Library): New procedure
(Gnatmake.Check_Mains): New procedure
(Gnatmake.Create_Binder_Mapping_File): New procedure
(Compile_Sources.Compile): Add switch -gnatez as the last option
(Display): Never display -gnatez

* Makefile.generic:
When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)

* gnatcmd.adb (Check_Project): New function
(Process_Link): New procedure to reduce nesting depth
(Check_Files): New procedure to reduce the nesting depth.
For GNAT METRIC, include the inherited sources in extending projects.
(GNATCmd): When GNAT LS is invoked with a project file and no files,
add the list of files from the sources of the project file. If this list
is too long, put it in a temp text files and use switch -files=
(Delete_Temp_Config_Files): Delete the temp text file that contains
a list of source for gnatpp or gnatmetric, if one has been created.
(GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
in the project file is too large, create a temporary text file that
list them and pass it to the tool with "-files=<temp text file>".
(GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch

* gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
generated file is in not in Ada.

* gnatls.adb: Remove all parameters And_Save that are no longer used.
(Scan_Ls_Arg): Add processing for -files=
(Usage): Add line for -files=

* g-os_lib.adb (On_Windows): New global constant Boolean flag
(Normalize_Pathname): When on Windows and the path starts with a
directory separator, make sure that the resulting path will start with
a drive letter.

* clean.adb (Clean_Archive): New procedure
(Clean_Project): When there is non-Ada code, delete the global archive,
the archive dependency files, the object files and their dependency
files, if they exist.
(Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.

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

* sinfo.ads: Fix typo in comment.

* sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
the TSS for remote access-to-subprogram types, since these TSS are
always present once the type has been analyzed.
(RAS_E_Dereference): Same.

* sem_attr.adb (Analyze_Attribute): When analysis of an attribute
reference raises Bad_Attribute, mark the reference as analyzed so the
node (and any children resulting from rewrites that could have occurred
during the analysis that ultimately failed) is not analyzed again.

* exp_ch7.ads (Find_Final_List): Fix misaligned comment.

* exp_dist.adb: Minor comment fix.

* exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
type is an anonymous access type, no unchecked deallocation of the
allocated object can occur. If the object is controlled, attach it with
a count of 1. This allows attachment to the Global_Final_List, if
no other relevant list is available.
(Get_Allocator_Final_List): For an anonymous access type that is
the type of a discriminant or record component, the corresponding
finalisation list is the one of the scope of the type.

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

* sem_ch3.adb (Replace_Type): When computing the signature of an
inherited subprogram, use the first subtype if the derived type
declaration has no constraint.

* exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
before applying previous optimization. Minor code cleanup.

* exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
placed at the beginning of an unpacked record without explicit
alignment, a slice of it will be aligned and does not need a copy when
used as an actual.

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

PR ada/15591
PR ada/15592
* sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
reference is written with expressions mimicking parameters.

2004-06-25  Hristian Kirtchev  <kirtchev@gnat.com>

PR ada/15589
* sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
STEP 2a. The constraints of a full type declaration of a derived record
type are checked for conformance with those declared in the
corresponding private extension declaration. The message
"not conformant with previous declaration" is emitted if an error is
detected.

2004-06-25  Vasiliy Fofanov  <fofanov@act-europe.fr>

* g-traceb.ads: Document the need for -E binder switch in the spec.

* g-trasym.ads: Document the need for -E binder switch in the spec.

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

* sem_prag.adb: Add handling of pragma Detect_Blocking.

* snames.h, snames.ads, snames.adb: Add entry for pragma
Detect_Blocking.

* s-rident.ads: Change reference to pragma Detect_Blocking.

* targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
system.ads.

* opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
to indicate whether pragma Detect_Blocking is active.

* par-prag.adb: Add entry for pragma Detect_Blocking.

* rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
of not handling WITH.
Note that this replaces the previous update which was incorrect.

2004-06-25  Javier Miranda  <miranda@gnat.com>

* sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
use-clauses to have a clean environment.

* sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
the installation of the use-clauses to stablish a clean environment in
case of compilation of a separate unit; otherwise the call to
use_one_package is protected by the barrier Applicable_Use.

* sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
the installation of the use-clauses to stablish a clean environment in
case of compilation of a separate unit.
(End_Use_Clauses): Minor comment cleanup.

2004-06-25  Sergey Rybin  <rybin@act-europe.fr>

* gnat_ugn.texi: Add description of the gnatpp 'files' switch

From-SVN: r83658

20 years agoconcurrence.h: Still create mutex object when single-threaded.
Paul Brook [Fri, 25 Jun 2004 16:36:13 +0000 (16:36 +0000)]
concurrence.h: Still create mutex object when single-threaded.

* include/bits/concurrence.h: Still create mutex object when
single-threaded.

From-SVN: r83657

20 years agodarwin.h (CC1_SPEC): Handle -gused and -gfull.
Devang Patel [Fri, 25 Jun 2004 15:41:38 +0000 (08:41 -0700)]
darwin.h (CC1_SPEC): Handle -gused and -gfull.

        * config/rs6000/darwin.h (CC1_SPEC): Handle -gused and -gfull.
        * config/i386/darwin.h (CC1_SPEC): Same.

From-SVN: r83655

20 years ago* gfortran.fortran-torture/execute/der_init_3.f90: Fix syntax error.
Tobias Schlüter [Fri, 25 Jun 2004 15:30:57 +0000 (17:30 +0200)]
* gfortran.fortran-torture/execute/der_init_3.f90: Fix syntax error.

From-SVN: r83654

20 years ago* dbxout.h: Add include guards
Mark G. Adams [Fri, 25 Jun 2004 15:01:35 +0000 (15:01 +0000)]
* dbxout.h: Add include guards

From-SVN: r83653

20 years agostl_algobase.h (fill, fill_n): Revert last change...
Paolo Carlini [Fri, 25 Jun 2004 14:17:58 +0000 (14:17 +0000)]
stl_algobase.h (fill, fill_n): Revert last change...

2004-06-25  Paolo Carlini  <pcarlini@suse.de>

* include/bits/stl_algobase.h (fill, fill_n): Revert last
change: actually we need to copy construct an object of type
_Tp, not of type iterator_traits<>::value_type, therefore the
code is ok.

From-SVN: r83652

20 years ago* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_EABI__.
Paul Brook [Fri, 25 Jun 2004 13:48:51 +0000 (13:48 +0000)]
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_EABI__.

From-SVN: r83651

20 years agostl_algobase.h (fill, fill_n): Tighten the dispatch: use iterator_traits<>::value_typ...
Paolo Carlini [Fri, 25 Jun 2004 10:51:45 +0000 (10:51 +0000)]
stl_algobase.h (fill, fill_n): Tighten the dispatch: use iterator_traits<>::value_type, not _Tp.

2004-06-25  Paolo Carlini  <pcarlini@suse.de>

* include/bits/stl_algobase.h (fill, fill_n): Tighten the
dispatch: use iterator_traits<>::value_type, not _Tp.

From-SVN: r83648

20 years agoarm.c (arm_arch4t): New variable.
Richard Earnshaw [Fri, 25 Jun 2004 10:42:21 +0000 (10:42 +0000)]
arm.c (arm_arch4t): New variable.

* arm.c (arm_arch4t): New variable.
(arm_override_options): Initialize it.  If compiling for armv5 or
higher clear TARGET_INTERWORK.
(output_call): Abort if called for armv5.  Use BX if it's available.
(output_call_mem): Use BLX if available and ensure that all armv5
code is interworking safe.
(output_return_instruction): Always use BX in preference to MOV if
it's available.
(arm_output_epilogue): Likewise.
(arm_final_prescan_insn): Never conditionally call a subroutine
on armv5.
* arm.h (arm_arch4t): Declare.
* arm.md (call_reg_armv5, call_value_reg_armv5): New.
(call_reg_arm, call_value_reg_arm): Renamed from call_reg and
call_value_reg respectively.
(call_reg_thumb_v5, call_value_reg_thumb_v5): New.
(call_reg_thumb, call_value_reg_thumb): Renamed from call_indirect
and call_value_indirect respectively.

From-SVN: r83647

20 years ago1.cc: Tweak instantiations.
Paolo Carlini [Fri, 25 Jun 2004 09:37:21 +0000 (09:37 +0000)]
1.cc: Tweak instantiations.

2004-06-25  Paolo Carlini  <pcarlini@suse.de>

* testsuite/25_algorithms/fill/1.cc: Tweak instantiations.
* testsuite/25_algorithms/fill/2.cc: Likewise.

From-SVN: r83646

20 years ago[multiple changes]
Paolo Carlini [Fri, 25 Jun 2004 09:25:57 +0000 (09:25 +0000)]
[multiple changes]

2004-06-25  Dan Nicolaescu  <dann@ics.uci.edu>
    Paolo Carlini  <pcarlini@suse.de>

* include/bits/stl_algobase.h (__fill, __fill_n): New helpers
for fill and fill_n, respectively: when copying is cheap, use a
temporary to avoid a memory read in each iteration.

2004-06-25  Paolo Carlini  <pcarlini@suse.de>

* testsuite/25_algorithms/fill/1.cc: New.
* testsuite/25_algorithms/fill/2.cc: Likewise.

From-SVN: r83645

20 years agoformatter.h (__gnu_debug::_Error_formatter): Remove copy constructor and assignment...
Benjamin Kosnik [Fri, 25 Jun 2004 07:01:42 +0000 (07:01 +0000)]
formatter.h (__gnu_debug::_Error_formatter): Remove copy constructor and assignment operator.

2004-06-25  Benjamin Kosnik  <bkoz@redhat.com>

* include/debug/formatter.h (__gnu_debug::_Error_formatter):
Remove copy constructor and assignment operator.

From-SVN: r83641

20 years agomips.c (reg_or_const_float_1_operand): Reimplement in terms of const_float_1_operand.
Richard Sandiford [Fri, 25 Jun 2004 06:59:03 +0000 (06:59 +0000)]
mips.c (reg_or_const_float_1_operand): Reimplement in terms of const_float_1_operand.

* config/mips/mips.c (reg_or_const_float_1_operand): Reimplement
in terms of const_float_1_operand.

From-SVN: r83640

20 years agore PR target/16144 (Bogus reference to __divdf3 when -O1)
Richard Sandiford [Fri, 25 Jun 2004 06:57:14 +0000 (06:57 +0000)]
re PR target/16144 (Bogus reference to __divdf3 when -O1)

PR target/16144
* config/mips/mips.md (divsf, divdf): Don't FAIL if the first operand
is 1.0; force it into a register instead.

From-SVN: r83639

20 years agoconcurrence.h (__gnu_cxx::lock): New.
Benjamin Kosnik [Fri, 25 Jun 2004 06:10:44 +0000 (06:10 +0000)]
concurrence.h (__gnu_cxx::lock): New.

2004-06-24  Benjamin Kosnik  <bkoz@redhat.com>

* include/bits/concurrence.h (__gnu_cxx::lock): New.
* include/ext/pool_allocator.h (__pool_base::_Lock::_S_lock): Remove.
(__pool_base::_M_get_mutex): New.
* include/bits/allocator.h: Tweak.
* src/allocator.cc (__pool_base::_M_get_free_list): Correct offset.
* config/linker-map.gnu: Remove __pool_base::_Lock::_S_lock.
* include/bits/stl_threads.h: Remove.
* include/Makefile.am: Also here.
* include/Makefile.in: Regenerate.

* src/locale_init.cc: Use __gnu_cxx::lock.

* src/allocator.cc: Move all instantiations...
* src/allocator-inst.cc: ...here.

From-SVN: r83638

20 years agom68k.h: Restore valid comment removed by mistake with the recent m68k comments cleanup.
Bernardo Innocenti [Fri, 25 Jun 2004 05:05:16 +0000 (07:05 +0200)]
m68k.h: Restore valid comment removed by mistake with the recent m68k comments cleanup.

* config/m68k/m68k.h: Restore valid comment removed by mistake with
the recent m68k comments cleanup.

From-SVN: r83637

20 years agodecl.c (grokdeclarator): Restore error messages about __thread.
Mark Mitchell [Fri, 25 Jun 2004 04:48:53 +0000 (04:48 +0000)]
decl.c (grokdeclarator): Restore error messages about __thread.

* decl.c (grokdeclarator): Restore error messages about __thread.
* parser.c (cp_parser_decl_specifier_seq): Likewise.

From-SVN: r83636

20 years agoencoding.h: Wrap the functions with extern "C" for C++ mode.
Andrew Pinski [Fri, 25 Jun 2004 04:31:51 +0000 (04:31 +0000)]
encoding.h: Wrap the functions with extern "C" for C++ mode.

2004-06-24  Andrew Pinski  <apinski@apple.com>

        * objc/encoding.h: Wrap the functions with extern "C" for C++
        mode.
        * objc/hash.h: Likewise.
        * objc/objc-api.h: Likewise.
        * objc/objc-list.h: Likewise.
        * objc/runtime.h: Likewise.
        * objc/sarray.h: Likewise.
        * objc/thr.h: Likewise.
        * objc/typedstream.h: Likewise.

From-SVN: r83635

20 years agoc-gimplify.c (gimplify_for_stmt): Use gimplify_and_add.
Richard Kenner [Fri, 25 Jun 2004 03:46:30 +0000 (03:46 +0000)]
c-gimplify.c (gimplify_for_stmt): Use gimplify_and_add.

* c-gimplify.c (gimplify_for_stmt): Use gimplify_and_add.
* gimplify.c (internal_get_tmp_var, gimplify_return_expr): Likewise.
(gimplify_loop_expr, gimplify_init_constructor): Likewise.
(gimplify_self_mod_expr, gimplify_cond_expr): Likewise.

From-SVN: r83634

20 years agogimplify.c (voidify_wrapper_expr): Allow TARGET_EXPR.
Richard Kenner [Fri, 25 Jun 2004 03:41:41 +0000 (03:41 +0000)]
gimplify.c (voidify_wrapper_expr): Allow TARGET_EXPR.

PR/16131
* gimplify.c (voidify_wrapper_expr): Allow TARGET_EXPR.

From-SVN: r83633

20 years agoUpdate whitespace and comments
Richard Kenner [Fri, 25 Jun 2004 02:00:16 +0000 (22:00 -0400)]
Update whitespace and comments

From-SVN: r83632

20 years ago* gimplify.c: Remove unneeded forward declarations.
Richard Kenner [Fri, 25 Jun 2004 01:37:56 +0000 (01:37 +0000)]
* gimplify.c: Remove unneeded forward declarations.

From-SVN: r83630

20 years agogimplify.c (append_to_compound_expr): Deleted.
Richard Kenner [Fri, 25 Jun 2004 01:33:42 +0000 (01:33 +0000)]
gimplify.c (append_to_compound_expr): Deleted.

* gimplify.c (append_to_compound_expr): Deleted.
* tree-gimple.h (append_to_compound_expr): Deleted.

From-SVN: r83629

20 years agofold-const.c (fold_addr_expr_with_type): Look through all valid LHS modifiers to...
Richard Kenner [Fri, 25 Jun 2004 01:28:34 +0000 (01:28 +0000)]
fold-const.c (fold_addr_expr_with_type): Look through all valid LHS modifiers to find a base to mark addressable.

* fold-const.c (fold_addr_expr_with_type): Look through all
valid LHS modifiers to find a base to mark addressable.

From-SVN: r83628

20 years agotree.h (debug_find_tree): Add declaration.
Richard Kenner [Fri, 25 Jun 2004 01:22:04 +0000 (01:22 +0000)]
tree.h (debug_find_tree): Add declaration.

* tree.h (debug_find_tree): Add declaration.
* tree-inline.c (debug_find_tree): Remove extern declaration.

From-SVN: r83627

20 years agors6000.md: Apply change mistakenly deleted with 2004-06-22 patch.
Eric Christopher [Fri, 25 Jun 2004 00:59:35 +0000 (00:59 +0000)]
rs6000.md: Apply change mistakenly deleted with 2004-06-22 patch.

2004-06-24  Eric Christopher  <echristo@redhat.com>

* config/rs6000/rs6000.md: Apply change mistakenly
deleted with 2004-06-22 patch.

From-SVN: r83625

20 years agoDaily bump.
GCC Administrator [Fri, 25 Jun 2004 00:16:19 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r83623.2

20 years agoDaily bump.
GCC Administrator [Fri, 25 Jun 2004 00:16:14 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r83622.2

20 years agoc-decl.c (c_in_iteration_stmt, [...]): Remove.
Richard Henderson [Thu, 24 Jun 2004 23:12:30 +0000 (16:12 -0700)]
c-decl.c (c_in_iteration_stmt, [...]): Remove.

* c-decl.c (c_in_iteration_stmt, c_in_case_stmt): Remove.
(c_break_label, c_cont_label): New.
(start_function): Update initializations.
(c_push_function_context): Update saves.
(c_pop_function_context): Update restores.
* c-parse.in: Update expected conflicts.
(stmt_count, compstmt_count): Remove.  Remove all updates.
(if_prefix, simple_if, do_stmt_start): Remove.
(lineno_labeled_stmt): Remove.
(lineno_labels): New.
(c99_block_lineno_labeled_stmt): Use it.
(lineno_stmt, lineno_label): Don't clear EXPR_LOCUS before calling
annotate_with_locus.
(select_or_iter_stmt): Replace by ...
(condition, if_statement_1, if_statement_2, if_statement,
start_break, start_continue, while_statement, do_statement,
for_cond_expr, for_incr_expr, for_statement, switch_statement): New.
(stmt): Split out ...
(stmt_nocomp): ... this.  Use c_finish_bc_stmt, c_finish_goto_label,
c_finish_goto_ptr.
* c-semantics.c (add_stmt): Don't add line numbers to labels.
* c-tree.h: Update prototypes.
(struct language_function): Remove x_in_iteration_stmt, x_in_case_stmt;
add x_break_label, x_cont_label, x_switch_stack.
(c_switch_stack): Declare.
* c-typeck.c (c_finish_goto_label, c_finish_goto_ptr): New.
(c_finish_return): Return the statement.
(c_switch_stack): Rename from switch_stack; export.
(if_elt, if_stack, if_stack_space, if_stack_pointer): Remove.
(c_begin_if_stmt, c_finish_if_cond, c_finish_then, c_begin_else,
c_finish_else): Remove.
(c_finish_if_stmt): Rewrite to perform the entire operation.
(c_begin_while_stmt, c_finish_while_stmt_cond, c_finish_while_stmt,
c_begin_for_stmt, c_finish_for_stmt_init, c_finish_for_stmt_cond,
c_finish_for_stmt_incr, c_finish_for_stmt): Remove.
(c_finish_loop): New.
(c_finish_bc_stmt): New.
(c_finish_expr_stmt): Return the statement.  Split out...
(c_process_expr_stmt): ... this.  Don't add locus to error marks.
* gimplify.c (gimplify_cond_expr): Accept NULL type statements.
* tree-gimple.c (is_gimple_stmt): Likewise.
* tree-pretty-print.c (dump_generic_node <COND_EXPR>): Likewise.
(print_struct_decl): Delete empty compound statement.
* objc/objc-act.c (objc_build_throw_stmt): Return the statement.
* objc/objc-act.h: Update decl.

From-SVN: r83620

20 years agotree-pretty-print.c (dump_generic_node, [...]): Don't look at TYPE_METHODS unless...
Richard Kenner [Thu, 24 Jun 2004 22:54:21 +0000 (22:54 +0000)]
tree-pretty-print.c (dump_generic_node, [...]): Don't look at TYPE_METHODS unless RECORD_TYPE or UNION_TYPE.

* tree-pretty-print.c (dump_generic_node, case TYPE_DECL):
Don't look at TYPE_METHODS unless RECORD_TYPE or UNION_TYPE.

From-SVN: r83619

20 years agoobjc-act.c (build_objc_method_call): Save the lookup_object so we do not call it...
Andrew Pinski [Thu, 24 Jun 2004 22:52:42 +0000 (22:52 +0000)]
objc-act.c (build_objc_method_call): Save the lookup_object so we do not call it twice.

2004-06-24  Andrew Pinski  <apinski@apple.com>

        * objc-act.c (build_objc_method_call): Save the lookup_object
        so we do not call it twice.

From-SVN: r83618

20 years agoMinor comment and whitespace changes
Richard Kenner [Thu, 24 Jun 2004 22:47:42 +0000 (18:47 -0400)]
Minor comment and whitespace changes

From-SVN: r83617

20 years agotree-ssa-dom.c (real_avail_expr_hash): New.
Richard Henderson [Thu, 24 Jun 2004 22:46:56 +0000 (15:46 -0700)]
tree-ssa-dom.c (real_avail_expr_hash): New.

        * tree-ssa-dom.c (real_avail_expr_hash): New.
        (tree_ssa_dominator_optimize): Use it in the htab.

From-SVN: r83616

20 years agoMinor updating of comments.
Richard Kenner [Thu, 24 Jun 2004 22:45:57 +0000 (18:45 -0400)]
Minor updating of comments.

From-SVN: r83615

20 years agoMinor whitespace changes
Richard Kenner [Thu, 24 Jun 2004 22:42:26 +0000 (18:42 -0400)]
Minor whitespace changes

From-SVN: r83613

20 years agotree-mudflap.c (mx_register_decls): Add third (type) argument to synthesized __mf_unr...
Frank Ch. Eigler [Thu, 24 Jun 2004 21:12:49 +0000 (21:12 +0000)]
tree-mudflap.c (mx_register_decls): Add third (type) argument to synthesized __mf_unregister call.

2004-06-24  Frank Ch. Eigler  <fche@redhat.com>

* tree-mudflap.c (mx_register_decls): Add third (type) argument
to synthesized __mf_unregister call.

From-SVN: r83612

20 years agoAdopt splay trees for object database.
Frank Ch. Eigler [Thu, 24 Jun 2004 21:12:18 +0000 (21:12 +0000)]
Adopt splay trees for object database.

2004-06-24  Frank Ch. Eigler  <fche@redhat.com>

Adopt splay trees for object database.
* Makefile.am: Copy splay-tree.* from libiberty.
* Makefile.in, testsuite/Makefile.in: Regenerated.
* mf-runtime.h.in (__mf_unregister): Add third parameter (type).
* mf-hooks[123].c (*): Add new third parameter to mf_unregister.
* mf-impl.h (BEGIN_PROTECT): Remove some trace text.
* mf-runtime.c: Rewrite code dealing with object database to use
libiberty splay trees.  Remove tree liveness aging option.
* testsuite/libmudflap.c/fail18-frag.c: Add volatile flag.

From-SVN: r83611

20 years agore PR middle-end/15239 (suboptimal mult-by-const expansion cost limit)
Roger Sayle [Thu, 24 Jun 2004 20:38:59 +0000 (20:38 +0000)]
re PR middle-end/15239 (suboptimal mult-by-const expansion cost limit)

PR middle-end/15239
* expmed.c (expand_mult): Remove artificial restriction on the
maximum cost of a synthetic multiplication sequence.

From-SVN: r83610

20 years agore PR tree-optimization/16115 (double-destruction problem with argument passing via...
Jason Merrill [Thu, 24 Jun 2004 20:07:23 +0000 (16:07 -0400)]
re PR tree-optimization/16115 (double-destruction problem with argument passing via temporary (breaks auto_ptr))

        PR c++/16115
        * decl.c (grokparms): Give the PARM_DECL reference type if the
        parameter is passed by invisible reference.

From-SVN: r83609

20 years agocombine.c (distribute_notes): Don't delete sets to global register variables.
Eric Christopher [Thu, 24 Jun 2004 19:15:43 +0000 (19:15 +0000)]
combine.c (distribute_notes): Don't delete sets to global register variables.

2004-06-24  Eric Christopher  <echristo@redhat.com>

* combine.c (distribute_notes): Don't delete sets to
global register variables.

From-SVN: r83606

20 years agoi386.md (ffsdi2, clzdi2): New expanders.
Jakub Jelinek [Thu, 24 Jun 2004 17:54:13 +0000 (19:54 +0200)]
i386.md (ffsdi2, clzdi2): New expanders.

* config/i386/i386.md (ffsdi2, clzdi2): New expanders.
(ffs_rex64): New splitter.
(ffsdi_1, ctzdi2, bsr_rex64): New instructions.

From-SVN: r83604

20 years agodarwin7.h (MATH_LIBRARY): Remove.
Andrew Pinski [Thu, 24 Jun 2004 17:53:07 +0000 (17:53 +0000)]
darwin7.h (MATH_LIBRARY): Remove.

gcc/ChangeLog:
        * config/darwin7.h (MATH_LIBRARY): Remove.
        (LIB_SPEC): Define.
        * config/darwin.h (MATH_LIBRARY): Define always to empty.
        (LIB_SPEC): Only define if not already defined.

libstdc++/ChangeLog:
* linkage.m4: Remove check for libmx.
* configure: Regenerate.

libgfortran/ChangeLog:
* configure.ac: Remove check for libmx.
* configure: Regenerate.

From-SVN: r83603

20 years agojacks.xfail: Remove 15.9.1-qualified-concrete-20.
Bryce McKinlay [Thu, 24 Jun 2004 17:41:18 +0000 (17:41 +0000)]
jacks.xfail: Remove 15.9.1-qualified-concrete-20.

* testsuite/libjava.jacks/jacks.xfail: Remove
15.9.1-qualified-concrete-20.

From-SVN: r83602

20 years agoloop-iv.c (iv_analyze, [...]): Support for identifying shifts of induction variable.
Revital Eres [Thu, 24 Jun 2004 16:50:35 +0000 (16:50 +0000)]
loop-iv.c (iv_analyze, [...]): Support for identifying shifts of induction variable.

2004-06-24  Revital Eres  <eres@il.ibm.com>

* loop-iv.c (iv_analyze, simple_set_p): Support for identifying
shifts of induction variable.
(iv_shift): New function.

From-SVN: r83599

20 years ago* gimplify.c (gimplify_body): Watch for body vanishing.
Richard Henderson [Thu, 24 Jun 2004 16:25:17 +0000 (09:25 -0700)]
* gimplify.c (gimplify_body): Watch for body vanishing.

From-SVN: r83598

20 years agotree-ssa-dom.c (record_dominating_conditions): New function.
Jeff Law [Thu, 24 Jun 2004 15:59:52 +0000 (09:59 -0600)]
tree-ssa-dom.c (record_dominating_conditions): New function.

* tree-ssa-dom.c (record_dominating_conditions): New function.
(dom_opt_finalize_block, get_eq_expr_value): Use it.

* gcc.dg/tree-ssa/20040624-1.c: New test.

From-SVN: r83597

20 years agoparse.y (set_nested_class_simple_name_value): Removed.
Bryce McKinlay [Thu, 24 Jun 2004 15:56:54 +0000 (15:56 +0000)]
parse.y (set_nested_class_simple_name_value): Removed.

* parse.y (set_nested_class_simple_name_value): Removed.
(java_complete_expand_class): Remove calls to
set_nested_class_simple_name_value.

From-SVN: r83596

20 years agocalls.c (shift_returned_value): Fix handling of non-integer TYPE_MODEs.
Richard Sandiford [Thu, 24 Jun 2004 15:30:07 +0000 (15:30 +0000)]
calls.c (shift_returned_value): Fix handling of non-integer TYPE_MODEs.

* calls.c (shift_returned_value): Fix handling of non-integer
TYPE_MODEs.

From-SVN: r83595

20 years agoreformat, remove '^M's
Nathan Sidwell [Thu, 24 Jun 2004 15:05:35 +0000 (15:05 +0000)]
reformat, remove '^M's

From-SVN: r83594

20 years agoAdd a blank.
Richard Kenner [Thu, 24 Jun 2004 13:47:49 +0000 (09:47 -0400)]
Add a blank.

From-SVN: r83593

20 years agoc-decl.c (finish_function): Do not check for DEFAULT_MAIN_RETURN.
Ulrich Weigand [Thu, 24 Jun 2004 12:09:44 +0000 (12:09 +0000)]
c-decl.c (finish_function): Do not check for DEFAULT_MAIN_RETURN.

* c-decl.c (finish_function): Do not check for DEFAULT_MAIN_RETURN.
* system.h (DEFAULT_MAIN_RETURN): Poison.
* doc/tm.texi (DEFAULT_MAIN_RETURN): Remove documentation.

From-SVN: r83592

20 years ago* doc/cfg.texi (Edges): Fix typo.
Ben Elliston [Thu, 24 Jun 2004 11:43:34 +0000 (21:43 +1000)]
* doc/cfg.texi (Edges): Fix typo.

From-SVN: r83591

20 years ago* config/arm/arm.c (arm_output_epilogue): Remove excess checks.
Paul Brook [Thu, 24 Jun 2004 11:01:56 +0000 (11:01 +0000)]
* config/arm/arm.c (arm_output_epilogue): Remove excess checks.

From-SVN: r83589

20 years agotree-ssa.exp: Remove.
Giovanni Bajo [Thu, 24 Jun 2004 09:47:31 +0000 (09:47 +0000)]
tree-ssa.exp: Remove.

* g++.dg/tree-ssa/tree-ssa.exp: Remove. dg.exp already handles
this directory.

From-SVN: r83588

20 years ago* cp-tree.h (enum cp_storage_class): Remove trailing comma.
Andreas Schwab [Thu, 24 Jun 2004 09:34:23 +0000 (09:34 +0000)]
* cp-tree.h (enum cp_storage_class): Remove trailing comma.

From-SVN: r83587

20 years agore PR middle-end/15988 (ICE in fold_convert with pointer-to-member-function)
Andrew Pinski [Thu, 24 Jun 2004 06:51:56 +0000 (06:51 +0000)]
re PR middle-end/15988 (ICE in fold_convert with pointer-to-member-function)

2004-06-23  Andrew Pinski  <apinski@apple.com>

        PR middle-end/15988
        * fold-const.c (fold_convert): Types which are compatible
        can be converted with only a NOP_EXPR.

2004-06-23  Andrew Pinski  <apinski@apple.com>

        PR middle-end/15988
        * g++.dg/opt/ptrmem4.C: New test.

From-SVN: r83585

20 years agoMake-lang.in (cp/lex.o): Do not depend on cp/lex.h.
Mark Mitchell [Thu, 24 Jun 2004 06:48:44 +0000 (06:48 +0000)]
Make-lang.in (cp/lex.o): Do not depend on cp/lex.h.

* Make-lang.in (cp/lex.o): Do not depend on cp/lex.h.
(cp/decl.o): Likewise.
(cp/decl2.o): Likewise.
(cp/pt.o): Likewise.
(cp/semantics.o): Likewise.
* config-lang.in (gtfiles): Do not reference cp/lex.h.
* class.c: Do not include lex.h.
(add_implicitly_declared_members): Do not use
adding_implicit_members.
(check_bases_and_members): Do not talk about grok_x_components.
* cp/cp-tree.h (adding_implicit_members): Remove.
(cp_storage_class): New type.
(cp_decl_spec): Likewise.
(cp_decl_specifier_seq): Likewise.
(cp_parameter_declarator): Use it for the decl_specifiers field.
(check_tag_decl): Adjust prototype.
(shadow_tag): Likewise.
(groktypename): Likewise.
(start_decl): Likewise.
(start_function): Likewise.
(start_method): Likewise.
(grok_x_components): Remove.
(grokfield): Adjust prototype.
(grokbitfield): Likewise.
(finish_member_class_template): Remove.
* decl.c: Do not include lex.h.
(adding_implicit_members): Do not define.
(check_tag_decl): Do not use trees to represent decl-specifiers.
(shadow_tag): Likewise.
(groktypename): Likewise.
(start_decl): Likewise.
(grokvardecl): Likewise.
(grokdeclarator): Likewise.
(grokparms): Likewise.
(start_function): Likewise.
(start_method): Likewise.
* decl.h (grokdeclarator): Adjust prototype.
* decl2.c: Do not include lex.h.
(grok_x_components): Remove.
(grokfield): Do not use trees to represent decl-specifiers.
(grokbitfield): Likewise.
* lex.c: Do not include lex.h.
* lex.h: Remove.
* parser.c: Include target.h.
(clear_decl_specs): New function.
(cp_parser_translation_unit): Do not use trees to represent
decl-specifiers.
(cp_parser_postfix_expression): Likewise.
(cp_parser_new_type_id): Likewise.
(cp_parser_condition): Likewise.
(cp_parser_simple_declaration): Likewise.
(cp_parser_decl_specifier_seq): Likewise.
(cp_parser_function_specifier_opt): Likewise.
(cp_parser_conversion_type_id): Likewise.
(cp_parser_template_parameter): Likewise.
(cp_parser_explicit_instantiation): Likewise.
(cp_parser_type_specifier): Likewise.
(cp_parser_simple_type_specifier): Likewise.
(cp_parser_init_declarator): Likewise.
(cp_parser_type_id): Likewise.
(cp_parser_type_specifier_seq): Likewise.
(cp_parser_parameter_declaration): Likewise.
(cp_parser_member_declaration): Likewise.
(cp_parser_exception_declaration): Likewise.
(cp_parser_function_definition_from_specifiers_and_declarator):
Likewise.
(cp_parser_single_declaration): Likewise.
(cp_parser_save_member_function_body): Likewise.
(cp_parser_friend_p): Likewise.
(cp_parser_set_storage_class): New function.
(cp_parser_set_decl_spec_type): Likewise.
* pt.c: Do not include lex.h.
* semantics.c: Likewise.
(finish_member_class_template): Remove.

From-SVN: r83584

20 years agocalls.c (expand_call): Call INIT_CUMULATIVE_ARGS earlier, and pass raw n_named_args...
Alan Modra [Thu, 24 Jun 2004 06:10:35 +0000 (06:10 +0000)]
calls.c (expand_call): Call INIT_CUMULATIVE_ARGS earlier, and pass raw n_named_args to it.

* calls.c (expand_call): Call INIT_CUMULATIVE_ARGS earlier, and
pass raw n_named_args to it.
* targhooks.c: Formatting.
(hook_bool_CUMULATIVE_ARGS_false): Correct comment.

From-SVN: r83583

20 years agoc-gimplify.c (gimplify_decl_stmt): Push gimplify_one_sizepos inside non-constant...
Richard Henderson [Thu, 24 Jun 2004 05:35:16 +0000 (22:35 -0700)]
c-gimplify.c (gimplify_decl_stmt): Push gimplify_one_sizepos inside non-constant size check.

* c-gimplify.c (gimplify_decl_stmt): Push gimplify_one_sizepos inside
non-constant size check.  Gimplify the type too.  Tidy building
BUILT_IN_STACK_ALLOC call

From-SVN: r83582

20 years agoc-common.c (expand_unordered_cmp): Delete.
Roger Sayle [Thu, 24 Jun 2004 05:26:07 +0000 (05:26 +0000)]
c-common.c (expand_unordered_cmp): Delete.

* c-common.c (expand_unordered_cmp): Delete.
(expand_tree_builtin): Delete.
* c-common.h (expand_tree_builtin): Delete function prototype.
* c-typeck.c (build_function_call): Don't call expand_tree_builtin.

* call.c (build_cxx_call): Don't call expand_tree_builtin.  No
longer take both "args" and "convert_args" as arguments.
(build_op_delete_call): Update call to build_cxx_call.
(build_over_call): Likewise, update call to build_cxx_call.
* cp-tree.h (build_cxx_call): Update funtion prototype.
* typeck.c (build_function_call): Don't call expand_tree_builtin.
* rtti.c (throw_bad_cast): Update call to build_cxx_call.
(throw_bad_typeid): Likewise.
(build_dynamic_cast_1): Likewise.

From-SVN: r83579

20 years agogimplify.c (gimplify_compound_lval): Don't set ARRAY_REF or COMPONENT_REF variable...
Richard Henderson [Thu, 24 Jun 2004 05:21:27 +0000 (22:21 -0700)]
gimplify.c (gimplify_compound_lval): Don't set ARRAY_REF or COMPONENT_REF variable fields unless they're non-constant.

        * gimplify.c (gimplify_compound_lval): Don't set ARRAY_REF or
        COMPONENT_REF variable fields unless they're non-constant.

From-SVN: r83578

20 years agoPatch from Robert Millan.
Robert Millan [Thu, 24 Jun 2004 02:56:23 +0000 (02:56 +0000)]
Patch from Robert Millan.

* config.gcc: Merge kfreebsd*-gnu with linux* and add knetbsd*-gnu.
* config/i386/linux.h: Allow overriding of LINK_EMULATION,
  DYNAMIC_LINKER and register names in sc_ structure.
* config/kfreebsd-gnu.h: New. kfreebsd-gnu followup for linux.h.
* config/i386/kfreebsd-gnu.h: New. Ditto for i386-kfreebsd-gnu.
* config/knetbsd-gnu.h: New. Ditto for knetbsd-gnu.
* config/i386/knetbsd-gnu.h: New. Ditto for i386-knetbsd-gnu.
* config/kfreebsdgnu.h: Remove.
* config/t-kfreebsd-gnu: Likewise.
* config/i386/kfreebsdgnu.h: Likewise.

From-SVN: r83577

20 years agofold-const.c (make_range): Cleanup type checking through function.
Eric Christopher [Thu, 24 Jun 2004 02:00:25 +0000 (02:00 +0000)]
fold-const.c (make_range): Cleanup type checking through function.

2004-06-23  Eric Christopher  <echristo@redhat.com>

* fold-const.c (make_range): Cleanup type checking through function.
Remove orig_type. Replace with checks to exp_type and arg0_type.
Clarify comment when converting from unsigned to signed.

From-SVN: r83576

20 years agomips.c (mips_use_dfa_pipeline_interface): Add R3000.
Eric Christopher [Thu, 24 Jun 2004 01:51:30 +0000 (01:51 +0000)]
mips.c (mips_use_dfa_pipeline_interface): Add R3000.

2004-06-23  Eric Christopher  <echristo@redhat.com>

* config/mips/mips.c (mips_use_dfa_pipeline_interface): Add R3000.
* config/mips/mips.md: Remove R3000 scheduling description.
* config/mips/3000.md: New file.

From-SVN: r83575

20 years agos390-protos.h (s390_emit_compare): Add prototype.
Ulrich Weigand [Thu, 24 Jun 2004 00:49:07 +0000 (00:49 +0000)]
s390-protos.h (s390_emit_compare): Add prototype.

* config/s390/s390-protos.h (s390_emit_compare): Add prototype.
(s390_emit_jump): Likewise.
* config/s390/s390.c (s390_emit_compare): New function.
(s390_emit_jump): Likewise.
* config/s390/s390.md ("beq", "bne", "bgt", "bgtu", "blt", "bltu",
"bge", "bgeu", "ble", "bleu", "bunordered", "bordered", "buneq",
"bungt", "bunlt", "bunge", "bunle", "bltgt"): Use s390_emit_compare
and s390_emit_jump.
("cjump"): Remove, replace by ...
("*cjump_64", "*cjump_31"): ... these insns.  Improve length default.
("icjump", "*icjump_64", "*icjump_31"): Likewise.
("trap"): Fix type attribute.
("conditional_trap"): Use s390_emit_compare.
("doloop_si"): Remove, replace by ...
("doloop_si64", "doloop_si31"): ... these new insn_and_split.
Merge existing splitter into insn_and_split.  Improve length default.
("doloop_di"): Merge with existing splitter into insn_and_split.
("doloop"): Adapt.
("jump"): Convert to expander.  Use s390_emit_jump.
("*jump_64", "*jump_31"): New insns.  Improve length default.

From-SVN: r83574

20 years agoDaily bump.
GCC Administrator [Thu, 24 Jun 2004 00:16:20 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r83572.2

20 years agoDaily bump.
GCC Administrator [Thu, 24 Jun 2004 00:16:15 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r83571.2

20 years agogthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
Wu Yongwei [Wed, 23 Jun 2004 23:57:27 +0000 (23:57 +0000)]
gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.

2004-06-23  Wu Yongwei  <adah@sh163.net>

* gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
(__gthr_i486_lock_cmp_xchg): New inline assembly function.
(__GTHR_W32_InterlockedCompareExchange): New macro to choose a
suitable function for interlocked compare-and-exchange.
(__gthread_mutex_trylock): Use
__GTHR_W32_InterlockedCompareExchange.
(__gthread_mutex_init_function, __gthread_mutex_lock,
__gthread_mutex_trylock, __gthread_mutex_unlock): Adjust the
initial counter value to work correctly under Windows 95.
* config/i386/gthr-win32.c: Adjust include order.
Define __GTHREAD_I486_INLINE_LOCK_PRIMITIVES before including
gthr-win32.h.
(__gthr_win32_mutex_init_function, __gthr_win32_mutex_lock,
__gthr_win32_mutex_trylock, __gthr_win32_mutex_unlock): Adjust
to match inline versions in gthr-win32.h.

From-SVN: r83569

20 years agors6000.c (rs6000_use_dfa_pipeline_interface): Delete.
David Edelsohn [Wed, 23 Jun 2004 21:19:00 +0000 (21:19 +0000)]
rs6000.c (rs6000_use_dfa_pipeline_interface): Delete.

* config/rs6000/rs6000.c (rs6000_use_dfa_pipeline_interface): Delete.
(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Redefine a hook_int_void_1.
(insvdi_rshift_rlwimi_p): New function.
* config/rs6000/rs6000.md (insvdi_internal2/3): New patterns.
(extendsfdf2): Convert to define_insn_and_split.
* config/rs6000/rs6000-protos.h (insvdi_rshift_rlwimi_p): Prototype.

From-SVN: r83568

20 years agoc-typeck.c (composite_type, [...]): Abort if we have type qualifiers at all.
Andrew Pinski [Wed, 23 Jun 2004 20:53:17 +0000 (20:53 +0000)]
c-typeck.c (composite_type, [...]): Abort if we have type qualifiers at all.

2004-06-23  Andrew Pinski  <apinski@apple.com>

        * c-typeck.c (composite_type, <case ARRAY_TYPE>): Abort if we have
        type qualifiers at all.
        If both of the type domains are null and the new element type is
        the same as one of the, return the one which the element type.
        matches.
        Do not call qualify_type on the new type.

2004-06-23  Andrew Pinski  <apinski@apple.com>

        * gcc.dg/c90-array-quals-2.c: New test.

From-SVN: r83567