OSDN Git Service

pf3gnuchains/gcc-fork.git
18 years ago2005-12-09 Paolo Carlini <pcarlini@suse.de>
paolo [Fri, 9 Dec 2005 18:24:53 +0000 (18:24 +0000)]
2005-12-09  Paolo Carlini  <pcarlini@suse.de>
    Howard Hinnant  <hhinnant@apple.com>

PR libstdc++/25288
* include/bits/stl_list.h (list<>::_M_insert_dispatch, _M_fill_insert):
Remove.
(_M_initialize_dispatch, _M_fill_initialize): Add.
(list(size_type, const value_type&, const allocator_type&),
list(const list&), list(_InputIterator, _InputIterator,
const allocator_type&): Use the latter.
(insert(iterator, size_type, const value_type&), insert(iterator,
_InputIterator, _InputIterator)): Use construction & splice.
* testsuite/23_containers/list/modifiers/insert/25288.cc: New.
* testsuite/testsuite_allocator.h (class throw_allocator): Add.

* include/bits/stl_list.h (list<>::insert, erase): Fix wrong comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108313 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agoProvide first full implementation.
charlet [Fri, 9 Dec 2005 17:41:04 +0000 (17:41 +0000)]
Provide first full implementation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108310 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agoResync.
charlet [Fri, 9 Dec 2005 17:36:36 +0000 (17:36 +0000)]
Resync.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108309 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Robert Dewar <dewar@adacore.com>
charlet [Fri, 9 Dec 2005 17:22:27 +0000 (17:22 +0000)]
2005-12-05  Robert Dewar  <dewar@adacore.com>

* i-c.adb, i-cexten.ads, i-cobol.adb, i-cobol.ads, i-cpoint.ads,
        i-cpp.adb, i-cpp.ads, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
inline.adb, interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads,
i-os2thr.ads, itypes.adb, itypes.adb, itypes.ads, krunch.ads,
krunch.adb, lib.adb, lib.ads, lib-list.adb, lib-load.adb,
lib-load.ads, lib-sort.adb, live.adb, make.ads, i-cstrea-vms.adb,
interfac-vms.ads, makegpr.adb, indepsw-gnu.adb, indepsw.ads,
s-wchcon.ads, sdefault.ads, sem_ch10.adb, sem_eval.ads: Minor
reformatting.

2005-12-05  Robert Dewar  <dewar@adacore.com>

* s-vaflop-vms-alpha.adb: (Ne_F): New function
(Ne_G): New function

* exp_ch4.adb (Expand_Allocator_Expression): Factor duplicated code
for tag assignment.
(Rewrite_Comparison): Handle case where operation is not a comparison
and ignore, and also handle type conversion case.

2005-12-05  Thomas Quinot  <quinot@adacore.com>

* exp_aggr.ads: Fix typo in comment.
???-mark Convert_Aggr_In_Assignment as needing documentation.

2005-12-05  Gary Dismukes  <dismukes@adacore.com>

* layout.adb: Replace various uses of byte by storage unit throughout.
(Get_Max_SU_Size): Name changed from Get_Max_Size. In the case of a
static size, convert to storage units before returning, to conform to
spec.

2005-12-05  Matthew Gingell  <gingell@adacore.com>

* g-exctra.ads: Fix typo in comment.

2005-12-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

* utils.c: Minor reformatting.

2005-12-05  Robert Dewar  <dewar@adacore.com>

* g-soccon.ads:
Further comment fixes to make the status of the default file clear

* s-bitops.adb: Clarify comment for Bits_Array

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108308 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Quentin Ochem <ochem@adacore.com>
charlet [Fri, 9 Dec 2005 17:22:09 +0000 (17:22 +0000)]
2005-12-05  Quentin Ochem  <ochem@adacore.com>
    Robert Dewar  <dewar@adacore.com>
    Ed Falis  <falis@adacore.com>
    Florian Villoing  <villoing@adacore.com>
    Thomas Quinot  <quinot@adacore.com>
    Arnaud Charlet  <charlet@adacore.com>

* gnat_ugn.texi: Created section "Stack Related Tools"
Moved "Stack Overflow Checking" subsection from "Switches for gcc" to
"Stack Related Tools"
Added subsection "Static Stack Usage Analysis"
Added subsection "Dynamic Stack Usage Analysis"
Include documentation of itypes in sprint listing (-gnatG)
Documented gnatbind -D switch (default sec stack size for fixed sec
stacks).
Added Interrupt_State and Persistent_BSS to list of configuration
pragmas.
Add missing doc for maximum value of nnn in -gnatyMnnn

* gnat_rm.texi: Document the AltiVec binding.
Add documentation for pragma Complete_Representation
Shortened an overly long line (> 79 chars)
Clarify documentation of unchecked conversion in implementation
defined cases.
Document two argument form of pragma Debug

* types.ads (Column_Number): Update documentation.

* exp_ch7.ads (Make_Adjust_Call): Document the special processing for
library level Finalize_Storage_Only objects (these are not attached to
any finalization list).

* system-mingw.ads: (Underlying_Priorities): Update comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108307 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Robert Dewar <dewar@adacore.com>
charlet [Fri, 9 Dec 2005 17:21:59 +0000 (17:21 +0000)]
2005-12-05  Robert Dewar  <dewar@adacore.com>

* sem_util.ads, sem_util.adb (Full_Qualified_Name): Now provides
decoded names.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108306 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 9 Dec 2005 17:21:49 +0000 (17:21 +0000)]
2005-12-05  Ed Schonberg  <schonberg@adacore.com>

* sem_ch9.adb (Analyze_Delay_Alternative, Analyze_Delay_Until): Use the
first subtype of the type of the expression to verify that it is a
legal Time type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108305 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Javier Miranda <miranda@adacore.com>
charlet [Fri, 9 Dec 2005 17:21:38 +0000 (17:21 +0000)]
2005-12-05  Javier Miranda  <miranda@adacore.com>

* sem_ch8.adb (Find_Type): In case of tagged types that are concurrent
types use the corresponding record type. This was not needed before
the implementation of Ada 2005 synchronized types because
concurrent types were never tagged types in Ada 95.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108304 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Robert Dewar <dewar@adacore.com>
charlet [Fri, 9 Dec 2005 17:21:28 +0000 (17:21 +0000)]
2005-12-05  Robert Dewar  <dewar@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Body): Properly check categorization
for case where spec is categorized.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108303 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 9 Dec 2005 17:21:19 +0000 (17:21 +0000)]
2005-12-05  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Remove_Abstract_Operations): Do not apply preference
rule prematurely when operands are universal, remaining ambiguities
will be removed during resolution.
Code cleanup.

* sem_type.adb (Disambiguate): In Ada95 mode, discard interpretations
that are Ada 2005 functions.
(Has_Abstract_Interpretation): Subsidiary to
Remove_Conversions, to remove ambiguities caused by abstract operations
on numeric types when operands are universal.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108302 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 9 Dec 2005 17:21:06 +0000 (17:21 +0000)]
2005-12-05  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Subtypes_Match): Handle properly Ada05 arrays of
anonymous access types.

* sem_eval.adb (Subtypes_Statically_Match): Implement new rules for
matching of anonymous access types and anonymous access to subprogram
types. 'R'M 4.9.1 (2/2).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108301 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Gary Dismukes <dismukes@adacore.com>
charlet [Fri, 9 Dec 2005 17:20:53 +0000 (17:20 +0000)]
2005-12-05  Gary Dismukes  <dismukes@adacore.com>

* sem_cat.adb (Validate_RCI_Subprogram_Declaration): Revise test for
available user-specified stream attributes on limited parameters to
also test the type directly rather than only its underlying type (for
Ada 95) and, in the case of Ada 2005, to check that the user-specified
attributes are visible at the point of the subprogram declaration.
For Ada 2005, the error message is modified to indicate that the
type's stream attributes must be visible (again, only for -gnat05).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108300 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Robert Dewar <dewar@adacore.com>
charlet [Fri, 9 Dec 2005 17:20:41 +0000 (17:20 +0000)]
2005-12-05  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb: Processing for new pragma Complete_Representation
(Analyze_Pragma, case Debug): Implement two argument form.

* par-prag.adb: Entry for new pragma Complete_Representation
(Prag, case Debug): Recognize two argument form of pragma Debug
New interface for Set_Style_Check_Options.

* sem_ch13.adb: Implement new pragma Complete_Representation.

* snames.adb, snames.ads, snames.h: Entry for new pragma
Complete_Representation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108299 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Thomas Quinot <quinot@adacore.com>
charlet [Fri, 9 Dec 2005 17:20:28 +0000 (17:20 +0000)]
2005-12-05  Thomas Quinot  <quinot@adacore.com>

* mlib-utl.adb (Ar): Use Output.Buffer_Max to determine whether a
command line switch overruns the output buffer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108298 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Vincent Celier <celier@adacore.com>
charlet [Fri, 9 Dec 2005 17:20:15 +0000 (17:20 +0000)]
2005-12-05  Vincent Celier  <celier@adacore.com>

* gnatcmd.adb (GNATCmd): GNAT CHECK accepts switch -U
If GNAT CHECK is called with a project file, but with no
source on the command line, call gnatcheck with all the compilable
sources of the project.
Take into account the new command Check, for gnatcheck. Treat as for
other ASIS tools: take into account project, specific package Check and
Compiler switches.
For ASIS tools, add the switches in package Compiler for
the invocation of the compiler.

* prj-attr.adb: Add package Check and its attributes

* vms_conv.ads (Command_Type): New command Check, for gnatcheck

* vms_conv.adb (Initialize): Change Params of command Check to
unlimited files.
Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
Add data for new command Check

* vms_data.ads: Add project related qualifiers for GNAT CHECK and GNAT
ELIM.
Add qualifiers for Check command options
(Command_Type): New command Check

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108297 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Robert Dewar <dewar@adacore.com>
charlet [Fri, 9 Dec 2005 17:20:03 +0000 (17:20 +0000)]
2005-12-05  Robert Dewar  <dewar@adacore.com>

* freeze.adb (Freeze_Record_Type): Only test for useless pack on record
types, not on record subtypes.
(Freeze_Entity): Code cleanup. Add barrier to the loop
that generates the references for primitive operations. This allows to
remove an unnecessary exception handler.
Code reformatting and comment clean ups.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108296 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Robert Dewar <dewar@adacore.com>
charlet [Fri, 9 Dec 2005 17:19:49 +0000 (17:19 +0000)]
2005-12-05  Robert Dewar  <dewar@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>
    Javier Miranda  <miranda@adacore.com>
    Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb (Itype_Printed): New flag
(Is_Limited_Type): Derived types do not inherit limitedness from
interface progenitors.
(Is_Return_By_Reference_Type): Predicate does not apply to limited
interfaces.

* einfo.ads (Itype_Printed): New flag
Move Is_Wrapper_Package to proper section
Add missing Inline for Is_Volatile

* output.ads, output.adb (Write_Erase_Char): New procedure
(Save/Restore_Output_Buffer): New procedures
(Save/Restore_Output_Buffer): New procedures

* sprint.ads, sprint.adb (Write_Itype): Handle case of record itypes
Add missing support for anonymous access type
(Write_Id): Insert calls to Write_Itype
(Write_Itype): New procedure to output itypes

* par-ch12.adb (P_Formal_Derived_Type_Definition): In Ada 2005, handle
use of "limited" in declaration.

* sinfo.ads, sinfo.adb:
Formal derived types can carry an explicit "limited" indication.

* sem_ch3.adb: Add with and use of Targparm.
(Create_Component): If Frontend_Layout_On_Target is True and the
copied component does not have a known static Esize, then reset
the size and positional fields of the new component.
(Analyze_Component_Declaration): A limited component is
legal within a protected type that implements an interface.
(Collect_Interfaces): Do not add to the list the interfaces that
are implemented by the ancestors.
(Derived_Type_Declaration): If the parent of the full-view is an
interface perform a transformation of the tree to ensure that it has
the same parent than the partial-view. This simplifies the job of the
expander in order to generate the correct object layout, and it is
needed because the list of interfaces of the full-view can be given in
any order.
(Process_Full_View): The parent of the full-view does not need to be
a descendant of the parent of the partial view if both parents are
interfaces.
(Analyze_Private_Extension_Declaration): If declaration has an explicit
"limited" the parent must be a limited type.
(Build_Derived_Record_Type): A derived type that is explicitly limited
must have limited ancestor and progenitors.
(Build_Derived_Type): Ditto.
(Process_Full_View): Verify that explicit uses of "limited" in partial
and full declarations are consistent.
(Find_Ancestor_Interface): Remove function.
(Collect_Implemented_Interfaces): New procedure used to gather all
implemented interfaces by a type.
(Contain_Interface): New function used to check whether an interface is
present in a list.
(Find_Hidden_Interface): New function used to determine whether two
lists of interfaces constitute a set equality. If not, the first
differing interface is returned.
(Process_Full_View): Improve the check for the "no hidden interface"
rule as defined by AI-396.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108295 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Robert Dewar <dewar@adacore.com>
charlet [Fri, 9 Dec 2005 17:19:33 +0000 (17:19 +0000)]
2005-12-05  Robert Dewar  <dewar@adacore.com>
    Javier Miranda  <miranda@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* exp_util.ads, exp_util.adb (Is_Ref_To_Bit_Packed_Slice): Handle case
of type conversion.
(Find_Interface): New subprogram that given a tagged type and one of its
component associated with the secondary table of an abstract interface
type, return the entity associated with such abstract interface type.
(Make_Subtype_From_Expr): If type has unknown discriminants, always use
base type to create anonymous subtype, because entity may be a locally
declared subtype or generic actual.
(Find_Interface): New subprogram that given a tagged type and one of its
component associated with the secondary table of an abstract interface
type, return the entity associated with such abstract interface type.

* sem_res.adb (Resolve_Type_Conversion): Handle the case in which the
conversion cannot be handled at compile time. In this case we pass this
information to the expander to generate the appropriate code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108294 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Robert Dewar <dewar@adacore.com>
charlet [Fri, 9 Dec 2005 17:19:19 +0000 (17:19 +0000)]
2005-12-05  Robert Dewar  <dewar@adacore.com>

* exp_imgv.adb (Expand_Image_Attribute): Generate extra boolean
parameter in call to Image_Wide_Character.

* s-imgwch.ads, s-imgwch.adb (Image_Wide_Character): Add boolean
parameter Ada_2005 to deal with annoying FFFE/FFFF inconsistency.
(Image_Wide_Character): Add boolean parameter Ada_2005 to deal with
annoying FFFE/FFFF inconsistency.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108293 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Javier Miranda <miranda@adacore.com>
charlet [Fri, 9 Dec 2005 17:18:26 +0000 (17:18 +0000)]
2005-12-05  Javier Miranda  <miranda@adacore.com>

* exp_ch5.adb (Expand_N_Assignment_Statement): In case of tagged types
and the assignment to a class-wide object, before the assignment we
generate a run-time check to ensure that the tag of the Target is
covered by the tag of the source.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108292 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Pascal Obry <obry@adacore.com>
charlet [Fri, 9 Dec 2005 17:18:03 +0000 (17:18 +0000)]
2005-12-05  Pascal Obry  <obry@adacore.com>

* g-diopit.adb (Find): Fix test to exit the iterator and make sure that
the iterator is quitting iteration on parent directory.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108291 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Olivier Hainque <hainque@adacore.com>
charlet [Fri, 9 Dec 2005 17:17:51 +0000 (17:17 +0000)]
2005-12-05  Olivier Hainque  <hainque@adacore.com>
    Eric Botcazou  <ebotcazou@adacore.com>

* trans.c (tree_transform, emit_check): Adjust calls to
build_call_raise, passing the now expected GNAT_NODE argument.

* gigi.h (build_call_raise): Add a GNAT_NODE argument to convey better
source line information than what the current global locus indicates
when appropriate.

* utils2.c (build_simple_component_ref): Return 0 if the offset of the
field has overflowed.
(build_call_raise): Add a GNAT_NODE argument to convey better source
line information than what the current global locus indicates when
appropriate.
(build_component_ref): Adjust call to build_call_raise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108290 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Javier Miranda <miranda@adacore.com>
charlet [Fri, 9 Dec 2005 17:16:47 +0000 (17:16 +0000)]
2005-12-05  Javier Miranda  <miranda@adacore.com>

* exp_aggr.adb (Build_Record_Aggr_Code): Default-initialialized records
with IP subprogram were only supported if there were limited types.

* sem_aggr.adb (Resolve_Record_Aggregate): Default-initialialized
records with IP subprogram were only supported if there were limited
types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108289 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Thomas Quinot <quinot@adacore.com>
charlet [Fri, 9 Dec 2005 17:16:35 +0000 (17:16 +0000)]
2005-12-05  Thomas Quinot  <quinot@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* hostparm.ads (Max_Line_Length): Set to Types.Column_Number'Last - 1,
which is the absolute maximum length we can support.

* frontend.adb: For the processing of configuration pragma files,
remove references to Opt.Max_Line_Length, which is not checked anymore.

* namet.ads (Name_Buffer): Adjust size to reflect increase on max line
length.

* scn.adb, scng.adb:
Always check line length against the absolute supported maximum,
Hostparm.Max_Line_Length.

* stylesw.adb (Set_Style_Check_Options, case M): The maximum supported
value for the maximum line length is Max_Line_Length (not
Column_Number'Last).
Minor error msg update
(Set_Style_Check_Options): New interface returning error msg
Minor code reorganization (processing for 'M' was out of alpha order)

* switch-c.adb: New interface for Set_Style_Check_Options

* stylesw.ads (Set_Style_Check_Options): New interface returning error
msg.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108288 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Matthew Heaney <heaney@adacore.com>
charlet [Fri, 9 Dec 2005 17:16:22 +0000 (17:16 +0000)]
2005-12-05  Matthew Heaney  <heaney@adacore.com>

* a-convec.adb (Merge): Added assertions to check whether vector params
are sorted.

* a-coinve.adb (Merge): Added assertions to check whether vector params
are sorted.

* a-cohama.ads (Cursor'Write): raises Program_Error per latest AI-302
draft.
(Cursor'Read): raises PE

* a-cohama.adb (Insert.New_Node): Uses box-style syntax to init elem
to its default value.

* a-cihama.adb: Manually check whether cursor's key and elem are
non-null

* a-cidlli.ads, a-cidlli.adb (Splice): Changed param name and param mode
(Merge): Assert that target and source lists are in order
(Swap): Declare non-const temporaries, to pass to Splice

* a-cdlili.ads: (Splice): Changed param name and param mode

* a-cdlili.adb: (Splice): Changed param name and param mode
(Merge): Assert that target and source lists are in order
(Swap): Declare non-const temporaries, to pass to Splice

* a-ciorma.ads, a-coorma.ads: (Read): declare Stream param as not null
(Write): declare Stream param as not null

* a-ciorma.adb, a-coorma.adb: All explicit raise statements now include
an exception message.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108287 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Olivier Hainque <hainque@adacore.com>
charlet [Fri, 9 Dec 2005 17:16:11 +0000 (17:16 +0000)]
2005-12-05  Olivier Hainque  <hainque@adacore.com>

* decl.c (gnat_to_gnu_entity, renaming object case): Don't early expand
pointer initialization values. Make a SAVE_EXPR instead. Add comments
about the use and expansion of SAVE_EXPRs in the various possible
renaming handling cases.
(components_to_record, compare_field_bitpos): Sort by DECL_UID, not by
abusing DECL_FCONTEXT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108286 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Doug Rupp <rupp@adacore.com>
charlet [Fri, 9 Dec 2005 17:14:34 +0000 (17:14 +0000)]
2005-12-05  Doug Rupp  <rupp@adacore.com>

* mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb (Is_Interface): Change
Ada bind file prefix on VMS from b$ to b__.
(Build_Dynamic_Library): Change Init file suffix on VMS from $init to
__init.

* prj-nmsc.adb: Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
(Object_Suffix): Initialize with target object suffix.
(Get_Unit): Change Ada bind file prefix on VMS from b$ to b__.

* butil.adb: Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.

* clean.adb: Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
(Object_Suffix): Initialize with call to Get_Target_Object_Suffix.
({declaraction},Delete_Binder_Generated_Files,{initialization}): Change
Ada bind file prefix on VMS from b$ to b__.

* gnatlink.adb (Process_Args): Call Add_Src_Search_Dir for -I in
--GCC so that Get_Target_Parameters can find system.ads.
(Gnatlink): Call Get_Target_Parameters in mainline.
Initialize standard packages for Targparm.
Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
(Process_Args): Also Check for object files with target object
extension.
(Make_Binder_File_Names): Create with target object extension.
(Make_Binder_File_Names): Change Ada bind file prefix on VMS from b$
to b__.

* mlib-prj.adb: Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
({declaration},Build_Library,Check_Library): Change Ada bind file
prefix on VMS from b$ to b__.

* osint-b.adb: Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
(Create_Binder_Output): Change Ada bind file prefix on VMS from b$ to
b__.

* targext.c: New file.

* Makefile.in: add support for vxworks653 builds
(../../vxaddr2line): gnatlink with targext.o.
(TOOLS_LIBS): Move targext.o to precede libgnat.
(init.o, initialize.o): Minor clean up in dependencies.
(GNATLINK_OBJS): Add targparm.o, snames.o
Add rules fo building targext.o and linking it explicitly with all
tools.
Also add targext.o to gnatlib.

* Make-lang.in: Add rules for building targext.o and linking it in
with gnat1 and gnatbind.
Add entry for exp_sel.o.

* osint.adb Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
(Object_File_Name): Use target object suffix.

* osint.ads (Object_Suffix): Remove, no longer used.
(Target_Object_Suffix): Initialize with target object suffix.

* rident.ads: Add special exception to license.

* targparm.adb (Get_Target_Parameters): Set the value of
Multi_Unit_Index_Character after OpenVMS_On_Target gets its definitive
value.
(Get_Target_Parameters): Set OpenVMS_On_Target if openvms.

* targparm.ads: Add special exception to license.

* g-os_lib.ads, g-os_lib.adb (Get_Target_Debuggable_Suffix): New
function.
(Copy_File): Make sure from file is closed if error on to file
(Get_Target_Executable_Suffix, Get_Target_Object_Suffix): New functions.

* make.adb (Object_Suffix): Intialize with Get_Target_Object_Suffix.
(Executable_Suffix): Intialize with Get_Target_Executable_Suffix.

* osint-c.adb (Set_Output_Object_File_Name): Initialize extension with
target object suffix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108285 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Javier Miranda <miranda@adacore.com>
charlet [Fri, 9 Dec 2005 17:13:28 +0000 (17:13 +0000)]
2005-12-05  Javier Miranda  <miranda@adacore.com>
    Hristian Kirtchev  <kirtchev@adacore.com>

* a-tags.ads, a-tags.adb (Offset_To_Top): Moved from the package body
to the specification because the frontend generates code that uses this
subprogram.
(Set_Interface_Table): Add missing assertion.
Update documentation describing the run-time structure.
(Displace): New subprogram that displaces the pointer to the object
to reference one of its secondary dispatch tables.
(IW_Membership): Modified to use the new table of interfaces.
(Inherit_TSD): Modified to use the new table of interfaces.
(Register_Interface_Tag): Use the additional formal to fill the
contents of the new table of interfaces.
(Set_Interface_Table): New subprogram that stores in the TSD the
pointer to the table of interfaces.
(Set_Offset_To_Top): Use the additional formal to save copy of
the offset value in the table of interfaces.
Update structure of GNAT Primary and Secondary dispatch table diagram.
Add comment section on GNAT dispatch table prologue.
(Offset_To_Signature): Update the constant value of the Signature field.
(Dispatch_Table): Update comment on hidden fields in the prologue.
(Get_Entry_Index, Get_Prim_Op_Kind, Get_Offset_Index, OSD,
Set_Entry_Index, Set_Offset_Index, Set_Prim_Op_Kind, SSD, TSD): Change
the type of formal parameter T to Tag, introduce additional assertions.
(Get_Num_Prim_Ops, Set_Num_Prim_Ops): Remove an unnecessary type
conversion.
(Get_Tagged_Kind, Set_Tagged_Kind): New bodies.

* exp_ch6.adb (Register_Interface_DT_Entry): Remove the Thunk_Id actual
in all the calls to Expand_Interface_Thunk. Instead of referencing the
record component containing the tag of the secondary dispatch table we
have to use the Offset_To_Top run-time function to get this information;
otherwise if the pointer to the base of the object has been displace
we get a wrong value if we use the 'position attribute.

* exp_disp.adb (Expand_Interface_Thunk): Remove the Thunk_Id actual in
all the calls to Expand_Interface_Thunk.
(Make_Secondary_DT): Secondary dispatch tables do not have a table of
interfaces; hence the call to Set_Interface_Table was clearly wrong.
(Collect_All_Interfaces): Modify the internal subprogram Collect to
ensure that the interfaces implemented by the ancestors are placed
at the header of the generated list.
(Expand_Interface_Conversion): Handle the case in which the displacement
associated with the interface conversion is not statically known. In
this case we generate a call to the new run-time subprogram Displace.
(Make_DT): Generate and fill the new table of interfaces.
(Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Add entries for
Get_Tagged_Kind and Set_Tagged_Kind.
(Tagged_Kind): New function that determines the tagged kind of a type
with respect to limitedness and concurrency and returns a reference to
RE_Tagged_Kind.
(Make_Disp_Asynchronous_Select_Body, Make_Disp_Conditional_Select_Body,
Make_Disp_Timed_Select_Body): Correctly retrieve the pointer to the
primary dispatch table for a type.
(Make_DT, Make_Secondary_DT): Set the tagged kind in the primary and
secondary dispatch table respectively of a tagged type.

* exp_disp.ads (Expand_Interface_Thunk): Remove Thunk_Id formal.
(Expand_Interface_Conversion): New subprogram to indicate if the
displacement of the type conversion is statically known.
(DT_Access_Action): Add values Get_Tagged_Kind and Set_Tagged_Kind.

* rtsfind.ads (RE_Offset_To_Top): New entity
(RTU_Id): Add Ada_Task_Termination to the list so that it is made
accessible to users.
(Re_Displace): New entity
(RE_Interface_Data): New entity
(RE_Set_Interface_Data): New_Entity
(RE_Id, RE_Unit_Table): Add entry for RE_Get_Tagged_Kind,
Set_Tagged_Kind, RE_Tagged_Kind, RE_TK_Abstract_Limited_Tagged,
RE_TK_Abstract_Tagged, RE_TK_Limited_Tagged, RE_TK_Protected,
RE_TK_Tagged, RE_TK_Task.

* exp_ch3.adb (Init_Secondary_Tags): Modify the subprogram
Init_Secondary_Tags_Internal to allow its use with interface types and
also to generate the code for the new additional actual required
by Set_Offset_To_Top.
(Build_Init_Statements): In case of components associated with abstract
interface types there is no need to generate a call to its IP.
(Freeze_Record_Type): Generate Select Specific Data tables only for
concurrent types.
(Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies): Generate
the bodies and specifications of the predefined primitive operations
dealing with dispatching selects and abort, 'Callable, 'Terminated only
for concurrent types.

        * exp_sel.ads, exp_sel.adb: New files.

* exp_ch9.adb (Build_Protected_Entry, Expand_N_Protected_Body,
Expand_N_Protected_Type_Declaration, Make_Initialize_Protection): Handle
properly protected objects and attach handler in the case of the
restricted profile.
Move embeded package Select_Expansion_Utilities into a separate external
package.
(Expand_N_Asynchronous_Select, Expand_N_Conditional_Select,
Expand_N_Timed_Entry_Call): Correct calls external package Exp_Sel.
(Build_K, Build_S_Assignment): New subprograms, part of the select
expansion utilities.
(Expand_N_Asynchronous_Select, Expand_N_Conditional_Entry_Call,
Expand_N_Timed_Entry_Call): Optimize expansion of select statements
where the trigger is a dispatching procedure of a limited tagged type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108284 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Nicolas Setton <setton@adacore.com>
charlet [Fri, 9 Dec 2005 17:10:46 +0000 (17:10 +0000)]
2005-12-05  Nicolas Setton  <setton@adacore.com>

* adaint.c (__gnat_locate_regular_file): Return immediately if
file_name is empty.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108283 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-05 Doug Rupp <rupp@adacore.com>
charlet [Fri, 9 Dec 2005 17:10:03 +0000 (17:10 +0000)]
2005-12-05  Doug Rupp  <rupp@adacore.com>

* mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb (Is_Interface): Change
Ada bind file prefix on VMS from b$ to b__.
(Build_Dynamic_Library): Change Init file suffix on VMS from $init to
__init.

* prj-nmsc.adb: Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
(Object_Suffix): Initialize with target object suffix.
(Get_Unit): Change Ada bind file prefix on VMS from b$ to b__.

* butil.adb: Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.

* clean.adb: Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
(Object_Suffix): Initialize with call to Get_Target_Object_Suffix.
({declaraction},Delete_Binder_Generated_Files,{initialization}): Change
Ada bind file prefix on VMS from b$ to b__.

* gnatlink.adb (Process_Args): Call Add_Src_Search_Dir for -I in
--GCC so that Get_Target_Parameters can find system.ads.
(Gnatlink): Call Get_Target_Parameters in mainline.
Initialize standard packages for Targparm.
Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
(Process_Args): Also Check for object files with target object
extension.
(Make_Binder_File_Names): Create with target object extension.
(Make_Binder_File_Names): Change Ada bind file prefix on VMS from b$
to b__.

* mlib-prj.adb: Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
({declaration},Build_Library,Check_Library): Change Ada bind file
prefix on VMS from b$ to b__.

* osint-b.adb: Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
(Create_Binder_Output): Change Ada bind file prefix on VMS from b$ to
b__.

* targext.c: New file.

* Makefile.in: add support for vxworks653 builds
(../../vxaddr2line): gnatlink with targext.o.
(TOOLS_LIBS): Move targext.o to precede libgnat.
(init.o, initialize.o): Minor clean up in dependencies.
(GNATLINK_OBJS): Add targparm.o, snames.o
Add rules fo building targext.o and linking it explicitly with all
tools.
Also add targext.o to gnatlib.

* Make-lang.in: Add rules for building targext.o and linking it in
with gnat1 and gnatbind.
Add entry for exp_sel.o.

* osint.adb Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
(Object_File_Name): Use target object suffix.

* osint.ads (Object_Suffix): Remove, no longer used.
(Target_Object_Suffix): Initialize with target object suffix.

* rident.ads: Add special exception to license.

* targparm.adb (Get_Target_Parameters): Set the value of
Multi_Unit_Index_Character after OpenVMS_On_Target gets its definitive
value.
(Get_Target_Parameters): Set OpenVMS_On_Target if openvms.

* targparm.ads: Add special exception to license.

* g-os_lib.ads, g-os_lib.adb (Get_Target_Debuggable_Suffix): New
function.
(Copy_File): Make sure from file is closed if error on to file
(Get_Target_Executable_Suffix, Get_Target_Object_Suffix): New functions.

* make.adb (Object_Suffix): Intialize with Get_Target_Object_Suffix.
(Executable_Suffix): Intialize with Get_Target_Executable_Suffix.

* osint-c.adb (Set_Output_Object_File_Name): Initialize extension with
target object suffix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108282 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * gnatvsn.ads (Library_Version): Bump to version 4.2
charlet [Fri, 9 Dec 2005 17:09:34 +0000 (17:09 +0000)]
* gnatvsn.ads (Library_Version): Bump to version 4.2
(ASIS_Version_Number): Bumped.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108281 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR libfortran/24991
jakub [Fri, 9 Dec 2005 13:50:11 +0000 (13:50 +0000)]
PR libfortran/24991
* acinclude.m4: Include acx.m4 and no-executables.m4.
* configure.ac: Add GCC_TOPLEVEL_SUBDIRS.
* configure: Rebuilt.
* Makefile.am (AM_CPPFLAGS): Use $(host_subdir) in build dir
path.
* Makefile.in: Rebuilt.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108280 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR target/25311
uweigand [Fri, 9 Dec 2005 11:20:40 +0000 (11:20 +0000)]
PR target/25311
* config/s390/s390.c (struct s390_address): New field literal_pool.
(s390_decompose_address): Compute literal_pool field.  Do not
assume register %r13 is always (and solely) used as pool base.
(s390_extra_constraint_str): Use literal_pool field.

PR target/25311
* gcc.c-torture/compile/pr25311.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108278 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-09 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 9 Dec 2005 10:21:52 +0000 (10:21 +0000)]
2005-12-09  Richard Guenther  <rguenther@suse.de>

        * f95-lang.c (build_builtin_fntypes): Use correct
        return types, as indicated by comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108277 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * config/mips/mips.c (override_options): Don't allow too small
ths [Fri, 9 Dec 2005 08:19:15 +0000 (08:19 +0000)]
* config/mips/mips.c (override_options): Don't allow too small
integers in FP registers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108276 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Fri, 9 Dec 2005 02:57:13 +0000 (02:57 +0000)]
2005-12-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/25039
* gfortran.dg/read_comma.f: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108272 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Fri, 9 Dec 2005 02:53:41 +0000 (02:53 +0000)]
2005-12-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/25039
* io/io.h: Create a new flag sf_read_comma to control comma
separators in numeric reads.
* io/transfer.c (formatted_transfer_scalar): Initialize the flag.
(read_sf): Check for commas coming in and if the flag is set,
shortcut the read.
* io/read.c (read_a) (read_x): Clear the flag for character reads and
reset it after the reads.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108271 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * config/s390/s390.c (s390_function_ok_for_sibcall): Use
uweigand [Fri, 9 Dec 2005 01:00:55 +0000 (01:00 +0000)]
* config/s390/s390.c (s390_function_ok_for_sibcall): Use
targetm.binds_local_p to check for local function calls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108269 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agoDaily bump.
gccadmin [Fri, 9 Dec 2005 00:17:28 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108265 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR debug/24908
amodra [Thu, 8 Dec 2005 23:43:40 +0000 (23:43 +0000)]
PR debug/24908
* dwarf2out.c (dwarf2out_frame_debug_expr): Don't assert that
call_used_regs can't be used to save reg in another reg.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108257 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR c++/19317
jakub [Thu, 8 Dec 2005 21:50:38 +0000 (21:50 +0000)]
PR c++/19317
* g++.dg/opt/pr19317-1.C: New test.
* g++.dg/opt/pr19317-2.C: New test.
* g++.dg/opt/pr19317-3.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108247 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR target/19005
jakub [Thu, 8 Dec 2005 21:49:17 +0000 (21:49 +0000)]
PR target/19005
* gcc.c-torture/execute/pr19005.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108246 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR target/17828
jakub [Thu, 8 Dec 2005 21:47:10 +0000 (21:47 +0000)]
PR target/17828
* g++.old-deja/g++.other/comdat5.C: New test.
* g++.old-deja/g++.other/comdat5-aux.cc: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108245 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * g++.dg/compat/struct-layout-1.exp: New file.
jakub [Thu, 8 Dec 2005 21:45:22 +0000 (21:45 +0000)]
* g++.dg/compat/struct-layout-1.exp: New file.
* g++.dg/compat/struct-layout-1.h: New.
* g++.dg/compat/struct-layout-1_generate.c: New.
* g++.dg/compat/struct-layout-1_x1.h: New.
* g++.dg/compat/struct-layout-1_x2.h: New.
* g++.dg/compat/struct-layout-1_y1.h: New.
* g++.dg/compat/struct-layout-1_y2.h: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108244 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * gcc.dg/20050330-2.c: New test.
jakub [Thu, 8 Dec 2005 21:44:27 +0000 (21:44 +0000)]
* gcc.dg/20050330-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108243 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * ChangeLog: correct typo in date.
fxcoudert [Thu, 8 Dec 2005 17:16:41 +0000 (17:16 +0000)]
* ChangeLog: correct typo in date.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108242 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agofortran/
eedelman [Thu, 8 Dec 2005 16:56:10 +0000 (16:56 +0000)]
fortran/
2005-12-08  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/25292
        * check.c (gfc_check_associated): Allow function results
        as actual arguments to ASSOCIATED.  Moved a misplaced
        comment.

testsuite/
2005-12-08  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/25292
        * gfortran.dg/associated_1.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108238 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * ipa-type-escape.c (analyze_variable): Use gcc_assert instead of
reichelt [Thu, 8 Dec 2005 15:46:09 +0000 (15:46 +0000)]
* ipa-type-escape.c (analyze_variable): Use gcc_assert instead of
abort.
* except.c (output_ttype): Likewise.
* tree-object-size.c (collect_object_sizes_for): Likewise.
(check_for_plus_in_loops_1): Likewise.
(check_for_plus_in_loops): Likewise.
(compute_object_sizes): Use gcc_unreachable instead of abort.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108237 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-08 Andrew Haley <aph@redhat.com>
aph [Thu, 8 Dec 2005 15:32:44 +0000 (15:32 +0000)]
2005-12-08  Andrew Haley  <aph@redhat.com>

        PR libgcj/25265
        * java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
        (soft_abstractmethod_node): New.
        * expr.c (build_field_ref): Add in-line check for missing field.
        * decl.c (java_init_decl_processing): Add soft_nosuchfield_node.

2005-12-08  Andrew Haley  <aph@redhat.com>

        PR libgcj/25265
        * java/lang/Object.h (throwNoSuchMethodError): New method.
        * java/lang/Object.java (throwNoSuchMethodError): New method.
        * include/jvm.h (_Jv_ThrowNoSuchFieldError): Declare.
        * link.cc (_Jv_ThrowNoSuchFieldError): New.
        (link_symbol_table): Don't throw a NoSuchFieldError if a field is
        missing.  Instead, set the otable entry to zero.
        (link_symbol_table): If we don't find a nonstatic method, insert
        the vtable offset of Object.throwNoSuchMethodError() into the
        otable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108235 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-08 Andrew Haley <aph@redhat.com>
aph [Thu, 8 Dec 2005 14:19:13 +0000 (14:19 +0000)]
2005-12-08  Andrew Haley  <aph@redhat.com>

        * java/lang/Object.h (throwNoSuchMethodError): New method.
        * java/lang/Object.java (throwNoSuchMethodError): New method.
        * include/jvm.h (_Jv_ThrowNoSuchFieldError): Declare.
        * link.cc (_Jv_ThrowNoSuchFieldError): New.
        (link_symbol_table): Don't throw a NoSuchFieldError if a field is
        missing.  Instead, set the otable entry to zero.
        (link_symbol_table): If we don't find a nonstatic method, insert
        the vtable offset of Object.throwNoSuchMethodError() into the
        otable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108231 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-08 Andrew Haley <aph@redhat.com>
aph [Thu, 8 Dec 2005 13:52:39 +0000 (13:52 +0000)]
2005-12-08  Andrew Haley  <aph@redhat.com>

* java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
(soft_abstractmethod_node): New.
* expr.c (build_field_ref): Add in-line check for missing field.
* decl.c (java_init_decl_processing): Add soft_nosuchfield_node.

2005-12-08  Andrew Haley  <aph@redhat.com>

* java/lang/Object.h (throwNoSuchMethodError): New method.
* java/lang/Object.java (throwNoSuchMethodError): New method.
* include/jvm.h (_Jv_ThrowNoSuchFieldError): Declare.
* link.cc (_Jv_ThrowNoSuchFieldError): New.
(link_symbol_table): Don't throw a NoSuchFieldError if a field is
missing.  Instead, set the otable entry to zero.
(link_symbol_table): If we don't find a nonstatic method, insert
the vtable offset of Object.throwNoSuchMethodError() into the
otable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108230 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * config/ms1/ms1.md (UNSPEC_LOOP): New constant.
nathan [Thu, 8 Dec 2005 13:46:18 +0000 (13:46 +0000)]
* config/ms1/ms1.md (UNSPEC_LOOP): New constant.
(loop_end, loop_init, doloop_end): New insns.
* config/ms1/ms1.h (LOOP_FIRST, LOOP_LAST): New.
(SPECIAL_REG_FIRST, FIRST_PSEUDO_REGISTER): Adjust.
(FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
(REG_CLASS_CONTENTS, REGISTER_NAMES): Adjust.
* config/ms1/ms1.c: #include basic-block.h
(struct machine_function): Add has_loops field.
(ms1_add_loop): New.
(MAX_LOOP_DEPTH, MAX_LOO_LENGTH): New.
(struct loop_info, struct loop_work): New.
(ms1_loop_nesting, ms1_block_length, ms1_scan_loop): New workers.
(ms1_reorg_loops): New loop optimization.
(ms1_machine_reorg): Call it.
* config/ms1/ms1-protos.h (ms1_add_loop): Declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108229 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-08 Paolo Carlini <pcarlini@suse.de>
paolo [Thu, 8 Dec 2005 11:32:37 +0000 (11:32 +0000)]
2005-12-08  Paolo Carlini  <pcarlini@suse.de>

* include/bits/stl_vector.h (vector<>::size, resize, capacity,
operator[]): Avoid troubles with ADL, user defined operators
and __normal_iterator.
(_M_erase_at_end): Fix to take a pointer.
(clear): Adjust call.
* include/bits/vector.tcc (vector<>::insert(iterator, const
value_type&), erase(iterator, iterator), operator=(const
vector<>&), _M_assign_aux(input_iterator_tag), _M_insert_aux,
_M_fill_insert, _M_range_insert): Likewise.
(_M_fill_assign, _M_assign_aux(forward_iterator_tag)): Adjust
_M_erase_at_end call.
* testsuite/23_containers/vector/types/1.cc: New.

2005-12-08  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/24617
* include/bits/stl_vector.h (vector<>::_M_erase_at_end): New.
(vector<>::clear, resize): Use it.
* include/bits/vector.tcc (vector<>::erase(iterator, iterator),
_M_fill_assign, _M_assign_aux): Likewise.

* testsuite/23_containers/vector/modifiers/erase/1.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108227 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR tree-optimization/25248
rakdver [Thu, 8 Dec 2005 09:34:26 +0000 (09:34 +0000)]
PR tree-optimization/25248
* tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Do not use
evolution_of_loop from the failed attempt.  Remove handling
of MULT_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108225 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * gfortran.dg/vect/vect-5.f90: Expect alignment forcing only on
ebotcazou [Thu, 8 Dec 2005 09:29:54 +0000 (09:29 +0000)]
* gfortran.dg/vect/vect-5.f90: Expect alignment forcing only on
ILP32 vect_no_align platforms.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108223 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-08 Théodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
gdr [Thu, 8 Dec 2005 09:09:08 +0000 (09:09 +0000)]
2005-12-08  Théodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>

        * call.c (build_conditional_expr): Print types in error
          messages.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108222 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * tree.h (DECL_EXTERNAL): Clarify documentation.
gdr [Thu, 8 Dec 2005 09:01:22 +0000 (09:01 +0000)]
    * tree.h (DECL_EXTERNAL): Clarify documentation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108221 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-08 Andreas Krebbel <krebbel1@de.ibm.com>
krebbel [Thu, 8 Dec 2005 08:56:24 +0000 (08:56 +0000)]
2005-12-08  Andreas Krebbel  <krebbel1@de.ibm.com>
            Jakub Jelinek  <jakub@redhat.com>

PR target/25268
* config/s390/s390.c (s390_decompose_shift_count): Remove BITS
argument.  Don't drop outer ANDs.
(s390_extra_constraint_str, print_shift_count_operand): Adjust callers.
* config/s390/s390-protos.h (s390_decompose_shift_count): Adjust
prototype.
* config/s390/predicates.md (setmem_operand): Remove.
(shift_count_operand): Rename to...
(shift_count_or_setmem_operand): ... this.  Adjust
s390_decompose_shift_count caller.
* config/s390/s390.md (<shift>di3_31_and, <shift>di3_64_and,
ashrdi3_cc_31_and, ashrdi3_cconly_31_and, ashrdi3_31_and,
ashrdi3_cc_64_and, ashrdi3_cconly_64_and, ashrdi3_64_and,
<shift>si3_and, ashrsi3_cc_and, ashrsi3_cconly_and, ashrsi3_and,
rotl<mode>3_and, setmem_long_and): New insns.
(<shift>di3_31, <shift>di3_64, ashrdi3_cc_31, ashrdi3_cconly_31,
ashrdi3_31, ashrdi3_cc_64, ashrdi3_cconly_64, ashrdi3_64,
<shift>si3, ashrsi3_cc, ashrsi3_cconly, ashrsi3, rotl<mode>3,
<shift>di3, ashrdi3): Use shift_count_or_setmem_operand instead
of shift_count_operand.
(setmem_long): Use shift_count_or_setmem_operand instead of
setmem_operand.

2005-12-08  Andreas Krebbel  <krebbel1@de.ibm.com>
            Jakub Jelinek  <jakub@redhat.com>

        PR target/25268
* gcc.c-torture/compile/20051207-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108220 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-08 Daniel Jacobowitz <dan@codesourcery.com>
andreast [Thu, 8 Dec 2005 06:40:37 +0000 (06:40 +0000)]
2005-12-08  Daniel Jacobowitz  <dan@codesourcery.com>
    Andreas Tobler  <a.tobler@schweiz.ch>

* Makefile.in (ALL_GTFILES_H): Replace sed statement with more portable
tr expression.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108215 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
ghazi [Thu, 8 Dec 2005 01:26:45 +0000 (01:26 +0000)]
2005-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

* g++.dg/other/i386-1.C, gcc.c-torture/execute/990413-2.x,
gcc.dg/torture/pr18582-1.c,
gcc.target/i386/attributes-error.c: Also test on x86_64.

* gcc.dg/pr18928-1.c: Test on all targets supporting pic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108209 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agoDaily bump.
gccadmin [Thu, 8 Dec 2005 00:17:36 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108205 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-07 Paolo Carlini <pcarlini@suse.de>
paolo [Wed, 7 Dec 2005 23:51:31 +0000 (23:51 +0000)]
2005-12-07  Paolo Carlini  <pcarlini@suse.de>

* docs/html/configopts.html ([--enable-libstdcxx-allocator]):
Mention the SGI pooled allocator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108197 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * expr.c (force_operand): Use convert_to_mode for conversions.
amylaar [Wed, 7 Dec 2005 23:49:43 +0000 (23:49 +0000)]
* expr.c (force_operand): Use convert_to_mode for conversions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108196 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-07 J"orn Rennecke <joern.rennecke@st.com>
amylaar [Wed, 7 Dec 2005 23:41:19 +0000 (23:41 +0000)]
2005-12-07  J"orn Rennecke <joern.rennecke@st.com>

* reload.h (reg_equiv_invariant): Declare.
* reload.c (refers_to_regno_for_reload_p): Allow R to be a pseudo
register also when reg_equiv_invariant[R] is set.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108195 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * expr.c (cxx_expand_expr): Call gcc_unreachable instead of abort.
reichelt [Wed, 7 Dec 2005 21:55:19 +0000 (21:55 +0000)]
* expr.c (cxx_expand_expr): Call gcc_unreachable instead of abort.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108193 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * cp-gimplify.c (gimplify_cp_loop): Use fold_build3.
reichelt [Wed, 7 Dec 2005 21:50:00 +0000 (21:50 +0000)]
* cp-gimplify.c (gimplify_cp_loop): Use fold_build3.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108192 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-07 Richard Sandiford <richard@codesourcery.com>
andreast [Wed, 7 Dec 2005 21:47:27 +0000 (21:47 +0000)]
2005-12-07  Richard Sandiford  <richard@codesourcery.com>
    Andreas Tobler  <a.tobler@schweiz.ch>

* config/darwin.h: Guard section variables with #ifndef USED_FOR_TARGET.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108191 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * newcvsroot: Remove.
bje [Wed, 7 Dec 2005 21:38:02 +0000 (21:38 +0000)]
* newcvsroot: Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108190 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR c++/19397
reichelt [Wed, 7 Dec 2005 21:16:21 +0000 (21:16 +0000)]
PR c++/19397
* g++.dg/template/typedef3.C: New test.

PR c++/19762
PR c++/19764
* g++.dg/template/dtor3.C: Fix error markers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108187 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-07 Daniel Berlin <dberlin@dberlin.org>
dberlin [Wed, 7 Dec 2005 20:24:09 +0000 (20:24 +0000)]
2005-12-07  Daniel Berlin  <dberlin@dberlin.org>

* tree-ssa-pre.c (bitmap_set_and): New function.
(bitmap_set_and_compl): New function.
(bitmap_set_empty_p): New function.
(insert_extra_phis): New function.
(compute_avail): Use insert_extra_phis.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108183 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-07 Adrian Straetling <straetling@de.ibm.com>
uweigand [Wed, 7 Dec 2005 20:01:30 +0000 (20:01 +0000)]
2005-12-07  Adrian Straetling  <straetling@de.ibm.com>

* config/s390/s390.c (s390_expand_atomic): New function.
Adjust comment of helper functions.
* config/s390/s390-protos.h (s390_expand_atomic): Declare.
* config/s390/s390.md ("ATOMIC"): New code macro.
("atomic"): Corresponding new code attribute.
("sync_lock_test_and_set[hq]i",
"sync_{new_,old_,}{and,ior,xor,add,sub,nand}[hq]i"): New pattern.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108180 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-07 Adrian Straetling <straetling@de.ibm.com>
uweigand [Wed, 7 Dec 2005 19:56:32 +0000 (19:56 +0000)]
2005-12-07  Adrian Straetling  <straetling@de.ibm.com>

* config/s390/s390.c (s390_expand_mask_and_shift,
struct alignment_context, init_alignment_context,
s390_expand_cs_hqi): New.
* config/s390/s390-protos.h (s390_expand_cs_hqi): Declare.
* config/s390/s390.md ("sync_compare_and_swaphi",
"sync_compare_and_swapqi"): New pattern.

* lib/target-supports.exp (check_effective_target_sync_char_short):
Add s390*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108178 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agoFix incorrect dates in ChangeLog.
uweigand [Wed, 7 Dec 2005 19:41:37 +0000 (19:41 +0000)]
Fix incorrect dates in ChangeLog.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108175 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-07 Daniel Berlin <dberlin@dberlin.org>
dberlin [Wed, 7 Dec 2005 16:39:33 +0000 (16:39 +0000)]
2005-12-07  Daniel Berlin <dberlin@dberlin.org>

Fix PR tree-optimization/25291
* tree-ssa-operands.c (add_call_clobber_ops): Remove
redundant and crashing check.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108168 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR target/25212
amodra [Wed, 7 Dec 2005 16:07:08 +0000 (16:07 +0000)]
PR target/25212
* config/rs6000/rs6000.c (legitimate_indexed_address_p): Relax
tests further when !strict && reload_in_progress.
(print_operand): Check that both operands of indexed address are regs.
(print_operand_address): Likewise.
* config/rs6000/rs6000.h (INT_REG_OK_FOR_INDEX_P): Simplify.
(INT_REG_OK_FOR_BASE_P): Correct.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108167 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-07 Thiemo Seufer <ths@networkno.de>
doko [Wed, 7 Dec 2005 14:56:38 +0000 (14:56 +0000)]
2005-12-07  Thiemo Seufer  <ths@networkno.de>

* src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
missing parentheses.
* src/mips/o32.S (ffi_call_O32): Code formatting. Define
and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
(ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
FA_0_0_OFF2.
* src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
endianness bugs.
(ffi_prep_closure): Improve trampoline instruction scheduling.
(ffi_closure_mips_inner_O32): Fix endianness bugs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108165 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-07 J"orn Rennecke <joern.rennecke@st.com>
amylaar [Wed, 7 Dec 2005 13:31:41 +0000 (13:31 +0000)]
2005-12-07  J"orn Rennecke <joern.rennecke@st.com>

Preparation for PR rtl-optimization/20070 / part1
* basic-block.h (insns_match_p, flow_find_cross_jump): Declare.
* cfgcleanup.c (condjump_equiv_p): New function, broken out of
outgoing_edges_match.
(outgoing_edges_match): Use condjump_equiv_p.
(merge_memattrs, insns_match_p, flow_find_cross_jump): Move from here
into..
* struct-equiv.c: New file.
(death_notes_match_p) New function, broken out of insns_match_p.
* Makefile.in (OBJS-common): Add struct-equiv.o.
(struct-equiv.o): New target.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108164 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * coretypes.h: Revert previous change.
rsandifo [Wed, 7 Dec 2005 13:25:08 +0000 (13:25 +0000)]
* coretypes.h: Revert previous change.
* config/darwin.h: Revert previous reversion.
* config/avr/avr.h (progmem_section): Guard with #ifndef IN_LIBGCC2.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108163 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * coretypes.h (section): Provide dummy definition for target files.
rsandifo [Wed, 7 Dec 2005 11:52:28 +0000 (11:52 +0000)]
* coretypes.h (section): Provide dummy definition for target files.
* config/darwin.h: Revert previous change.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108159 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agogcc/
amodra [Wed, 7 Dec 2005 11:40:30 +0000 (11:40 +0000)]
gcc/
* doc/sourcebuild.texi (all.build, install-normal): Remove.
* configure.ac: Remove all.build and install-normal from target_list
* configure: Regenerate.
* Makefile.in (install): Don't depend on install-normal.
gcc/java/
* Make-lang.in (java.all.build, java.install-normal): Remove.
gcc/objc/
* Make-lang.in (objc.all.build, objc.install-normal): Remove.
gcc/objcp/
* Make-lang.in (obj-c++.all.build, obj-c++.install-normal): Remove.
gcc/cp/
* Make-lang.in (c++.all.build, c++.install-normal): Remove.
gcc/ada/
* Make-lang.in (ada.install-normal): Remove.
gcc/fortran/
* Make-lang.in (fortran.all.build, fortran.install-normal): Remove.
gcc/treelang/
* Make-lang.in (treelang.all.build, treelang.install-normal): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108158 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * Makefile.in: Document the use of stamps.
amodra [Wed, 7 Dec 2005 11:24:48 +0000 (11:24 +0000)]
* Makefile.in: Document the use of stamps.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108156 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agogcc/
amodra [Wed, 7 Dec 2005 11:22:18 +0000 (11:22 +0000)]
gcc/
* doc/gty.texi: Remove instructions for adding a dependency on s-gtype.
* Makefile.in: Add code to compute some dependencies on s-gtype
automatically.  Remove the declaration of those dependencies.
gcc/java/
* Make-lang.in: Remove all dependencies on s-gtype, except for
gt-java-parse.h.
gcc/objc/
* Make-lang.in: Remove all dependencies on s-gtype.
gcc/objcp/
* Make-lang.in: Remove all dependencies on s-gtype.
gcc/cp/
* Make-lang.in: Remove all dependencies on s-gtype.
gcc/ada/
* Make-lang.in: Remove all dependencies on s-gtype.
gcc/fortran/
* Make-lang.in: Remove all dependencies on s-gtype, except for
gt-fortran-trans.h.
gcc/treelang/
* Make-lang.in: Remove all dependencies on s-gtype.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108155 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * gcc/reload.c (push_secondary_reload): Fix typo:
rsandifo [Wed, 7 Dec 2005 09:43:39 +0000 (09:43 +0000)]
* gcc/reload.c (push_secondary_reload): Fix typo:
s/insn_constraint/scratch_constraint/.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108154 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * config/darwin.h: Guard section variables with #ifndef IN_LIBGCC2.
rsandifo [Wed, 7 Dec 2005 09:17:01 +0000 (09:17 +0000)]
* config/darwin.h: Guard section variables with #ifndef IN_LIBGCC2.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108153 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * config/alpha/alpha.c (alpha_start_function): Use switch_to_section.
rsandifo [Wed, 7 Dec 2005 07:53:14 +0000 (07:53 +0000)]
* config/alpha/alpha.c (alpha_start_function): Use switch_to_section.
(alpha_elf_select_rtx_section): Return the selected section rather
than emitting assembly code.
(alpha_write_linkage): Emit a ".link" directive directly and then
set in_section to NULL.
(vms_asm_out_constructor): Use switch_to_section.
(vms_asm_out_destructor): Likewise.
(unicosmk_output_common): Set in_section to NULL instead of calling
the dummy common_section function.
(unicosmk_text_section): Delete in favor of...
(unicosmk_output_text_section_asm_op): ...this new function.
(unicosmk_data_section): Delete in favor of...
(unicosmk_output_data_section_asm_op): ...this new function.
(unicosmk_init_sections): New function.
(unicosmk_output_deferred_case_vectors): Use switch_to_section.
(unicosmk_output_ssib): Set in_section to NULL instead of calling
the dummy ssib_section function.
(unicosmk_section_buf): Delete.
* config/alpha/alpha-protos.h (unicosmk_text_section): Delete.
(unicosmk_data_section): Delete.
* config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Use switch_to_section.
(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, sbss_section, sdata_section)
(SECTION_FUNCTION_TEMPLATE): Delete.
* config/alpha/unicosmk.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP)
(READONLY_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
(common_section, COMMON_SECTION, ssib_section, SSIB_SECTION): Delete.
(ASM_OUTPUT_ALIGNED_LOCAL): Use switch_to_section.
(TARGET_ASM_INIT_SECTIONS): Define.
* config/alpha/vms.h (LINK_SECTION_ASM_OP, LITERALS_SECTION_ASM_OP)
(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
(link_section, literals_section): Delete.
(ASM_OUTPUT_DEF): Emit the ".literal" directive directly and then
set in_section to NULL.

* config/arm/aof.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Delete.
(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, ZERO_INIT_SECTION): Delete.
(COMMON_SECTION): Delete.
(TARGET_ASM_INIT_SECTIONS): Define.
(ASM_OUTPUT_COMMON): Set in_section to NULL rather than calling
the dummy common_section function.
* config/arm/aout.h (ASM_OUTPUT_ALIGNED_LOCAL): Use switch_to_section.
* config/arm/arm.c (get_jump_table_size): Use pointer comparison
between readonly_data_section and text_section to check whether
read-only data is being put in the text section.
(arm_output_function_epilogue): Use switch_to_section.
(arm_elf_asm_constructor): Likewise.
(thumb_call_via_reg): Replace call to in_text_section with
a comparison between in_section and text_section.
(arm_file_end): Use switch_to_section.
(aof_text_section): Delete in favor of...
(aof_output_text_section_asm_op): ...this new function.
(aof_data_section): Delete in favor of...
(aof_output_data_section_asm_op): ...this new function.
(aof_asm_init_sections): New function.
(zero_init_section): Moved from config/arm/aof.h.
(aof_dump_imports, aof_file_start): Use switch_to_section.
* config/arm/arm.h (thumb_call_via_label): Update comment.
* config/arm/arm-protos.h (aof_text_section, aof_data_section): Delete.
(common_section): Delete.
* config/arm/pe.h (ASM_DECLARE_FUNCTION_NAME): Use switch_to_section.
(ASM_DECLARE_OBJECT_NAME): Update the type of save_section.  Use the
global switch_to_section function instead of the old port-local one.
(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, DRECTVE_SECTION_FUNCTION)
(SWITCH_TO_SECTION_FUNCTION): Delete.
(drectve_section): Redefine as a macro.
* config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS):
(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use get_named_section and
switch_to_section.

* config/avr/avr.c (progmem_section): New variable.
(avr_output_progmem_section_asm_op): New function.
(avr_asm_init_sections): New function.
(avr_output_addr_vec_elt): Use switch_to_section.
* config/avr/avr.h (progmem_section): Declare.
(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
(READONLY_DATA_SECTION): Delete.
(TARGET_ASM_INIT_SECTIONS): Define.
(ASM_OUTPUT_CASE_LABEL): Use switch_to_section.
* config/avr/avr-protos.h (progmem_section): Delete.

* config/bfin/bfin.h (ASM_OUTPUT_LOCAL): Use switch_to_section.

* config/c4x/c4x.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
(INIT_SECTION_FUNCTION, FINI_SECTION_FUNCTION): Delete.

* config/darwin-sections.def: New file.
* config/darwin.c: Define all sections in darwin-sections.def.
(output_objc_section_asm_op, darwin_init_sections): New functions.
(machopic_output_indirection): Use switch_to_section.
(machopic_select_section): Return the selected section rather than
emitting assembly code.  Replace the static function table with
inline conditional expressions.  Update the tests of last_text_section
and move them into the FUNCTION_DECL block.
(machopic_select_rtx_section): Return the selected section rather than
emitting assembly code.
(machopic_asm_out_constructor, machopic_asm_out_destructor)
(darwin_file_end): Use switch_to_section.
* config/darwin.h: Use darwin-sections.def to declare sections.
(INIT_SECTION_ASM_OP): Remove empty definition.
(HAS_INIT_SECTION): Define this instead.
(SECTION_FUNCTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
(READONLY_DATA_SECTION, TARGET_ASM_EXCEPTION_SECTION): Delete.
(TARGET_ASM_EH_FRAME_SECTION): Delete.
(TARGET_ASM_INIT_SECTIONS): Define.
* config/darwin-protos.h (darwin_init_sections): Declare.
(machopic_picsymbol_stub_section, machopic_picsymbol_stub1_section)
(machopic_symbol_stub_section, machopic_symbol_stub1_section): Delete.
(machopic_lazy_symbol_ptr_section, machopic_nl_symbol_ptr_section)
(constructor_section, destructor_section, mod_init_section): Delete.
(mod_term_section): Delete.
(darwin_exception_section, darwin_eh_frame_section): Delete.
(machopic_select_section): Return a section.
(machopic_select_rtx_section): Likewise.
(text_coal_section, text_unlikely_section, text_unlikely_coal_section)
(const_section, const_coal_section, const_data_section): Delete.
(const_data_coal_section, data_coal_section, cstring_section): Delete.
(literal4_section, literal8_section, constructor_section): Delete.
(mod_init_section, mod_term_section, destructor_section): Delete.
(objc_class_section, objc_meta_class_section, objc_category_section)
(objc_class_vars_section, objc_instance_vars_section): Delete.
(objc_cls_meth_section, objc_inst_meth_section): Delete.
(objc_cat_cls_meth_section, objc_cat_inst_meth_section): Delete.
(objc_selector_refs_section, objc_selector_fixup_section): Delete.
(objc_symbols_section, objc_module_info_section): Delete.
(objc_image_info_section, objc_protocol_section): Delete.
(objc_string_object_section, objc_constant_string_object_section)
(objc_class_names_section, objc_meth_var_names_section): Delete.
(objc_meth_var_types_section, objc_cls_refs_section): Delete.
(machopic_lazy_symbol_ptr_section, machopic_nl_symbol_ptr_section)
(machopic_symbol_stub_section, machopic_picsymbol_stub_section)
(darwin_exception_section, darwin_eh_frame_section): Delete.
* config/t-darwin (darwin.o): Depend on config/darwin-sections.def.

* config/frv/frv.c (frv_asm_out_constructor): Use switch_to_section.
(frv_asm_out_destructor): Likewise.
* config/frv/frv.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
(SDATA_SECTION_FUNCTION, FIXUP_SECTION_FUNCTION): Delete.
(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use switch_to_section and
get_named_section.
(ASM_OUTPUT_CASE_LABEL): Use switch_to_section.
* config/frv/frv-protos.h (fixup_section, sdata_section, sbss_section)
(data_section): Delete.

* config/i386/cygming.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
(DRECTVE_SECTION_FUNCTION): Delete.
(drectve_section): Redefine as a macro that sets in_section after
emitting the directive.
(SWITCH_TO_SECTION_FUNCTION): Delete.
* config/i386/darwin.h (ASM_OUTPUT_ALIGN): Replace call to
in_text_section with comparison between in_section and text_section.
* config/i386/i386.c (x86_64_elf_select_section): Return the section
rather than emitting assembly code.  Use get_named_section.
(x86_output_aligned_bss, ix86_file_end): Use switch_to_section and
get_named_section.
(machopic_output_stub): Use switch_to_section.
* config/i386/nwld.c (nwld_named_section_asm_out_constructor)
(nwld_named_section_asm_out_destructor): Use get_section and
switch_to_section.

* config/ia64/ia64.c (ia64_select_rtx_section): Return the section
rather than emitting assembly code.
(ia64_rwreloc_select_section): Likewise.
(ia64_rwreloc_select_rtx_section): Likewise.
* config/ia64/ia64-protos.h (sdata_section, sbss_section): Delete.
* config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
switch_to_section.
(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
(SDATA_SECTION_FUNCTION, SBSS_SECTION_FUNCTION): Delete.

* config/iq2000/iq2000.c (iq2000_select_rtx_section): Return the
section rather than emitting assembly code.
(iq2000_select_section): Likewise.
* config/iq2000/iq2000.h (rdata_section, sdata_section): Delete.
(sbss_section): Delete.

* config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use switch_to_section
and get_named_section.
* config/m32r/m32r-protos.h (sbss_section, sdata_section): Delete.

* config/mcore/mcore-elf.h (EXPORTS_SECTION_ASM_OP): Delete.
(SUBTARGET_EXTRA_SECTIONS, SUBTARGET_EXTRA_SECTION_FUNCTIONS): Delete.
(EXPORT_SECTION_FUNCTION, SUBTARGET_SWITCH_SECTIONS): Delete.
(MCORE_EXPORT_NAME): Emit the exports directive directly, then set
in_section to NULL.
(ASM_DECLARE_FUNCTION_NAME): Use switch_to_section.
(ASM_DECLARE_OBJECT_NAME): Update the type of save_section.  Use the
global switch_to_section function instead of the old port-local one.
* config/mcore/mcore.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
(SWITCH_SECTION_FUNCTION): Delete.
* config/mcore/mcore-pe.h (SUBTARGET_SWITCH_SECTIONS): Delete.
(DRECTVE_SECTION_ASM_OP, SUBTARGET_EXTRA_SECTIONS): Delete.
(SUBTARGET_EXTRA_SECTION_FUNCTIONS, DRECTVE_SECTION_FUNCTION): Delete.
(MCORE_EXPORT_NAME): Emit ".section .drectve" directly, then set
in_section to NULL.
(ASM_DECLARE_OBJECT_NAME): Update the type of save_section.  Use the
global switch_to_section function instead of the old port-local one.
(ASM_DECLARE_FUNCTION_NAME): Use switch_to_section.

* config/mips/mips.c (mips_file_start): Update comment.
(mips_output_aligned_bss): Use switch_to_section and get_named_section.
(mips_output_aligned_decl_common): Use switch_to_section.
(mips_select_rtx_section): Return the section rather than emitting
assembly code.  Use get_named_section.
(mips_function_rodata_section: Likewise get_section.
(build_mips16_function_stub): Use switch_to_section.
* config/mips/mips.h (ASM_OUTPUT_IDENT): Use switch_to_section.
(SDATA_SECTION_ASM_OP): Delete.
* config/mips/vxworks.h (EXTRA_SECTIONS): Delete.
(EXTRA_SECTION_FUNCTIONS): Delete.

* config/mmix/mmix.c (mmix_file_start, mmix_file_end)
(mmix_asm_output_aligned_local): Use switch_to_section.

* config/pa/pa.c (som_readonly_data_section, som_one_only_data_section)
(som_one_only_readonly_data_section): New variables.
(pa_output_function_epilogue): Set in_section to NULL instead of
calling forget_section.
(output_deferred_plabels): Use select_section.
(pa_asm_output_mi_thunk): Likewise.  Set in_section to NULL instead
of calling forget_section.
(pa_asm_output_aligned_bss, pa_asm_output_aligned_common)
(pa_asm_output_aligned_local): Use select_section.
(som_text_section_asm_op): Delete in favor of...
(som_output_text_section_asm_op): ...this new function.
(pa_som_asm_init_sections): New function.
(pa_select_section): Return the section rather than emitting
assembly code.
* config/pa/pa.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
(SOM_READONLY_DATA_SECTION_FUNCTION): Delete.
(SOM_ONE_ONLY_READONLY_DATA_SECTION_FUNCTION): Delete.
(SOM_ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION): Delete.
* config/pa/pa-protos.h (som_text_section_asm_op): Delete.
(som_readonly_data_section, som_one_only_readonly_data_section)
(som_one_only_data_section, forget_section): Delete.
* config/pa/som.h (TEXT_SECTION_ASM_OP): Delete.
(TARGET_ASM_INIT_SECTIONS): Define.
(READONLY_DATA_SECTION, TARGET_ASM_EXCEPTION_SECTION): Delete.

* config/rs6000/rs6000.c (read_only_data_section): New variable.
(private_data_section, read_only_private_data_section): New variables.
(sdata2_section, toc_section): New variables.
(rs6000_file_start): Use switch_to_section.
(rs6000_assemble_integer): Use comparisons against in_section
instead of calling in_toc_section and in_text_section.  Use
unlikely_text_section_p.
(rs6000_elf_output_toc_section_asm_op): New function, derived
from the old rs6000/sysv4.h toc_section function.
(rs6000_elf_asm_init_sections): New function.
(rs6000_elf_select_rtx_section, rs6000_elf_select_section): Return
the section rather than emitting assembly code.
(machopic_output_stub): Use switch_to_section.
(toc_section): Delete dummy function.
(rs6000_elf_asm_out_constructor, rs6000_elf_asm_out_destructor): Use
switch_to_section and get_section.
(rs6000_xcoff_output_readonly_section_asm_op): New function.
(rs6000_xcoff_output_readwrite_section_asm_op): New function.
(rs6000_xcoff_output_toc_section_asm_op): New function, derived from
the old rs6000/xcoff.h toc_section function.
(rs6000_xcoff_asm_init_sections): New function.
(rs6000_xcoff_select_section, rs6000_xcoff_select_rtx_section): Return
the section rather than emitting assembly code.
(rs6000_xcoff_file_start): Use switch_to_section.
(rs6000_xcoff_file_end): Likewise.
* config/rs6000/rs6000-protos.h (toc_section, sdata_section): Delete.
(sdata2_section, sbss_section, private_data_section): Delete.
(read_only_data_section, read_only_private_data_section): Delete.
* config/rs6000/sysv4.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
(TOC_SECTION_FUNCTION, SDATA_SECTION_FUNCTION, SDATA2_SECTION_FUNCTION)
(SBSS_SECTION_FUNCTION, INIT_SECTION_FUNCTION): Delete.
(FINI_SECTION_FUNCTION): Delete.
(TARGET_ASM_INIT_SECTIONS): Define.
(ASM_OUTPUT_ALIGNED_LOCAL): Use switch_to_section.
* config/rs6000/xcoff.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
(READ_ONLY_DATA_SECTION_FUNCTION, PRIVATE_DATA_SECTION_FUNCTION)
(READ_ONLY_PRIVATE_DATA_SECTION_FUNCTION, TOC_SECTION_FUNCTION)
(READONLY_DATA_SECTION): Delete.
(TARGET_ASM_INIT_SECTIONS): Define.
(ASM_DECLARE_FUNCTION_NAME): Use switch_to_section.  Set in_section
to NULL rather than no_section.
(TARGET_ASM_EXCEPTION_SECTION): Delete.

* config/sh/sh.c (sh_file_start): Use switch_to_section.

* config/sparc/sparc.c (emit_pic_helper): Use switch_to_section.
(sparc_output_deferred_case_vectors): Likewise.  Remove argument
from call to current_function_section.

* config/stormy16/stormy16.c: Include ggc.h and gt-storm16.h.
(bss100_section): New variable.
(xstormy16_asm_output_aligned_common): Use switch_to_section.
(xstormy16_asm_init_sections): New function.
(xstormy16_asm_out_destructor, xstormy16_asm_out_constructor): Use
switch_to_section and get_section.
(xstormy16_output_addr_vec): Use switch_to_section.  Remove argument
from calls to current_function_section.
* config/stormy16/stormy16.h (EXTRA_SECTIONS): Delete.
(XSTORMY16_SECTION_FUNCTION, EXTRA_SECTION_FUNCTIONS): Delete.
(TARGET_ASM_INIT_SECTIONS): Define.
* config/stormy16/stormy16-protos.h (bss100_section): Delete.

* config/svr3.h (ASM_OUTPUT_LOCAL): Use switch_to_section.
(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, INIT_SECTION_FUNCTION)
(FINI_SECTION_FUNCTION): Delete.

* config/v850/v850.c: Include gt-v850.h.
(rosdata_section, rozdata_section, tdata_section, zdata_section)
(zbss_section): New variables.
(v850_output_aligned_bss): Use switch_to_section.
(v850_asm_init_sections): New function.
(v850_select_section): Return the section rather than emitting
assembly code.
* config/v850/v850.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
(ZDATA_SECTION_ASM_OP, ZBSS_SECTION_ASM_OP, TDATA_SECTION_ASM_OP)
(ROSDATA_SECTION_ASM_OP, ROZDATA_SECTION_ASM_OP): Delete.
(TARGET_ASM_INIT_SECTIONS): Define.
* config/v850/v850-protos.h (sdata_section, rosdata_section): Delete.
(sbss_section, tdata_section, zdata_section, rozdata_section): Delete.
(zbss_section): Delete.

* config/vax/vaxv.h (ASM_OUTPUT_LOCAL): Use switch_to_section.

* config/vx-common.h (vxworks_exception_section): Delete.
(TARGET_ASM_EXCEPTION_SECTION): Delete.

* config/xtensa/xtensa.c (xtensa_select_rtx_section): Return the
section rather than emitting assembly code.
* config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Use
switch_to_section.

* Makefile.in (GTFILES): Add $(srcdir)/output.h.
* coretypes.h (section): New union and typedef.
* dbxout.c (FORCE_TEXT): Use switch_to_section.  Remove argument
from call to current_function_section.
(dbxout_function_end, dbxout_init, dbxout_source_file, dbxout_finish)
(dbxout_symbol_location): Use switch_to_section.
* dwarf2out.c (named_section_eh_frame_section): Delete, moving
most of the code into...
(default_eh_frame_section): ...here.  Return a section.
(collect2_eh_frame_section): Delete, moving most of the code into..
(switch_to_eh_frame_section): ...this new function.
(debug_info_section, debug_abbrev_section, debug_aranges_section)
(debug_macinfo_section, debug_line_section, debug_loc_section)
(debug_pubnames_section, debug_str_section, debug_ranges_section): New
variables.
(output_call_frame_info): Call switch_to_eh_frame_section instead of
eh_frame_section.  Use switch_to_section and get_section.
(dwarf2out_begin_prologue): Use switch_to_section.
(AT_string_form): Check the flags in debug_str_section instead of
DEBUG_STR_SECTION_FLAGS.
(output_comp_unit): Use switch_to_section, get_section, and
debug_info_section.
(output_line_info, secname_for_decl): Use unlikely_text_section_p.
(dwarf2out_begin_block): Use switch_to_section.  Remove argument
from call to current_function_section.
(dwarf2out_var_location): Use unlikely_text_section_p.
(dwarf2out_source_line): Use switch_to_section.  Remove argument
from call to current_function_section.
(dwarf2out_start_source_file, dwarf2out_end_source_file)
(dwarf2out_define, dwarf2out_undef: Use switch_to_section and
debug_macinfo_section.
(dwarf2out_init): Initialize the new section variables.  Use them
instead of calls to named_section_flags.  Use switch_to_section.
(output_indirect_string): Use switch_to_section and debug_str_section.
(dwarf2out_finish): Use switch_to_section and the new section
variables.
* except.c (default_exception_section): Return the section instead
of emitting assembly code.
(output_function_exception_table): Use the global exception_section
variable instead of the target hook.  Use switch_to_section.  Remove
argument from call to current_function_section.
* final.c (HAVE_READONLY_DATA_SECTION): Delete.
(shorten_branches): Use pointer comparisons to detect whether the
text section is the same as readonly_data_section.
(profile_function): Use switch_to_section.  Remove argument from
call to current_function_section.
(final_scan_insn): Likewise.  Update use of last_text_section.
* gengtype.c (open_base_files): Add an include of output.h.
* output.h (text_section, data_section, readonly_data_section)
(ctors_section, dtors_section, bss_section, init_section)
(fini_section, sdata_section): Turn into section pointers.
(in_text_section, in_unlikely_text_section, exports_section)
(drectve_section, named_section, mergeable_string_section)
(last_text_section_name): Delete.
(default_exception_section, default_eh_frame_section): Return sections.
(SECTION_DECLARED, SECTION_NAMED): New macros.
(SECTION_MACH_DEP): Bump value.
(section_common, named_section, unnamed_section): New structures.
(unnamed_section_callback): New typedef.
(section): New union.
(sbss_section, exception_section, eh_frame_section): New variables.
(in_section, last_text_section): Turn into section pointers.
(get_unnamed_section, get_section, get_named_section): New functions.
(mergeable_constant_section, function_section): Return a section.
(unlikely_text_section): Likewise.
(current_function_section): Likewise.  Remove the decl argument.
(unlikely_text_section_p, switch_to_section): New functions.
(output_section_asm_op): New function.
(set_named_section_flags, named_section_flags, named_section_real)
(named_section_first_declaration): Delete.
(default_select_section, default_elf_select_section): Return a section.
(default_elf_select_section_1, default_function_rodata_section)
(default_no_function_rodata_section, default_select_rtx_section)
(default_elf_select_rtx_section): Likewise.
* rtl.h (in_data_section): Delete.
* sdbout.c (sdbout_one_type): Use switch_to_section.
* system.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Poison.
(READONLY_DATA_SECTION, TARGET_ASM_EXCEPTION_SECTION): Poison.
(TARGET_ASM_EH_FRAME_SECTION): Poison.
* target-def.h (TARGET_ASM_INIT_SECTIONS): New macro.
(TARGET_ASM_EXCEPTION_SECTION, TARGET_ASM_EH_FRAME_SECTION): Delete.
(TARGET_ASM_OUT): Update after above changes.
* target.h (init_sections): New hook.
(exception_section, eh_frame_section): Delete.
(select_section, select_rtx_section, function_rodata_section): Return
a section rather than emitting assembly code.
* varasm.c (text_section, data_section, readonly_data_section)
(ctors_section, dtors_section, bss_section, init_section)
(fini_section): Turn into section pointers.
(sdata_section, sbss_section, exception_section): New variables.
(eh_frame_section): New variable.
(in_section): Make global and turn into a section pointer.
(last_text_section): Turn into a section pointer.
(unnamed_sections): New variable.
(in_named_name, last_text_section_name): Delete.
(EXTRA_SECTION_FUNCTIONS): Delete.
(in_named_entry): Delete.
(section_htab): New variable, replacing...
(in_named_htab): ...this deleted variable.
(section_entry_eq, section_entry_hash): New functions, based on...
(in_named_entry_eq, in_named_entry_hash): ...these deleted functions.
(get_unnamed_section, get_section): New functions.
(unlikely_text_section): Return a section instead of emitting
assembly code.
(in_text_section, in_unlikely_text_section, in_data_section): Delete.
(get_named_section_flags, named_section_first_declaration): Delete.
(unlikely_text_section_p): New function.
(named_section_real, named_section): Delete.
(get_named_section): New function.
(asm_output_bss, asm_output_aligned_bss): Use switch_to_section.
(function_section): Return a section rather than emitting
assembly code.
(current_function_section): Likewise.  Remove argument.  Use
last_text_section if nonnull, otherwise use function_section.
(default_function_rodata_section): Return a section rather than
emitting assembly code.  Use get_section.
(default_no_function_rodata_section): Return a section rather than
emitting assembly code.
(variable_section): Use switch_to_section and get_named_section.
(mergeable_string_section): Return a section rather than emitting
assembly code.  Use get_section.  Make static.  Don't take special
countermeasures for empty strings.
(mergeable_constant_section): Return a section rather than emitting
assembly code.  Use get_section.
(default_named_section_asm_out_destructor): Use switch_to_section
and get_section.
(default_dtor_section_asm_out_destructor): Use switch_to_section.
(default_named_section_asm_out_constructor): Use switch_to_section
and get_section.
(default_ctor_section_asm_out_constructor): Use switch_to_section.
(assemble_start_function): Likewise.  Set last_text_section to
NULL rather than no_section.  Change the type of save_section.
(assemble_zeros, assemble_variable): Use the section flags to detect
whether or not a section is text.
(assemble_static_space): Use switch_to_section.
(assemble_trampoline_template): Likewise.
(output_constant_def_contents): Use switch_to_section and
get_named_section.
(output_constant_pool_1): Use switch_to_section.  Use the section
flags to see whether sections contain mergeable data.
(init_varasm_once): Initialize section_htab instead of in_named_htab.
Initialize new section variables.  Call TARGET_ASM_INIT_SECTIONS.
(default_elf_asm_named_section): Use SECTION_DECLARED to detect
whether a section has already been declared.
(default_select_section, default_elf_select_section): Return a
section rather than emitting assembly code.
(default_elf_select_section_1): Likewise.  Use bss_section for
SECCAT_BSS if nonnull.  Use get_named_section.
(default_select_rtx_section): Return a section rather than
emitting assembly code.
(default_elf_select_rtx_section): Likewise.  Use get_named_section.
(file_end_indicate_exec_stack): Use switch_to_section and get_section.
(output_section_asm_op, switch_to_section): New functions.
* vmsdbgout.c (vmsdbgout_finish): Use switch_to_section and
get_named_section.

* doc/tm.texi: Expand the introduction to the sections documentation.
(TRAMPOLINE_SECTION): Document new interface.
(SDATA_SECTION_ASM_OP): Document new macro.
(READONLY_DATA_SECTION): Delete.
(SDATA_SECTION_ASM_OP): Document new macro.
(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
(TARGET_ASM_INIT_SECTIONS): Document new hook.
(TARGET_ASM_SELECT_SECTION, TARGET_ASM_FUNCTION_RODATA_SECTION)
(TARGET_ASM_SELECT_RTX_SECTION): Adjust for new interface.
(TARGET_EXCEPTION_SECTION, TARGET_EH_FRAME_SECTION): Delete.

gcc/java/
* class.c (build_utf8_ref, emit_register_classes): Use
switch_to_section and get_section.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108152 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * gcc.c (init_gcc_specs): Match braces inside conditionally
amodra [Wed, 7 Dec 2005 07:02:35 +0000 (07:02 +0000)]
* gcc.c (init_gcc_specs): Match braces inside conditionally
compiled strings.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108151 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * MAINTAINERS: Change email address.
nemet [Wed, 7 Dec 2005 03:46:23 +0000 (03:46 +0000)]
* MAINTAINERS: Change email address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108149 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR java/25283:
tromey [Wed, 7 Dec 2005 00:31:58 +0000 (00:31 +0000)]
PR java/25283:
* parse.y (patch_new_array_init): Revert previous patch.
(lookup_method_invoke): Use size-less array type when creating an
anonymous constructor.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108143 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agoDaily bump.
gccadmin [Wed, 7 Dec 2005 00:17:27 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108140 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * include/cpplib.h (CPP_N_DFLOAT): New.
bje [Tue, 6 Dec 2005 23:13:15 +0000 (23:13 +0000)]
* include/cpplib.h (CPP_N_DFLOAT): New.
* expr.c (interpret_float_suffix): Identify df, dd, and dl
suffixes as decimal floating point constants.
(cpp_classify_number): Disallow hexadecimal DFP constants.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108133 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * lib/gcc-dg.exp (cleanup-dump): Remove options from test name.
janis [Tue, 6 Dec 2005 20:50:27 +0000 (20:50 +0000)]
* lib/gcc-dg.exp (cleanup-dump): Remove options from test name.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108129 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * config/darwin.h (TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): New.
geoffk [Tue, 6 Dec 2005 20:06:35 +0000 (20:06 +0000)]
* config/darwin.h (TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108128 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR C++/24138
aldyh [Tue, 6 Dec 2005 19:45:00 +0000 (19:45 +0000)]
    PR C++/24138
        * tree.c (integer_all_onesp): Always return true if all bits on.

        * cp/decl.c (reshape_init_array_1): Handle max_index of -1.

        * testsuite/g++.dg/init/array0.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108126 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-06 Paolo Carlini <pcarlini@suse.de>
paolo [Tue, 6 Dec 2005 17:19:30 +0000 (17:19 +0000)]
2005-12-06  Paolo Carlini  <pcarlini@suse.de>

* include/bits/basic_string.h (insert(iterator, _CharT),
erase(iterator), erase(iterator, iterator)): Avoid troubles
with ADL, user defined operators and __normal_iterator.
* include/bits/stl_iterator.h (operator-(const __normal_iterator
<_Iterator, _Container>&, const __normal_iterator<_Iterator,
_Container>&)): Add overload for left and right iterators of
the same type.
* include/debug/safe_iterator.h (operator-(const _Safe_iterator
<_Iterator, _Sequence>&, const _Safe_iterator<_Iterator,
_Sequence>&)): Likewise.
* testsuite/21_strings/basic_string/types/1.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108123 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2005-12-06 Adrian Straetling <straetling@de.ibm.com>
krebbel [Tue, 6 Dec 2005 15:15:36 +0000 (15:15 +0000)]
2005-12-06  Adrian Straetling  <straetling@de.ibm.com>

  * doc/md.texi: Adapt to implementation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108121 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * typeck.c (build_binary_op): Issue warning if either operand of a
sayle [Tue, 6 Dec 2005 14:05:58 +0000 (14:05 +0000)]
* typeck.c (build_binary_op): Issue warning if either operand of a
comparison operator is a string literal, except for testing equality
or inequality against NULL.

* g++.dg/warn/Wstring-literal-comparison-1.C: New test case.
* g++.dg/warn/Wstring-literal-comparison-2.C: Likewise.
* g++.dg/warn/Wstring-literal-comparison-3.C: Likewise.
* g++.dg/warn/Wstring-literal-comparison-4.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108120 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR c++/25263
sayle [Tue, 6 Dec 2005 14:00:09 +0000 (14:00 +0000)]
PR c++/25263
* decl.c (compute_array_index_type): Check that itype is an
INTEGER_CST node before testing/clearing TREE_OVERFLOW.

* g++.dg/other/array2.C: New test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108119 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * vi.po: Update.
jsm28 [Tue, 6 Dec 2005 13:40:58 +0000 (13:40 +0000)]
* vi.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108117 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * opts.c (decode_options): Fix typo in message.
schwab [Tue, 6 Dec 2005 11:27:09 +0000 (11:27 +0000)]
* opts.c (decode_options): Fix typo in message.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108115 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR other/13873
amodra [Tue, 6 Dec 2005 09:55:04 +0000 (09:55 +0000)]
PR other/13873
* longlong.h: Merge PPC tests from upstream.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108110 138bc75d-0d04-0410-961f-82ee72b054a4