gcc.git
18 years agoexp_attr.adb (Expand_N_Attribute_Reference, [...]): If attribute Mechanism_Code is...
Robert Dewar [Wed, 15 Feb 2006 09:37:43 +0000 (10:37 +0100)]
exp_attr.adb (Expand_N_Attribute_Reference, [...]): If attribute Mechanism_Code is applied to renamed subprogram...

2006-02-13  Robert Dewar  <dewar@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference, case Mechanism_Code): If
attribute Mechanism_Code is applied to renamed subprogram, modify
prefix to point to base subprogram.
Max/Min attributes now violate Restriction No_Implicit_Conditionals

* sinfo.ads: Document that Mechanism_Code cannot be applied to
renamed subprograms so that the front-end must replace the prefix
appropriately.

From-SVN: r111058

18 years agoexp_aggr.adb (Build_Array_Aggr_Code): Rename variable "Others_Mbox_Present" to "Other...
Ed Schonberg [Wed, 15 Feb 2006 09:37:33 +0000 (10:37 +0100)]
exp_aggr.adb (Build_Array_Aggr_Code): Rename variable "Others_Mbox_Present" to "Others_Box_Present" because the mbox...

2006-02-13  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Build_Array_Aggr_Code): Rename variable
"Others_Mbox_Present" to "Others_Box_Present" because the mbox concept
does not exist in the Ada RM.
(Compatible_Int_Bounds): Determine whether two integer range bounds
are of equal length and have the same start and end values.
(Is_Int_Range_Bounds): Determine whether a node is an integer range.
(Build_Record_Aggr_Code): Perform proper sliding of a nested array
aggregate when it is part of an object declaration.
(Build_Record_Aggr_Code)  If the aggregate ttype is a derived type that
constrains discriminants of its parent, add explicitly the discriminant
constraints of the ancestor by retrieving them from the
stored_constraint of the parent.

From-SVN: r111057

18 years agobindusg.adb: Updated documentation for -d and -D switches.
Quentin Ochem [Wed, 15 Feb 2006 09:37:21 +0000 (10:37 +0100)]
bindusg.adb: Updated documentation for -d and -D switches.

2006-02-13  Quentin Ochem  <ochem@adacore.com>
    Olivier Hainque  <hainque@adacore.com>

* bindusg.adb: Updated documentation for -d and -D switches.

* raise.h (__gnat_set_globals): added new parameter for
Default_Stack_Size.

* init.c (__gnat_adjust_context_for_raise) <alpha-vms case>: Implement.
(__gnat_handle_vms_condition): Adjust context before raise.
(__gnat_install_handler): Restore the global vector setup for GCC
versions before 3.4, as the frame based circtuitry is not available
in this case.
(__gnat_set_globals): added a parameter default_stack_size
(__gl_default_stack_size): new variable.

From-SVN: r111056

18 years agoeinfo.ads, einfo.adb (First_Tag_Component): Protect the frontend against errors in...
Javier Miranda [Wed, 15 Feb 2006 09:37:10 +0000 (10:37 +0100)]
einfo.ads, einfo.adb (First_Tag_Component): Protect the frontend against errors in the source program...

2006-02-13  Javier Miranda  <miranda@adacore.com>
    Robert Dewar  <dewar@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* einfo.ads, einfo.adb (First_Tag_Component): Protect the frontend
against errors in the source program: a private types for which the
corresponding full type declaration is missing and pragma CPP_Virtual
is used.
(Is_Unchecked_Union): Check flag on Implementation_Base_Type.
(Is_Known_Null): New flag
(Has_Pragma_Pure): New flag
(No_Return): Present in all entities, set only for procedures
(Is_Limited_Type): A type whose ancestor is an interface is limited if
explicitly declared limited.
(DT_Offset_To_Top_Func): New attribute that is present in E_Component
entities. Only used for component marked Is_Tag. If present it stores
the Offset_To_Top function used to provide this value in tagged types
whose ancestor has discriminants.

* exp_ch2.adb: Update status of new Is_Known_Null flag

* sem_ch7.adb: Maintain status of new Is_Known_Null flag

* sem_cat.adb (Get_Categorization): Don't treat function as Pure in
the categorization sense if Is_Pure was set by pragma Pure_Function.

From-SVN: r111055

18 years agoopt.ads opt.adb: Add Ada_Version_Explicit_Config along with save/restore routines.
Robert Dewar [Wed, 15 Feb 2006 09:36:57 +0000 (10:36 +0100)]
opt.ads opt.adb: Add Ada_Version_Explicit_Config along with save/restore routines.

2006-02-13  Robert Dewar  <dewar@adacore.com>
    Serguei Rybin  <rybin@adacore.com>

* opt.ads opt.adb: Add Ada_Version_Explicit_Config along with
save/restore routines.
Properly handle Ada_Version_Explicit and Ada_Version_Config, which
were not always properly handled previously.
Since we are changing the tree format anyway, also get rid of the
junk obsolete Immediate_Errors flag.
(Tree_Read): Change the way of reading Tree_Version_String - now we
read the version string from the tree even if its length is not the
same as the length of the version string computed from Gnatvsn.
(Search_Directory_Present): New Boolean flag for the compiler.
Define Tree_Version_String as a dynamic string.
(Default_Stack_Size): new variable, used to handle switch -d.

* par-prag.adb:
For pragma Ada_2005, remove stuff about setting Ada_Version_Explicit
only for main unit.
Add pragma Ada_2005 (synonym for Ada_05)
Properly handle Ada_Version_Explicit and Ada_Version_Config, which
were not always properly handled previously.

* directio.ads, ioexcept.ads, sequenio.ads, text_io.ads: Change
explicit Ada_95 to Ada_2005.

From-SVN: r111054

18 years agodebug.adb: Eliminate numeric switches for binder/gnatmake
Robert Dewar [Wed, 15 Feb 2006 09:36:45 +0000 (10:36 +0100)]
debug.adb: Eliminate numeric switches for binder/gnatmake

2006-02-13  Robert Dewar  <dewar@adacore.com>
    Vincent Celier  <celier@adacore.com>

* debug.adb: Eliminate numeric switches for binder/gnatmake

* switch-m.adb (Normalize_Compiler_Switches): Record numeric debug
switches for the compiler.
(Scan_Make_Switches): Do not allow numeric debug switches for gnatmake
(Scan_Make_Switches): When failing with an illegal switch, output an
error message with the full switch.
Eliminate numeric switches for binder/gnatmake

* switch.ads, switch.adb (Bad_Switch): New procedure

* switch-b.adb (Scan_Binder_Switches): Do not accept combined switches.
Remove 0-9 as debug flag character possibilities
-d is now controlling the primary stack size when its value is a
positive. Also add checks against invalid values, and support for kb,
mb. Ditto for -D switch.

From-SVN: r111053

18 years agochecks.adb (Build_Discriminant_Checks): If the expression being checks is an aggregat...
Ed Schonberg [Wed, 15 Feb 2006 09:36:35 +0000 (10:36 +0100)]
checks.adb (Build_Discriminant_Checks): If the expression being checks is an aggregate retrieve the values of its...

2006-02-13  Ed Schonberg  <schonberg@adacore.com>
    Thomas Quinot  <quinot@adacore.com>

* checks.adb (Build_Discriminant_Checks): If the expression being
checks is an aggregate retrieve the values of its discriminants to
generate the check, rather than creating a temporary and a reference
to it.
(Apply_Access_Check): Rewritten to handle new Is_Known_Null flag
(Install_Null_Excluding_Check): Ditto
(Selected_Length_Checks): Build actual subtype for the original Ck_Node,
not for the renamed object, so that the actual itype is attached in the
proper context.

From-SVN: r111052

18 years agoa-direct.adb (Duration_To_Time, [...]): New Unchecked_Conversion functions.
Vincent Celier [Wed, 15 Feb 2006 09:36:23 +0000 (10:36 +0100)]
a-direct.adb (Duration_To_Time, [...]): New Unchecked_Conversion functions.

2006-02-13  Vincent Celier  <celier@adacore.com>

* a-direct.adb (Duration_To_Time, OS_Time_To_Long_Integer): New
Unchecked_Conversion functions.
(Modification_Time): Use direct conversion of OS_Time to Calendar time
when OpenVMS returns False.

* a-dirval-mingw.adb, a-dirval-vms.adb, a-dirval.ads,
a-dirval.adb (OpenVMS): New Boolean function

From-SVN: r111051

18 years agos-stchop.adb (Stack_Check): Raise Storage_Error if the argument has wrapped around.
Eric Botcazou [Wed, 15 Feb 2006 09:36:13 +0000 (10:36 +0100)]
s-stchop.adb (Stack_Check): Raise Storage_Error if the argument has wrapped around.

2006-02-13  Eric Botcazou  <ebotcazou@adacore.com>

* s-stchop.adb (Stack_Check): Raise Storage_Error if the argument has
wrapped around.

From-SVN: r111050

18 years agoerr_vars.ads: Suppress range checks for a couple of assignments which otherwise cause...
Robert Dewar [Wed, 15 Feb 2006 09:36:02 +0000 (10:36 +0100)]
err_vars.ads: Suppress range checks for a couple of assignments which otherwise cause...

2006-02-13  Robert Dewar  <dewar@adacore.com>
    Eric Botcazou  <ebotcazou@adacore.com>

* err_vars.ads: Suppress range checks for a couple of assignments
which otherwise cause validity checks with validity checking turned on.
Update comments.

* errout.adb (Error_Msg_Internal): Do not suppress warning messages.
Make message unconditional if it is a warning.
(Error_Msg_NEL): Always output warning messages.
Suppress range checks for a couple of assignments which otherwise
cause validity checks with validity checking turned on.

* errout.ads (Message Insertion Characters): Document that '!' is
implied by '?' in error messages.

* gnat1drv.adb: (Bad_Body): Remove '!' in warning message.
(Gnat1drv): Use a goto to end of main subprogram instead of
Exit_Program (E_Success) so that finalization can occur normally.

From-SVN: r111049

18 years agoerroutc.ads, [...] (Set_Message_Blank): Don't insert space after hyphen (small aesthe...
Robert Dewar [Wed, 15 Feb 2006 09:35:45 +0000 (10:35 +0100)]
erroutc.ads, [...] (Set_Message_Blank): Don't insert space after hyphen (small aesthetic change useful for a range of...

2006-02-13  Robert Dewar  <dewar@adacore.com>

* erroutc.ads, erroutc.adb (Set_Message_Blank): Don't insert space
after hyphen (small aesthetic change useful for a range of numbers
using ^-^.
Suppress range checks for a couple of assignments which otherwise
cause validity checks with validity checking turned on.

* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Size):
Improvement in error message for object.
(Rep_Item_Too_Late): Remove '!' in warning message.

From-SVN: r111048

18 years agognatvsn.ads (Current_Year): New constant, used to easily update copyright on all...
Robert Dewar [Wed, 15 Feb 2006 09:35:33 +0000 (10:35 +0100)]
gnatvsn.ads (Current_Year): New constant, used to easily update copyright on all GNAT tools.

2006-02-13  Robert Dewar  <dewar@adacore.com>

* gnatvsn.ads (Current_Year): New constant, used to easily update
copyright on all GNAT tools.

* gnatls.adb, gnatname.adb, vms_conv.adb: Add 2006 to displayed
copyright notice.

From-SVN: r111047

18 years agognatlink.adb (Process_Binder_File): If -shared is specified, invoke gcc to link with...
Vincent Celier [Wed, 15 Feb 2006 09:35:23 +0000 (10:35 +0100)]
gnatlink.adb (Process_Binder_File): If -shared is specified, invoke gcc to link with option -shared-libgcc.

2006-02-13  Vincent Celier  <celier@adacore.com>

* gnatlink.adb (Process_Binder_File): If -shared is specified, invoke
gcc to link with option -shared-libgcc.
(Gnatlink): Remove duplicate switches -shared-libgcc

From-SVN: r111046

18 years agobindgen.adb (Gen_Main_C): declare the ensure_reference variable as volatile...
Joel Brobecker [Wed, 15 Feb 2006 09:35:12 +0000 (10:35 +0100)]
bindgen.adb (Gen_Main_C): declare the ensure_reference variable as volatile...

2006-02-13  Joel Brobecker  <brobecke@adacore.com>

* bindgen.adb (Gen_Main_C): declare the ensure_reference variable as
volatile, to tell the compiler to preserve this variable at any level
of optimization.
(Gen_Versions_Ada): Temporarily work around codegen bug.

From-SVN: r111045

18 years agoback_end.adb (Scan_Compiler_Arguments): Check if Search_Directory_Present is True...
Vincent Celier [Wed, 15 Feb 2006 09:34:58 +0000 (10:34 +0100)]
back_end.adb (Scan_Compiler_Arguments): Check if Search_Directory_Present is True and...

2006-02-13  Vincent Celier  <celier@adacore.com>

* back_end.adb (Scan_Compiler_Arguments): Check if
Search_Directory_Present is True and, if it is, add the argument in
the source search directory path.

* switch-c.adb (Scan_Front_End_Switches): Accept switch "-I". Set
Search_Directory_Present to True.

From-SVN: r111044

18 years agore PR ada/20753 (ACATS ce3810b segfaults at runtime)
Geert Bosch [Wed, 15 Feb 2006 09:34:48 +0000 (10:34 +0100)]
re PR ada/20753 (ACATS ce3810b segfaults at runtime)

2006-02-13  Geert Bosch  <bosch@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* a-tifiio.adb (Put_Digits): Test Last against To'First - 1 instead of
0, since the lower bound of the actual string may be greater than one.

PR ada/20753

(Put): Fix condition to raise Layout_Error when invalid
layout is requested.

From-SVN: r111043

18 years agortsfind.adb, [...]: Minor code reorganization (not Present should be No)
Robert Dewar [Wed, 15 Feb 2006 09:34:36 +0000 (10:34 +0100)]
rtsfind.adb, [...]: Minor code reorganization (not Present should be No)

2006-02-13  Robert Dewar  <dewar@adacore.com>

* rtsfind.adb, exp_prag.adb, lib-writ.adb, par-labl.adb,
sem_case.adb: Minor code reorganization (not Present should be No)

From-SVN: r111042

18 years agoa-tiboio.adb, [...]: New files.
Hristian Kirtchev [Wed, 15 Feb 2006 09:34:21 +0000 (10:34 +0100)]
a-tiboio.adb, [...]: New files.

2006-02-13  Hristian Kirtchev  <kirtchev@adacore.com>

* a-tiboio.adb, a-tiboio.ads, a-wwboio.adb,
a-wwboio.ads, a-zzboio.adb, a-zzboio.ads:  New files.

* impunit.adb, Makefile.rtl: Added new Ada 2005 units.

From-SVN: r111041

18 years agoa-rttiev.adb, [...]: New files.
Pat Rogers [Wed, 15 Feb 2006 09:33:57 +0000 (10:33 +0100)]
a-rttiev.adb, [...]: New files.

2006-02-13  Pat Rogers  <rogers@adacore.com>

* a-rttiev.adb, a-rttiev.ads: New files.

From-SVN: r111040

18 years agoa-envvar.adb, [...]: New files.
Nicolas Roche [Wed, 15 Feb 2006 09:33:38 +0000 (10:33 +0100)]
a-envvar.adb, [...]: New files.

2006-02-13  Nicolas Roche  <roche@adacore.com>

* a-envvar.adb, a-envvar.ads: New files.

From-SVN: r111039

18 years agoa-ticoio.ads, [...]: Add use clause (moved here from spec)
Robert Dewar [Wed, 15 Feb 2006 09:33:28 +0000 (10:33 +0100)]
a-ticoio.ads, [...]: Add use clause (moved here from spec)

2006-02-13  Robert Dewar  <dewar@adacore.com>

* a-ticoio.ads, a-ticoio.adb: Add use clause (moved here from spec)

* a-coteio.ads, a-lcteio.ads, a-llctio.ads, a-scteio.ads: New files.

From-SVN: r111038

18 years agolang.opt: Wvariadic-macros: New option.
Eric Botcazou [Wed, 15 Feb 2006 09:33:16 +0000 (10:33 +0100)]
lang.opt: Wvariadic-macros: New option.

2006-02-13  Eric Botcazou  <ebotcazou@adacore.com>

* lang.opt: Wvariadic-macros: New option.
Wold-style-definition: Likewise.
Wmissing-format-attribute: Likewise.

* misc.c (gnat_handle_option): New cases for -Wvariadic-macros,
-Wold-style-definition and -Wmissing-format-attribute.

From-SVN: r111037

18 years agoa-cgcaso.adb, [...]: Implemented using heapsort instead of quicksort.
Matthew Heaney [Wed, 15 Feb 2006 09:33:04 +0000 (10:33 +0100)]
a-cgcaso.adb, [...]: Implemented using heapsort instead of quicksort.

2006-02-13  Matthew Heaney  <heaney@adacore.com>

* a-cgcaso.adb, a-cgaaso.adb: Implemented using heapsort instead of
quicksort.

From-SVN: r111036

18 years agoa-rbtgso.adb, [...]: All explicit raise statements now include an exception message.
Matthew Heaney [Wed, 15 Feb 2006 09:32:52 +0000 (10:32 +0100)]
a-rbtgso.adb, [...]: All explicit raise statements now include an exception message.

2006-02-13  Matthew Heaney  <heaney@adacore.com>

* a-rbtgso.adb, a-crbtgo.adb, a-crbtgk.adb, a-coorse.adb,
a-cohama.adb, a-ciorse.adb, a-cihama.adb, a-cihase.adb,
a-cohase.adb: All explicit raise statements now include an exception
message.

* a-ciormu.ads, a-ciormu.adb, a-coormu.ads, a-coormu.adb
(Update_Element_Preserving_Key): renamed op to just Update_Element.
Explicit raise statements now include an exception message

* a-cihase.ads, a-cohase.ads: Removed comment.

* a-stboha.ads, a-stboha.adb, a-stfiha.ads, a-envvar.adb,
a-envvar.ads, a-swbwha.ads, a-swbwha.adb, a-swfwha.ads, a-szbzha.ads,
a-szbzha.adb, a-szfzha.ads: New files.

From-SVN: r111035

18 years agos-parame-mingw.adb, [...]: Removed, replaced by s-parame.adb
Arnaud Charlet [Wed, 15 Feb 2006 09:32:35 +0000 (10:32 +0100)]
s-parame-mingw.adb, [...]: Removed, replaced by s-parame.adb

* s-parame-mingw.adb, s-parame-linux.adb,
s-parame-solaris.adb: Removed, replaced by s-parame.adb

* s-parame-vxworks.ads: Fix typo.

* s-parame-vxworks.adb: New file.

* s-parame.adb: Version now used by all native platforms.
(Default_Stack_Size): Use 2 megs for default stack size and use
__gl_default_stack_size when available.
(Minimum_Stack_Size): Use 12K.

* s-taprop-mingw.adb: Set default stack size linker switch to 2megs.
(Create_Task): Refine implementation taking advantage of the XP stack
size support. On XP, we now create the thread using the flag
STACK_SIZE_PARAM_IS_A_RESERVATION.

* s-osinte-mingw.ads (Stack_Size_Param_Is_A_Reservation): New constant.

* sysdep.c (__gnat_is_windows_xp): New routine, returns 1 on Windows
XP and 0 on older Windows versions.

* interfac-vms.ads: Removed, no longer used.

From-SVN: r111034

18 years agoa-stwisu.adb, [...] (Super_Slice): Fix slice index.
Arnaud Charlet [Wed, 15 Feb 2006 09:32:25 +0000 (10:32 +0100)]
a-stwisu.adb, [...] (Super_Slice): Fix slice index.

* a-stwisu.adb, a-strsup.adb, a-stzsup.adb (Super_Slice): Fix slice
index.

* a-stwima.adb (To_Set): Add extra check when N = 0.

* g-regpat.adb: (Match_Simple_Operator): Avoid possible overflow.

From-SVN: r111033

18 years agoali-util.adb (Get_File_Checksum): Update to account for change in profile of Initiali...
Thomas Quinot [Wed, 15 Feb 2006 09:32:12 +0000 (10:32 +0100)]
ali-util.adb (Get_File_Checksum): Update to account for change in profile of Initialize_Scanner.

2006-02-13  Thomas Quinot  <quinot@adacore.com>
    Vincent Celier  <celier@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* ali-util.adb (Get_File_Checksum): Update to account for change in
profile of Initialize_Scanner.

* gprep.adb (Gnatprep): Update to account for change in profile of
Initialize_Scanner.
(Process_One_File): Same.

* lib.adb (Get_Code_Or_Source_Unit): New subprogram factoring the
common code between Get_Code_Unit and Get_Source_Unit. Reimplement
that behaviour using the new Unit information recorded in the source
files table, rather than going through all units every time.
(Get_Code_Unit): Reimplement in terms of Get_Code_Or_Source_Unit.
(Get_Source_Unit): Same.

* prepcomp.adb (Parse_Preprocessing_Data_File): Update to account for
change in profile of Initialize_Scanner.
(Prepare_To_Preprocess): Same.

* lib.ads: Fix typo in comment (templace -> template).

* prj-part.adb (Parse_Single_Project): Update to account for change in
profile of Initialize_Scanner.

* scn.adb (Initialize_Scanner): Account for change in profile of
Scng.Initialize_Scanner: set Current_Source_Unit in Scn instead of Scng.
Also record the association of the given Source_File_Index to the
corresponding Unit_Number_Type.

* scng.ads, scng.adb (Initialize_Scanner.Set_Reserved): Remove
procedure.
(Initialize_Scanner): Call Scans.Initialize_Ada_Keywords.
Remove Unit formal for generic scanner: this formal
is only relevant to Scn (the scanner instance used to parse Ada source
files), not to other instances. Update comment accordingly.
(Scan): Use new function Snames.Is_Keyword_Name.

* sinfo-cn.adb: Fix typo in comment.

* sinput.adb (Unit, Set_Unit): Accessors for new source file attribute
Unit.

* sinput.ads (Source_File_Record): New component Unit, used to capture
the unit identifier (if any) associated to a source file.

* sinput-c.adb, sinput-l.adb (Load_File): Initialize new component
Unit in Source_File_Record.

* sinput-p.adb (Source_File_Is_Subunit): Update to account for change
in profile of Initialize_Scanner.

* scans.adb (Initialize_Ada_Keywords): New procedure

* scans.ads (Initialize_Ada_Keywords): New procedure to initialize the
Ada keywords in the Namet table, without the need to call
Initialize_Scanner.

* snames.adb: Add pragma Ada_2005 (synonym for Ada_05)
(Is_Keyword_Name): New function

* snames.ads: Add subtype Configuration_Pragma_Names
Add pragma Ada_2005 (synonym for Ada_05)
(Is_Keyword_Name): New function

* snames.h: Add pragma Ada_2005 (synonym for Ada_05)

From-SVN: r111032

18 years ago2006-02-13 Arnaud Charlet <charlet@adacore.com>
Arnaud Charlet [Wed, 15 Feb 2006 09:31:54 +0000 (10:31 +0100)]
2006-02-13  Arnaud Charlet  <charlet@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* a-exexpr.adb, a-exexpr-gcc.adb
(Process_Raise_Exception): Removed, merged with Propagate_Exception.
(Propagate_Exception): Now take extra From_Signal_Handler parameter.
Remove code unused for exception propagation for the compiler itself
  from a-except.adb and update to still share separate packages.

* a-except.ads, a-except.adb: Ditto.
Add comments that this version is now used only by the compiler and
other basic tools. The full version that includes the Ada 2005 stuff
is in separate files a-except-2005.ads/adb. The reason is that we do
not want to cause bootstrap problems with compilers not recognizing
Wide_Wide_String.
Add exception reason code PE_Implicit_Return
Add new exception reason code (Null Exception_Id)

* a-except-2005.adb, a-except-2005.ads: New files.

* s-wchcon.ads: (Get_WC_Encoding_Method): New function.

* s-wchcon.adb: New file.

* Makefile.in (LIBGNAT_SRCS): Add tb-gcc.c.
(traceback.o deps): Likewise.
(SPARC/Solaris): Accept sparc[64|v9]-sun-solaris.
Activate build of GMEM instrumentation library on VMS targets.
(gnatlib-sjlj, gnatlib-zcx): Pass EH_MECHANISM to make gnatlib.
Use a-except-2005.ads/adb for all run-time library builds unless
specified otherwise.
[VMS] (LIBGNAT_TARGET_PAIRS_AUX1,2): Rename s-parame-vms.ads to
s-parame-vms-alpha.ads and add s-parame-vms-ia64.ads.
Use s-parame.adb on all native platforms.
Use s-parame-vxworks.adb on all vxworks platforms.
Add env.c env.h in LIBGNAT_SRCS
Add env.o in LIBGNAT_OBJS
(GNATMAKE_OBJS): Remove ctrl_c.o object.
(LIBGNAT_TARGET_PAIRS for x86-vxworks): Use an specialized version of
s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
supports VxWorks 6 RTPs.
(EXTRA_GNATRTL_NONTASKING_OBJS for x86-vxworks): Remove the use of
i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.

* types.h, types.ads (Terminate_Program): New exception
Add comment on modifying multiple versions of a-except.adb when the
table of exception reasons is modified.
Add exception reason code PE_Implicit_Return
Add new exception reason code (Null Exception_Id)

        * clean.adb (Initialize): Get the target parameters before checking
        if target is OpenVMS. Move the OpenVMS specific code here from package
        body elaboration code.

From-SVN: r111031

18 years agore PR ada/26096 (Ada bootstrap fails in g-alleve.adb)
Richard Kenner [Wed, 15 Feb 2006 09:31:40 +0000 (10:31 +0100)]
re PR ada/26096 (Ada bootstrap fails in g-alleve.adb)

2006-02-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
    Olivier Hainque  <hainque@adacore.com>
    Eric Botcazou  <ebotcazou@adacore.com>

* ada-tree.h: (TYPE_UNCHECKED_UNION_P): Deleted.

* gigi.h (value_factor_p): Add prototype and description, now public.

* decl.c (gnat_to_gnu_field): Don't attempt BLKmode to integral type
promotion for field with rep clause if the associated size was proven
to be in error.
Expand comments describing attempts to use a packable type.
(gnat_to_gnu_entity) <E_Signed_Integer_Subtype,
E_Floating_Point_Subtype>: Inherit alias set of what we are making a
subtype of to ensure conflicts amongst all subtypes in a hierarchy,
necessary since these are not different types and pointers may
actually designate any subtype in this hierarchy.
(gnat_to_gnu_entity, case E_Record_Type): Always make fields for
discriminants but put them into record only if not Unchecked_Union;
pass flag to components_to_record showing Unchecked_Union.
(make_dummy_type): Use UNION_TYPE only if Unchecked_Union and no
components before variants; don't set TYPE_UNCHECKED_UNION_P.
(components_to_record): New argument UNCHECKED_UNION.
Remove special case code for Unchecked_Union and instead use main code
with small changes.

PR ada/26096
(gnat_to_gnu_entity) <E_Variable>: Do not initialize the
aligning variable with the expression being built, only its inner
field.

* trans.c (Handled_Sequence_Of_Statements_to_gnu): Remove call to
emit_sequence_entry_statements.
(emit_sequence_entry_statements, body_with_handlers_p): Delete.
(establish_gnat_vms_condition_handler): Move before
Subprogram_Body_to_gnu.
(Subprogram_Body_to_gnu): On VMS, establish_gnat_vms_condition_handler
for a subprogram if it has a foreign convention or is exported.
(Identifier_to_gnu): Manually unshare the DECL_INITIAL tree when it is
substituted for a CONST_DECL.
(tree_transform, case N_Aggregate): Remove code for UNION_TYPE and pass
Etype to assoc_to_constructor.
(assoc_to_constructor): New argument, GNAT_ENTITY; use it to ignore
discriminants of Unchecked_Union.
(TARGET_ABI_OPEN_VMS): Define to 0 if not defined, so that later uses
don't need cluttering preprocessor directives.
(establish_gnat_vms_condition_handler): New function. Establish the GNAT
condition handler as current in the compiled function.
(body_with_handlers_p): New function. Tell whether a given sequence of
statements node is attached to a package or subprogram body and involves
exception handlers possibly nested within inner block statements.
(emit_sequence_entry_statements): New function, to emit special
statements on entry of sequences when necessary. Establish GNAT
condition handler in the proper cases for VMS.
(Handled_Sequence_Of_Statements_to_gnu): Start block code with
emit_sequence_entry_statements.

* utils2.c (find_common_type): If both input types are BLKmode and
have a constant size, use the smaller one.
(build_simple_component_ref): Also match if FIELD and NEW_FIELD are
the same.

* utils.c (value_factor_p): Make public, to allow uses from other gigi
units.
(create_type_decl): Do not set the flag DECL_IGNORED_P for dummy types.
(convert, case UNION_TYPE): Remove special treatment for unchecked
unions.

PR ada/18659
(update_pointer_to): Update variants of pointer types to
unconstrained arrays by attaching the list of fields of the main
variant.

From-SVN: r111030

18 years agoadaint.h, adaint.c (DIR_SEPARATOR): Use _T() macro for Unicode support.
Pascal Obry [Wed, 15 Feb 2006 09:30:39 +0000 (10:30 +0100)]
adaint.h, adaint.c (DIR_SEPARATOR): Use _T() macro for Unicode support.

2006-02-13  Pascal Obry  <obry@adacore.com>
    Nicolas Roche  <roche@adacore.com>
    Arnaud Charlet  <charlet@adacore.com>

* adaint.h, adaint.c (DIR_SEPARATOR): Use _T() macro for Unicode
support.
(__gnat_try_lock): Add unicode support by using a specific section on
Windows.
(__gnat_get_current_dir): Idem.
(__gnat_open_read): Idem.
(__gnat_open_rw): Idem.
(__gnat_open_create): Idem.
(__gnat_create_output_file): Idem.
(__gnat_open_append): Idem.
(__gnat_open_new): Idem.
(__gnat_file_time_name): Idem.
(__gnat_set_file_time_name): Idem.
(__gnat_stat): Idem.
(win32_no_block_spawn): Idem.
(__gnat_locate_exec_on_path): Idem.
(__gnat_opendir): New routine.
(__gnat_closedir): Idem.
(__gnat_readdir): Add new parameter length (pointer to int). Update
implementation to use it and add specific Win32 code for Unicode
support.
(__gnat_get_env_value_ptr): Remove. Replaced by __gnat_getenv in env.c
(__gnat_set_env_value): Remove. Replaced by __gnat_setenv in env.c
(convert_addresses): Do not define this dummy routine on VMS.

* mingw32.h (GNAT_UNICODE_SUPPORT): New definition, if set the GNAT
runtime Unicode support will be activated.
(S2WS): String to Wide-String conversion. This version just copy a
string in non Unicode version.
(WS2S): Wide-String to String conversion. This version just copy a
string in non Unicode version.

* g-dirope.adb: (Close): Now import __gnat_closedir from adaint.c.
(Open): Now import __gnat_opendir from adaint.c.
(Read): Change the implementation to support unicode characters. It is
not possible to use strlen() on Windows as this version supports only
standard ASCII characters. So the length of the directory entry is now
returned from the imported __gnat_readdir routine.
Update copyright notice.

* s-crtl-vms64.ads, s-crtl.ads: (closedir): Moved to adaint.c.
(opendir): Moved to adaint.c.

* g-os_lib.adb (Copy_Time_Stamp): Fix off-by-one range computation.
(Get_Directory): Fix wrong indexing.
(Getenv): replace __gnat_get_env_value_ptr from adaint.c by
__gnat_getenv from env.c
(Setenv): replace __gnat_set_env_value from adaint.c by __gnat_setenv
from env.c

* env.h, env.c: New file.

* s-scaval.adb (Initialize): Replace __gnat_get_env_value_ptr from
adaint.c by __gnat_getenv from env.c

* s-shasto.adb (Initialize): replace __gnat_get_env_value_ptr from
adaint.c by __gnat_getenv from env.c

* Make-lang.in: Add env.o in the list of C object needed by gnat1
and gnatbind.
Update dependencies.

From-SVN: r111029

18 years agoadadecode.h, [...]: (__gnat_decode): Improve support of types.
Nicolas Setton [Wed, 15 Feb 2006 09:30:24 +0000 (10:30 +0100)]
adadecode.h, [...]: (__gnat_decode): Improve support of types.

2006-02-13  Nicolas Setton  <setton@adacore.com>

* adadecode.h, adadecode.c: (__gnat_decode): Improve support of types.
(get_encoding): New subprogram. Extracts the encodings from an encoded
Ada name.

From-SVN: r111028

18 years agosystem-mingw.ads (Underlying_Priorities): Update the priority mapping table to take...
Pascal Obry [Wed, 15 Feb 2006 09:30:12 +0000 (10:30 +0100)]
system-mingw.ads (Underlying_Priorities): Update the priority mapping table to take advantage of the 16 priority levels...

2006-02-13  Pascal Obry  <obry@adacore.com>

* system-mingw.ads (Underlying_Priorities): Update the priority mapping
table to take advantage of the 16 priority levels available on Windows
2000 and XP. On NT4 there are only 7 priority levels, this is properly
supported by this new mapping.

From-SVN: r111027

18 years agos-taprop-posix.adb, [...] (Create_Task): Remove task adjustment code.
Pascal Obry [Wed, 15 Feb 2006 09:29:59 +0000 (10:29 +0100)]
s-taprop-posix.adb, [...] (Create_Task): Remove task adjustment code.

2006-02-13  Pascal Obry  <obry@adacore.com>

* s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb,
s-taprop-lynxos.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
s-taprop-linux.adb, s-taprop-solaris.adb,
s-taprop-vms.adb (Create_Task): Remove task adjustment code. This
adjustement is already done when calling this routine.

From-SVN: r111026

18 years agos-osinte-darwin.adb, [...] (sigset_t_ptr): Removed, replaced by anonymous access...
Arnaud Charlet [Wed, 15 Feb 2006 09:29:34 +0000 (10:29 +0100)]
s-osinte-darwin.adb, [...] (sigset_t_ptr): Removed, replaced by anonymous access type.

* s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-vxworks.ads,
s-osinte-solaris.ads, s-osinte-linux.ads, s-osinte-freebsd.ads,
s-osinte-solaris-posix.ads, s-osinte-lynxos-3.ads, s-osinte-lynxos.ads,
s-osinte-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads,
s-osinte-hpux-dce.ads, s-osinte-linux-hppa.ads,
s-osinte-linux-alpha.ads, s-inmaop-posix.adb (sigset_t_ptr): Removed,
replaced by anonymous access type.
(pthread_sigmask): Now take an access sigset_t

* s-osinte-hpux.ads:  Ditto.
(pthread_mutex_t, pthread_cond_t): Update definitions to support
properly 32 and 64 bit ABIs.

From-SVN: r111025

18 years agoa-tasatt.adb, [...]: Remove redundant with clauses.
Hristian Kirtchev [Wed, 15 Feb 2006 09:29:17 +0000 (10:29 +0100)]
a-tasatt.adb, [...]: Remove redundant with clauses.

2006-02-13  Hristian Kirtchev  <kirtchev@adacore.com>

* a-tasatt.adb, s-osinte-lynxos-3.adb, s-osinte-lynxos.adb,
s-osinte-aix.adb, s-interr-sigaction.adb, s-asthan-vms-alpha.adb,
s-interr-vms.adb, s-intman-vms.adb, s-interr-vxworks.adb,
s-intman-vxworks.adb, s-asthan-vms-alpha.adb, a-ztexio.adb,
a-reatim.adb, a-taside.adb, a-textio.adb, a-witeio.adb, prj-attr.adb,
s-intman-irix.adb, s-intman-solaris.adb, s-intman-posix.adb,
a-dynpri.adb, a-interr.adb, g-dynhta.adb, s-asthan.adb, s-interr.adb,
s-pooglo.adb, s-pooloc.adb, s-poosiz.adb, s-tasren.adb, s-tasuti.adb,
s-tataat.adb, s-tpobop.adb: Remove redundant with clauses.

From-SVN: r111024

18 years agos-gloloc-mingw.adb, [...]: Minor reformatting.
Robert Dewar [Wed, 15 Feb 2006 09:28:43 +0000 (10:28 +0100)]
s-gloloc-mingw.adb, [...]: Minor reformatting.

2006-02-13  Robert Dewar  <dewar@adacore.com>

* s-gloloc-mingw.adb, a-cgaaso.ads, a-stzmap.adb, a-stzmap.adb,
a-stzmap.ads, a-ztcoio.adb, a-ztedit.adb, a-ztedit.ads, a-ztenau.adb,
a-ztenau.ads, a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
a-comlin.adb, a-decima.adb, a-decima.ads, a-direio.adb, a-direio.adb,
a-direio.adb, a-direio.ads, a-ngcoty.adb, a-ngcoty.ads, a-nuflra.adb,
a-nuflra.ads, a-sequio.adb, a-sequio.ads, a-sequio.ads, a-storio.ads,
a-stream.ads, a-ststio.adb, a-ststio.adb, a-ststio.ads, a-ststio.ads,
a-stwima.adb, a-stwima.adb, a-stwima.ads, a-stwise.adb, a-teioed.adb,
a-teioed.ads, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tasatt.ads,
a-tideau.adb, a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.ads, a-tiflau.adb,
a-tiflau.ads, a-tiflio.adb, a-tiflio.adb, a-tiflio.ads, a-tigeau.ads,
a-tiinau.adb, a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoio.adb,
a-timoio.ads, a-titest.adb, a-titest.ads, a-wtcoio.adb, a-wtdeau.adb,
a-wtdeau.ads, a-wtdeio.adb, a-wtdeio.ads, a-wtedit.adb, a-wtedit.adb,
a-wtedit.ads, a-wtenau.adb, a-wtenau.ads, a-wtenau.ads, a-wtenio.adb,
a-wtenio.ads, a-wtfiio.adb, a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads,
a-wtflio.adb, a-wtflio.adb, a-wtflio.ads, a-wtgeau.ads, a-wtinau.adb,
a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb, a-wtmoau.ads,
a-wtmoio.adb, a-wtmoio.ads, xref_lib.adb, xref_lib.ads, xr_tabls.adb,
g-boubuf.adb, g-boubuf.ads, g-cgideb.adb, g-io.adb, gnatdll.adb,
g-pehage.adb, i-c.ads, g-spitbo.adb, g-spitbo.ads, mdll.adb,
mlib-fil.adb, mlib-utl.adb, mlib-utl.ads, prj-env.adb, prj-tree.adb,
prj-tree.ads, prj-util.adb, s-arit64.adb, s-asthan.ads, s-auxdec.adb,
s-auxdec.ads, s-chepoo.ads, s-direio.adb, s-direio.ads, s-errrep.adb,
s-errrep.ads, s-fileio.adb, s-fileio.ads, s-finroo.adb, s-finroo.ads,
s-gloloc.adb, s-gloloc.ads, s-io.adb, s-io.ads, s-rpc.adb,
s-rpc.ads, s-shasto.ads, s-sequio.adb, s-stopoo.ads, s-stratt.adb,
s-stratt.ads, s-taasde.adb, s-taasde.ads, s-tadert.adb, s-sequio.ads,
s-taskin.adb, s-tasque.adb, s-tasque.ads, s-wchjis.ads, makegpr.adb,
a-coinve.adb, a-cidlli.adb, eval_fat.adb, exp_dist.ads, exp_smem.adb,
fmap.adb, g-dyntab.ads, g-expect.adb, lib-xref.ads, osint.adb,
par-load.adb, restrict.adb, sinput-c.ads, a-cdlili.adb,
system-vms.ads, system-vms-zcx.ads, system-vms_64.ads: Minor
reformatting.

From-SVN: r111023

18 years agoa-taster.adb (Current_Task_Fallback_Handler): Document why explicit protection agains...
Jose Ruiz [Wed, 15 Feb 2006 09:28:13 +0000 (10:28 +0100)]
a-taster.adb (Current_Task_Fallback_Handler): Document why explicit protection against race conditions is not needed.

2006-02-13  Jose Ruiz  <ruiz@adacore.com>

* a-taster.adb (Current_Task_Fallback_Handler): Document why explicit
protection against race conditions is not needed.
(Set_Dependents_Fallback_Handler): Add mutual exclusive access to the
fallback handler.
(Set_Specific_Handler): Add mutual exclusive access to the specific
handler.
(Specific_Handler): Add mutual exclusive access for retrieving the
specific handler.

* s-tarest.adb (Task_Wrapper): Add mutual exclusive access to the fall
back handler.

* s-taskin.ads (Common_ATCB): Remove pragma Atomic for
Fall_Back_Handler and Specific_Handler.

* s-tassta.adb (Task_Wrapper): Add mutual exclusive access to the task
termination handlers.
Set two different owerflow depending on the maximal stack size.

* s-solita.adb (Task_Termination_Handler_T): Document why explicit
protection against race conditions is not needed when executing the
task termination handler.

From-SVN: r111022

18 years agoa-intnam-os2.ads, [...]: Removed, no longer used.
Arnaud Charlet [Wed, 15 Feb 2006 09:27:57 +0000 (10:27 +0100)]
a-intnam-os2.ads, [...]: Removed, no longer used.

* a-intnam-os2.ads, a-intnam-unixware.ads, g-soccon-unixware.ads,
g-soliop-unixware.ads, i-os2err.ads, i-os2lib.adb, i-os2lib.ads,
i-os2syn.ads, i-os2thr.ads, s-intman-irix-athread.adb,
s-osinte-aix-fsu.ads, s-osinte-fsu.adb, s-parame-os2.adb,
s-osinte-irix-athread.ads, s-osinte-linux-fsu.ads, s-osinte-os2.adb,
s-osinte-os2.ads, s-osinte-solaris-fsu.ads, s-osinte-unixware.adb,
s-osinte-unixware.ads, s-osprim-os2.adb, s-taprop-irix-athread.adb,
s-taprop-os2.adb, s-tasinf-irix-athread.adb, s-tasinf-irix-athread.ads,
s-taspri-os2.ads, system-os2.ads, system-unixware.ads: Removed,
no longer used.

From-SVN: r111021

18 years agocfg.c (dump_flow_info): Get dump flags as an additional parameter.
Paolo Bonzini [Wed, 15 Feb 2006 09:15:56 +0000 (09:15 +0000)]
cfg.c (dump_flow_info): Get dump flags as an additional parameter.

2006-02-15  Paolo Bonzini  <bonzini@gnu.org>

* cfg.c (dump_flow_info): Get dump flags as an additional parameter.
(debug_flow_info): Pass it.
* alias.c (rest_of_handle_cfg): Adjust calls to dump_flow_info.
* bb-reorder.c (reorder_basic_blocks): Likewise.
* cfgcleanup.c (rest_of_handle_jump2): Likewise.
* cse.c (rest_of_handle_cse, rest_of_handle_cse2): Likewise.
* flow.c (life_analysis, recompute_reg_usage): Likewise.
* gcse.c (gcse_main, bypass_jumps): Likewise.
* ifcvt.c (rest_of_handle_if_conversion): Likewise.
* local-alloc.c (rest_of_handle_local_alloc): Likewise.
* loop-init.c (rtl_loop_init, rtl_loop_done): Likewise.
* profile.c (compute_branch_probabilities, branch_prob): Likewise.
* rtl.h (dump_flow_info): Adjust prototype.
* tracer.c (rest_of_handle_tracer, tracer): Likewise.
* var-tracking.c (variable_tracking_main): Likewise.
* passes.c (execute_todo): Obey TDF_BLOCKS for RTL.
* tree-dump.c (enable_rtl_dump_file): Enable the details and blocks
options.

From-SVN: r111020

18 years agotree-ssa-dom.c (dom_thread_across_edge): fix tag expression construction.
Marcin Dalecki [Wed, 15 Feb 2006 07:58:22 +0000 (08:58 +0100)]
tree-ssa-dom.c (dom_thread_across_edge): fix tag expression construction.

2006-02-15  Marcin Dalecki <martin@dalecki.de>

* tree-ssa-dom.c (dom_thread_across_edge): fix tag expression
construction.

From-SVN: r111019

18 years agore PR libgomp/25938 (libgomp installs header files in version and target independent...
Jakub Jelinek [Wed, 15 Feb 2006 07:46:39 +0000 (08:46 +0100)]
re PR libgomp/25938 (libgomp installs header files in version and target independent location)

PR libgomp/25938
PR libgomp/25984
fortran/
* Make-lang.in (install-finclude-dir): New goal.
(fortran.install-common): Depend on install-finclude-dir.
* lang-specs.h: If not -nostdinc, add -I finclude.
libgomp/
* Makefile.am (fincludedir): New variable.
(nodist_include_HEADERS): Remove Fortran files.
(nodist_finclude_HEADERS): New variable.
* Makefile.in: Regenerated.

From-SVN: r111018

18 years agocharset, [...]: Remove empty directories.
Matthias Klose [Wed, 15 Feb 2006 03:47:02 +0000 (03:47 +0000)]
charset, [...]: Remove empty directories.

2006-02-15  Matthias Klose  <doko@debian.org>

        * gnu/java/nio/charset, gnu/java/net/protocol/file,
        gnu/regexp: Remove empty directories.

From-SVN: r111015

18 years agoMAINTAINERS: Add self to fortran 95 maintainers.
Jerry DeLisle [Wed, 15 Feb 2006 01:25:03 +0000 (01:25 +0000)]
MAINTAINERS: Add self to fortran 95 maintainers.

2006-02-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* MAINTAINERS: Add self to fortran 95 maintainers.

From-SVN: r111009

18 years agoDaily bump.
GCC Administrator [Wed, 15 Feb 2006 00:17:33 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r111005

18 years agore PR tree-optimization/26209 (Specific code causes g++ 4.1.0 dominance ICE when...
Zdenek Dvorak [Tue, 14 Feb 2006 23:55:22 +0000 (23:55 +0000)]
re PR tree-optimization/26209 (Specific code causes g++ 4.1.0 dominance ICE when compiled with -O3)

PR tree-optimization/26209
* tree-ssa-loop.c (pass_scev_cprop): Add TODO_cleanup_cfg.
* tree-cfgcleanup.c (cleanup_control_flow): Remove dead
eh edges.
* tree-cfg.c (replace_uses_by): Do not alter cfg.

From-SVN: r110999

18 years agoMAINTAINERS (Write After Approval): Remove myself.
Thomas Koenig [Tue, 14 Feb 2006 22:35:10 +0000 (22:35 +0000)]
MAINTAINERS (Write After Approval): Remove myself.

2006-02-16  Thomas Koenig  <Thomas.Koenig@online.de>

* MAINTAINERS (Write After Approval):  Remove myself.
(Language Front End Maintainers):  Add myself as
fortran 95 maintainer.

From-SVN: r110998

18 years agore PR middle-end/23670 (Fold does not fold (a|b)&b to b likewise for (a&b) | b to b)
Roger Sayle [Tue, 14 Feb 2006 21:08:52 +0000 (21:08 +0000)]
re PR middle-end/23670 (Fold does not fold (a|b)&b to b likewise for (a&b) | b to b)

PR middle-end/23670
* fold-const.c (fold_binary) <BIT_IOR_EXPR>: Optimize (X&Y)|Y into
(X,Y) and the corresponding symmetry related transformations.
(fold_binary) <BIT_AND_EXPR>: Likewise, optimize (X|Y)&Y into
(X,Y) and its symmetry related transformations.

* gcc.dg/tree-ssa/andor-2.c: New test case.

From-SVN: r110997

18 years agore PR fortran/25045 ([4.1 only] DIM argument of PRODUCT is not optional)
Thomas Koenig [Tue, 14 Feb 2006 19:25:36 +0000 (19:25 +0000)]
re PR fortran/25045 ([4.1 only] DIM argument of PRODUCT is not optional)

2006-02-14  Thomas Koenig  <Thomas.Koenig@online.de>

        PR fortran/25045
        * check.c (dim_check):  Perform all checks if dim is optional.
        (gfc_check_minloc_maxloc):  Use dim_check and dim_rank_check
        to check dim argument.
        (check_reduction):  Likewise.

2006-02-14  Thomas Koenig  <Thomas.Koenig@online.de>

        PR fortran/25045
        * optional_dim.f90:  New test.

From-SVN: r110994

18 years agore PR fortran/26277 (false warning about unused label for a warning used in err=)
Tobias Schlüter [Tue, 14 Feb 2006 19:21:07 +0000 (20:21 +0100)]
re PR fortran/26277 (false warning about unused label for a warning used in err=)

fortran/
PR fortran/26277
* io.c (match_ltag): Mark label as referenced.
testsuite/
PR fortran/26277
* gfortran.dg/label_4.f90: New.

From-SVN: r110993

18 years agodojump.c (do_compare_rtx_and_jump): Also handle multi-word GTU and GEU.
Roger Sayle [Tue, 14 Feb 2006 17:54:41 +0000 (17:54 +0000)]
dojump.c (do_compare_rtx_and_jump): Also handle multi-word GTU and GEU.

        * dojump.c (do_compare_rtx_and_jump): Also handle multi-word GTU
and GEU.

From-SVN: r110992

18 years ago* simplify-rtx.c (simplify_subreg): Combine SUBREG and TRUNCATE.
Adam Nemet [Tue, 14 Feb 2006 17:45:55 +0000 (17:45 +0000)]
* simplify-rtx.c (simplify_subreg): Combine SUBREG and TRUNCATE.

From-SVN: r110990

18 years agore PR bootstrap/26053 (Misdetection of COMDAT group support with GNU as and non-GNU ld)
Rainer Orth [Tue, 14 Feb 2006 16:46:04 +0000 (16:46 +0000)]
re PR bootstrap/26053 (Misdetection of COMDAT group support with GNU as and non-GNU ld)

PR bootstrap/26053
* configure.ac (HAVE_COMDAT_GROUP): Don't assume non-GNU linkers
support COMDAT group.
* configure: Regenerate.

From-SVN: r110985

18 years agore PR fortran/25162 (Issue with OpenMP COPYIN and gfortran)
Jakub Jelinek [Tue, 14 Feb 2006 16:38:03 +0000 (17:38 +0100)]
re PR fortran/25162 (Issue with OpenMP COPYIN and gfortran)

gcc/fortran/
2006-02-14  Jakub Jelinek  <jakub@redhat.com>
    Richard Henderson  <rth@redhat.com>
    Diego Novillo  <dnovillo@redhat.com>

* invoke.texi: Document -fopenmp.
* gfortran.texi (Extensions): Document OpenMP.

Backport from gomp-20050608-branch
* trans-openmp.c: Call build_omp_clause instead of
make_node when creating OMP_CLAUSE_* trees.
(gfc_trans_omp_reduction_list): Remove argument 'code'.
Adjust all callers.

* trans.h (build4_v): Define.
* trans-openmp.c: Call build4_v to create OMP_PARALLEL nodes.
Call build3_v to create OMP_SECTIONS nodes.

PR fortran/25162
* openmp.c (gfc_match_omp_variable_list): Call gfc_set_sym_referenced
on all symbols added to the variable list.

* openmp.c (gfc_match_omp_clauses): Fix check for non-INTRINSIC
procedure symbol in REDUCTION.

* trans-openmp.c (gfc_trans_omp_array_reduction): Use gfc_add
for MINUS_EXPR OMP_CLAUSE_REDUCTION_CODE.

* trans-openmp.c (gfc_trans_omp_do): Add PBLOCK argument.  If PBLOCK
is non-NULL, evaluate INIT/COND/INCR and chunk size expressions in
that statement block.
(gfc_trans_omp_parallel_do): Pass non-NULL PBLOCK to gfc_trans_omp_do
for non-ordered non-static combined loops.
(gfc_trans_omp_directive): Pass NULL PBLOCK to gfc_trans_omp_do.

* openmp.c: Include target.h and toplev.h.
(gfc_match_omp_threadprivate): Emit diagnostic if target does
not support TLS.
* Make-lang.in (fortran/openmp.o): Add dependencies on
target.h and toplev.h.

* trans-decl.c (gfc_get_fake_result_decl): Set GFC_DECL_RESULT.
* trans-openmp.c (gfc_omp_privatize_by_reference): Make
DECL_ARTIFICIAL vars predetermined shared except GFC_DECL_RESULT.
(gfc_omp_disregard_value_expr): Handle GFC_DECL_RESULT.
(gfc_trans_omp_variable): New function.
(gfc_trans_omp_variable_list, gfc_trans_omp_reduction_list): Use it.
* trans.h (GFC_DECL_RESULT): Define.

* trans-openmp.c (gfc_omp_firstprivatize_type_sizes): New function.
* f95-lang.c (LANG_HOOKS_OMP_FIRSTPRIVATIZE_TYPE_SIZES): Define.
* trans.h (gfc_omp_firstprivatize_type_sizes): New prototype.

* trans-openmp.c (gfc_omp_privatize_by_reference): Return
true if a pointer has GFC_DECL_SAVED_DESCRIPTOR set.
(gfc_trans_omp_array_reduction, gfc_trans_omp_reduction_list): New
functions.
(gfc_trans_omp_clauses): Add WHERE argument.  Call
gfc_trans_omp_reduction_list rather than gfc_trans_omp_variable_list
for reductions.
(gfc_trans_omp_do, gfc_trans_omp_parallel, gfc_trans_omp_parallel_do,
gfc_trans_omp_parallel_sections, gfc_trans_omp_parallel_workshare,
gfc_trans_omp_sections, gfc_trans_omp_single): Adjust
gfc_trans_omp_clauses callers.

* openmp.c (omp_current_do_code): New var.
(gfc_resolve_omp_do_blocks): New function.
(gfc_resolve_omp_parallel_blocks): Call it.
(gfc_resolve_do_iterator): Add CODE argument.  Don't propagate
predetermination if argument is !$omp do or !$omp parallel do
iteration variable.
* resolve.c (resolve_code): Call gfc_resolve_omp_do_blocks
for EXEC_OMP_DO.  Adjust gfc_resolve_do_iterator caller.
* fortran.h (gfc_resolve_omp_do_blocks): New prototype.
(gfc_resolve_do_iterator): Add CODE argument.

* trans.h (gfc_omp_predetermined_sharing,
gfc_omp_disregard_value_expr, gfc_omp_private_debug_clause): New
prototypes.
(GFC_DECL_COMMON_OR_EQUIV, GFC_DECL_CRAY_POINTEE): Define.
* trans-openmp.c (gfc_omp_predetermined_sharing,
gfc_omp_disregard_value_expr, gfc_omp_private_debug_clause): New
functions.
* trans-common.c (build_equiv_decl, build_common_decl,
create_common): Set GFC_DECL_COMMON_OR_EQUIV flag on the decls.
* trans-decl.c (gfc_finish_cray_pointee): Set GFC_DECL_CRAY_POINTEE
on the decl.
* f95-lang.c (LANG_HOOKS_OMP_PREDETERMINED_SHARING,
LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR,
LANG_HOOKS_OMP_PRIVATE_DEBUG_CLAUSE): Define.

* openmp.c (resolve_omp_clauses): Remove extraneous comma.

* symbol.c (check_conflict): Add conflict between cray_pointee and
threadprivate.
* openmp.c (gfc_match_omp_threadprivate): Fail if
gfc_add_threadprivate returned FAILURE.
(resolve_omp_clauses): Diagnose Cray pointees in SHARED,
{,FIRST,LAST}PRIVATE and REDUCTION clauses and Cray pointers in
{FIRST,LAST}PRIVATE and REDUCTION clauses.

* resolve.c (omp_workshare_flag): New variable.
(resolve_function): Diagnose use of non-ELEMENTAL user defined
function in WORKSHARE construct.
(resolve_code): Cleanup forall_save use.  Make sure omp_workshare_flag
is set to correct value in different contexts.

* openmp.c (resolve_omp_clauses): Replace %s with '%s' when printing
variable name.
(resolve_omp_atomic): Likewise.

PR fortran/24493
* scanner.c (skip_free_comments): Set at_bol at the beginning of the
loop, not before it.
(skip_fixed_comments): Handle ! comments in the middle of line here
as well.
(gfc_skip_comments): Use skip_fixed_comments for FIXED_FORM even if
not at BOL.
(gfc_next_char_literal): Fix expected canonicalized *$omp string.

* trans-openmp.c (gfc_trans_omp_do): Use make_node and explicit
initialization to build OMP_FOR instead of build.

* trans-decl.c (gfc_gimplify_function): Invoke
diagnose_omp_structured_block_errors.

* trans-openmp.c (gfc_trans_omp_master): Use OMP_MASTER.
(gfc_trans_omp_ordered): Use OMP_ORDERED.

* gfortran.h (gfc_resolve_do_iterator, gfc_resolve_blocks,
gfc_resolve_omp_parallel_blocks): New prototypes.
* resolve.c (resolve_blocks): Renamed to...
(gfc_resolve_blocks): ... this.  Remove static.
(gfc_resolve_forall): Adjust caller.
(resolve_code): Only call gfc_resolve_blocks if code->block != 0
and not for EXEC_OMP_PARALLEL* directives.  Call
gfc_resolve_omp_parallel_blocks for EXEC_OMP_PARALLEL* directives.
Call gfc_resolve_do_iterator if resolved successfully EXEC_DO
iterator.
* openmp.c: Include pointer-set.h.
(omp_current_ctx): New variable.
(gfc_resolve_omp_parallel_blocks, gfc_resolve_do_iterator): New
functions.
* Make-lang.in (fortran/openmp.o): Depend on pointer-set.h.

* openmp.c (gfc_match_omp_clauses): For max/min/iand/ior/ieor,
look up symbol if it exists, use its name instead and, if it is not
INTRINSIC, issue diagnostics.

* parse.c (parse_omp_do): Handle implied end do properly.
(parse_executable): If parse_omp_do returned ST_IMPLIED_ENDDO,
return it instead of continuing.

* trans-openmp.c (gfc_trans_omp_critical): Update for changed
operand numbering.
(gfc_trans_omp_do, gfc_trans_omp_parallel, gfc_trans_omp_parallel_do,
gfc_trans_omp_parallel_sections, gfc_trans_omp_parallel_workshare,
gfc_trans_omp_sections, gfc_trans_omp_single): Likewise.

* trans.h (gfc_omp_privatize_by_reference): New prototype.
* f95-lang.c (LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE): Redefine
to gfc_omp_privatize_by_reference.
* trans-openmp.c (gfc_omp_privatize_by_reference): New function.

* trans-stmt.h (gfc_trans_omp_directive): Add comment.

* openmp.c (gfc_match_omp_variable_list): Add ALLOW_COMMON argument.
Disallow COMMON matching if it is set.
(gfc_match_omp_clauses, gfc_match_omp_flush): Adjust all callers.
(resolve_omp_clauses): Show locus in error messages.  Check that
variable types in reduction clauses are appropriate for reduction
operators.

* resolve.c (resolve_symbol): Don't error if a threadprivate module
variable isn't SAVEd.

* trans-openmp.c (gfc_trans_omp_do): Put count into BLOCK, not BODY.
Fix typo in condition.  Fix DOVAR initialization.

* openmp.c (gfc_match_omp_clauses): Match min/iand/ior/ieor
rather than .min. etc.

* trans-openmpc.c (omp_not_yet): Remove.
(gfc_trans_omp_parallel_do): Keep listprivate clause on parallel.
Force creation of BIND_EXPR around the workshare construct.
(gfc_trans_omp_parallel_sections): Likewise.
(gfc_trans_omp_parallel_workshare): Likewise.

* types.def (BT_I16, BT_FN_I16_VPTR_I16,
BT_FN_BOOL_VPTR_I16_I16, BT_FN_I16_VPTR_I16_I16): Add.

* trans-openmp.c (gfc_trans_omp_clauses): Create OMP_CLAUSE_DEFAULT.
(gfc_trans_omp_code): New function.
(gfc_trans_omp_do): Use it, remove omp_not_yet uses.
(gfc_trans_omp_parallel, gfc_trans_omp_single): Likewise.
(gfc_trans_omp_sections): Likewise.  Only treat empty last section
specially if lastprivate clause is present.
* f95-lang.c (gfc_init_builtin_functions): Create BUILT_IN_TRAP
builtin.

* trans-openmp.c (gfc_trans_omp_variable_list): Update for
OMP_CLAUSE_DECL name change.
(gfc_trans_omp_do): Likewise.

* trans-openmp.c (gfc_trans_omp_clauses): Create OMP_CLAUSE_REDUCTION
clauses.
(gfc_trans_omp_atomic): Build OMP_ATOMIC instead of expanding
sync builtins directly.
(gfc_trans_omp_single): Build OMP_SINGLE statement.

* trans-openmp.c (gfc_trans_add_clause): New.
(gfc_trans_omp_variable_list): Take a tree code and build the clause
node here.  Link it to the head of a list.
(gfc_trans_omp_clauses): Update to match.
(gfc_trans_omp_do): Use gfc_trans_add_clause.

* trans-openmp.c (gfc_trans_omp_clauses): Change second argument to
gfc_omp_clauses *.  Use gfc_evaluate_now instead of creating
temporaries by hand.
(gfc_trans_omp_atomic, gfc_trans_omp_critical): Use buildN_v macros.
(gfc_trans_omp_do): New function.
(gfc_trans_omp_master): Dont' check for gfc_trans_code returning NULL.
(gfc_trans_omp_parallel): Adjust gfc_trans_omp_clauses caller.
Use buildN_v macros.
(gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_sections,
gfc_trans_omp_parallel_workshare, gfc_trans_omp_sections,
gfc_trans_omp_single, gfc_trans_omp_workshare): New functions.
(gfc_trans_omp_directive): Use them.
* parse.c (parse_omp_do): Allow new_st.op == EXEC_NOP.
* openmp.c (resolve_omp_clauses): Check for list items present
in multiple clauses.
(resolve_omp_do): Check that iteration variable is not THREADPRIVATE
and is not present in any clause variable lists other than PRIVATE
or LASTPRIVATE.

* gfortran.h (symbol_attribute): Add threadprivate bit.
(gfc_common_head): Add threadprivate member, change use_assoc
and saved into char to save space.
(gfc_add_threadprivate): New prototype.
* symbol.c (check_conflict): Handle threadprivate.
(gfc_add_threadprivate): New function.
(gfc_copy_attr): Copy threadprivate.
* trans-openmp.c (gfc_trans_omp_clauses): Avoid creating a temporary
if IF or NUM_THREADS is constant.  Create OMP_CLAUSE_SCHEDULE and
OMP_CLAUSE_ORDERED.
* resolve.c (resolve_symbol): Complain if a THREADPRIVATE symbol
outside a module and not in COMMON has is not SAVEd.
(resolve_equivalence): Ensure THREADPRIVATE objects don't get
EQUIVALENCEd.
* trans-common.c: Include target.h and rtl.h.
(build_common_decl): Set DECL_TLS_MODEL if THREADPRIVATE.
* trans-decl.c: Include rtl.h.
(gfc_finish_var_decl): Set DECL_TLS_MODEL if THREADPRIVATE.
* dump-parse-tree.c (gfc_show_attr): Handle THREADPRIVATE.
* Make-lang.in (fortran/trans-decl.o): Depend on $(RTL_H).
(fortran/trans-common.o): Depend on $(RTL_H) and $(TARGET_H).
* openmp.c (gfc_match_omp_variable_list): Ensure COMMON block
is from current namespace.
(gfc_match_omp_threadprivate): Rewrite.
(resolve_omp_clauses): Check some clause restrictions.
* module.c (ab_attribute): Add AB_THREADPRIVATE.
(attr_bits): Add THREADPRIVATE.
(mio_symbol_attribute, mio_symbol_attribute): Handle threadprivate.
(load_commons, write_common, write_blank_common): Adjust for type
change of saved, store/load threadprivate bit from the integer
as well.

* types.def (BT_FN_UINT_UINT): New.
(BT_FN_VOID_UINT_UINT): Remove.

* trans-openmp.c (gfc_trans_omp_clauses, gfc_trans_omp_barrier,
gfc_trans_omp_critical, gfc_trans_omp_flush, gfc_trans_omp_master,
gfc_trans_omp_ordered, gfc_trans_omp_parallel): New functions.
(gfc_trans_omp_directive): Use them.

* openmp.c (expr_references_sym): Add SE argument, don't look
into SE tree.
(is_conversion): New function.
(resolve_omp_atomic): Adjust expr_references_sym callers.  Handle
promoted expressions.
* trans-openmp.c (gfc_trans_omp_atomic): New function.
(gfc_trans_omp_directive): Call it.

* f95-lang.c (builtin_type_for_size): New function.
(gfc_init_builtin_functions): Initialize synchronization and
OpenMP builtins.
* types.def: New file.
* Make-lang.in (f95-lang.o): Depend on $(BUILTINS_DEF) and
fortran/types.def.

* trans-openmp.c: Rename GOMP_* tree codes into OMP_*.

* dump-parse-tree.c (show_symtree): Don't crash if ns->proc_name
is NULL.

* dump-parse-tree.c (gfc_show_namelist, gfc_show_omp_node): New
functions.
(gfc_show_code_node): Call gfc_show_omp_node for EXEC_OMP_* nodes.

* parse.c (parse_omp_do): Call pop_state before next_statement.
* openmp.c (expr_references_sym, resolve_omp_atomic, resolve_omp_do):
New functions.
(gfc_resolve_omp_directive): Call them.
* match.c (match_exit_cycle): Issue error if EXIT or CYCLE statement
leaves an OpenMP structured block or if EXIT terminates !$omp do
loop.

* Make-lang.in (F95_PARSER_OBJS): Add fortran/openmp.o.
(F95_OBJS): Add fortran/trans-openmp.o.
(fortran/trans-openmp.o): Depend on $(GFORTRAN_TRANS_DEPS).
* lang.opt: Add -fopenmp option.
* options.c (gfc_init_options): Initialize it.
(gfc_handle_option): Handle it.
* gfortran.h (ST_OMP_ATOMIC, ST_OMP_BARRIER, ST_OMP_CRITICAL,
ST_OMP_END_CRITICAL, ST_OMP_END_DO, ST_OMP_END_MASTER,
ST_OMP_END_ORDERED, ST_OMP_END_PARALLEL, ST_OMP_END_PARALLEL_DO,
ST_OMP_END_PARALLEL_SECTIONS, ST_OMP_END_PARALLEL_WORKSHARE,
ST_OMP_END_SECTIONS, ST_OMP_END_SINGLE, ST_OMP_END_WORKSHARE,
ST_OMP_DO, ST_OMP_FLUSH, ST_OMP_MASTER, ST_OMP_ORDERED,
ST_OMP_PARALLEL, ST_OMP_PARALLEL_DO, ST_OMP_PARALLEL_SECTIONS,
ST_OMP_PARALLEL_WORKSHARE, ST_OMP_SECTIONS, ST_OMP_SECTION,
ST_OMP_SINGLE, ST_OMP_THREADPRIVATE, ST_OMP_WORKSHARE): New
statement codes.
(OMP_LIST_PRIVATE, OMP_LIST_FIRSTPRIVATE, OMP_LIST_LASTPRIVATE,
OMP_LIST_COPYPRIVATE, OMP_LIST_SHARED, OMP_LIST_COPYIN,
OMP_LIST_PLUS, OMP_LIST_REDUCTION_FIRST, OMP_LIST_MULT,
OMP_LIST_SUB, OMP_LIST_AND, OMP_LIST_OR, OMP_LIST_EQV,
OMP_LIST_NEQV, OMP_LIST_MAX, OMP_LIST_MIN, OMP_LIST_IAND,
OMP_LIST_IOR, OMP_LIST_IEOR, OMP_LIST_REDUCTION_LAST, OMP_LIST_NUM):
New OpenMP variable list types.
(gfc_omp_clauses): New typedef.
(gfc_get_omp_clauses): Define.
(EXEC_OMP_CRITICAL, EXEC_OMP_DO, EXEC_OMP_FLUSH, EXEC_OMP_MASTER,
EXEC_OMP_ORDERED, EXEC_OMP_PARALLEL, EXEC_OMP_PARALLEL_DO,
EXEC_OMP_PARALLEL_SECTIONS, EXEC_OMP_PARALLEL_WORKSHARE,
EXEC_OMP_SECTIONS, EXEC_OMP_SINGLE, EXEC_OMP_WORKSHARE,
EXEC_OMP_ATOMIC, EXEC_OMP_BARRIER, EXEC_OMP_END_NOWAIT,
EXEC_OMP_END_SINGLE): New OpenMP gfc_exec_op codes.
(struct gfc_code): Add omp_clauses, omp_name, omp_namelist
and omp_bool fields to ext union.
(flag_openmp): Declare.
(gfc_free_omp_clauses, gfc_resolve_omp_directive): New prototypes.
* scanner.c (openmp_flag, openmp_locus): New variables.
(skip_free_comments, skip_fixed_comments, gfc_next_char_literal):
Handle OpenMP directive lines and conditional compilation magic
comments.
* parse.h (COMP_OMP_STRUCTURED_BLOCK): New compile state.
* parse.c (decode_omp_directive, parse_omp_do, parse_omp_atomic,
parse_omp_structured_block): New functions.
(next_free, next_fixed): Parse OpenMP directives.
(case_executable, case_exec_markers, case_decl): Add ST_OMP_*
codes.
(gfc_ascii_statement): Handle ST_OMP_* codes.
(parse_executable): Rearrange the loop slightly, so that
parse_omp_do can return next_statement.
* match.h (gfc_match_omp_eos, gfc_match_omp_atomic,
gfc_match_omp_barrier, gfc_match_omp_critical, gfc_match_omp_do,
gfc_match_omp_flush, gfc_match_omp_master, gfc_match_omp_ordered,
gfc_match_omp_parallel, gfc_match_omp_parallel_do,
gfc_match_omp_parallel_sections, gfc_match_omp_parallel_workshare,
gfc_match_omp_sections, gfc_match_omp_single,
gfc_match_omp_threadprivate, gfc_match_omp_workshare,
gfc_match_omp_end_nowait, gfc_match_omp_end_single): New prototypes.
* resolve.c (resolve_blocks): Ignore EXEC_OMP_* block directives.
(resolve_code): Call gfc_resolve_omp_directive on EXEC_OMP_*
directives.
* trans.c (gfc_trans_code): Call gfc_trans_omp_directive for
EXEC_OMP_* directives.
* st.c (gfc_free_statement): Handle EXEC_OMP_* statement freeing.
* trans-stmt.h (gfc_trans_omp_directive): New prototype.
* openmp.c: New file.
* trans-openmp.c: New file.

gcc/testsuite/
2006-02-14  Jakub Jelinek  <jakub@redhat.com>
    Diego Novillo  <dnovillo@redhat.com>
    Uros Bizjak  <uros@kss-loka.si>

* gfortran.dg/gomp: New directory.

libgomp/
2006-02-14  Jakub Jelinek  <jakub@redhat.com>

* testsuite/libgomp.fortran/vla7.f90: Add -w to options.
Remove tests for returning assumed character length arrays.

Co-Authored-By: Diego Novillo <dnovillo@redhat.com>
Co-Authored-By: Richard Henderson <rth@redhat.com>
Co-Authored-By: Uros Bizjak <uros@kss-loka.si>
From-SVN: r110984

18 years agore PR middle-end/26279 (ICE in do_compare_rtx_and_jump)
Roger Sayle [Tue, 14 Feb 2006 16:26:16 +0000 (16:26 +0000)]
re PR middle-end/26279 (ICE in do_compare_rtx_and_jump)

PR middle-end/26279
PR middle-end/26280
PR middle-end/26283
* dojump.c (do_compare_rtx_and_jump): Handle multi-word LE.

From-SVN: r110983

18 years agocall.c (standard_conversion): Return NULL instead of 0.
Volker Reichelt [Tue, 14 Feb 2006 15:54:34 +0000 (15:54 +0000)]
call.c (standard_conversion): Return NULL instead of 0.

* call.c (standard_conversion): Return NULL instead of 0.
(build_user_type_conversion_1): Likewise.
(tourney): Likewise.
* decl.c (redeclaration_error_message): Likewise.
* error.c (language_to_string): Likewise.

From-SVN: r110976

18 years agore PR tree-optimization/26260 (PTA is slow with large structs (hits clisp))
Daniel Berlin [Tue, 14 Feb 2006 14:49:13 +0000 (14:49 +0000)]
re PR tree-optimization/26260 (PTA is slow with large structs (hits clisp))

2006-02-14  Daniel Berlin  <dberlin@dberlin.org>

Fix PR tree-optimization/26260

* doc/invoke.texi (max-fields-for-field-sensitive): Document
param.
* params.h (MAX_FIELDS_FOR_FIELD_SENSITIVE): New.
* params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Ditto.
* tree-ssa-structalias.c (create_variable_info_for): Use
MAX_FIELDS_FOR_FIELD_SENSITIVE.

From-SVN: r110972

18 years agoAdd forgotten file.
Zdenek Dvorak [Tue, 14 Feb 2006 13:51:51 +0000 (13:51 +0000)]
Add forgotten file.

From-SVN: r110965

18 years agoinvoke.texi (-fprefetch-loop-arrays, [...]): Document.
Zdenek Dvorak [Tue, 14 Feb 2006 12:22:11 +0000 (13:22 +0100)]
invoke.texi (-fprefetch-loop-arrays, [...]): Document.

* doc/invoke.texi (-fprefetch-loop-arrays, -fprefetch-loop-arrays-rtl):
Document.
* tree-ssa-loop-niter.c (number_of_iterations_ne,
number_of_iterations_lt, number_of_iterations_cond): Remember the shape
of the ending condition.
* tree-ssa-loop-manip.c: Include params.h.
(build_if_stmt, can_unroll_loop_p, determine_exit_conditions,
tree_unroll_loop): New functions.
* tree-pass.h (pass_loop_prefetch): Declare.
* loop.c (rest_of_handle_loop_optimize): Test for
-fprefetch-loop-arrays-rtl.
* tree-scalar-evolution.h (affine_iv): Moved to tree-flow.h.
* timevar.def (TV_TREE_PREFETCH): New timevar.
* tree-ssa-loop.c (tree_ssa_loop_prefetch, gate_tree_ssa_loop_prefetch,
pass_loop_prefetch): New.
* tree-cfgcleanup.c: Include tree-scalar-evolution.h.
(cleanup_tree_cfg_loop): Call scev_reset.
* common.opt (fprefetch-loop-arrays-rtl): Add.
* tree-ssa-loop-prefetch.c: New file.
* tree-outof-ssa.c (struct value_expr_d): Add expr_vars field.
(new_temp_expr_table): Initialize expr_vars.
(free_temp_expr_table): Cleanup expr_vars.
(check_replaceable, find_replaceable_in_bb): Prevent accumulating
expressions from being merged into one.
* tree-flow.h (affine_iv): Moved from tree-scalar-evolution.h.
(struct tree_niter_desc): Add control, bound and cmp fields.
(tree_ssa_prefetch_arrays, can_unroll_loop_p, tree_unroll_loop):
Declare.
* Makefile.in (tree-ssa-loop-prefetch.o): Add.
(tree-cfgcleanup.o): Add SCEV_H dependency.
(tree-ssa-loop-manip.o): Add PARAMS_H dependency.
* passes.c (init_optimization_passes): Add pass_loop_prefetch.

From-SVN: r110964

18 years agore PR tree-optimization/26258 (Wrong alias information for struct addresses in PHIs)
Richard Guenther [Tue, 14 Feb 2006 09:58:57 +0000 (09:58 +0000)]
re PR tree-optimization/26258 (Wrong alias information for struct addresses in PHIs)

2006-02-14  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/26258
* tree-ssa-structalias.c (find_func_aliases): Handle aggregates
in PHI argument processing.

* gcc.dg/torture/pr26258.c: New testcase.

From-SVN: r110963

18 years ago[multiple changes]
Paolo Bonzini [Tue, 14 Feb 2006 09:36:24 +0000 (09:36 +0000)]
[multiple changes]

2006-02-14  Paolo Bonzini  <bonzini@gnu.org>

Sync from src:

2005-12-27  Leif Ekblad  <leif@rdos.net>

        * configure.in: Add support for RDOS target.
        * configure: Regenerate.

2006-02-14  Paolo Bonzini  <bonzini@gnu.org>
            Andreas Schwab  <schwab@suse.de>

        * configure: Regenerate.

config:
2006-02-14  Paolo Bonzini  <bonzini@gnu.org>
            Andreas Schwab  <schwab@suse.de>

        * acx.m4 (NCN_STRICT_CHECK_TARGET_TOOLS): Use correct program name.
        (ACX_CHECK_INSTALLED_TARGET_TOOL): Likewise, and always set $1.

Co-Authored-By: Andreas Schwab <schwab@suse.de>
From-SVN: r110961

18 years agosimplify-rtx.c (simplify_unary_operation_1): Return new expression in the requested...
Adam Nemet [Tue, 14 Feb 2006 07:10:35 +0000 (07:10 +0000)]
simplify-rtx.c (simplify_unary_operation_1): Return new expression in the requested machine mode.

* simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: Return
new expression in the requested machine mode.

From-SVN: r110959

18 years agooptabs.c (expand_abs): Don't call do_jump_by_parts_greater_rtx directly...
Roger Sayle [Tue, 14 Feb 2006 02:59:42 +0000 (02:59 +0000)]
optabs.c (expand_abs): Don't call do_jump_by_parts_greater_rtx directly...

* optabs.c (expand_abs): Don't call do_jump_by_parts_greater_rtx
directly, instead let do_compare_rtx_and_jump handle this for us.
* expr.c (expand_expr_real_1): Likewise.
* dojump.c (do_jump_by_parts_greater_rtx): Make static.  Move
before do_jump_by_parts_greater.
(do_jump_by_parts_greater): Move after do_jump_by_parts_greater_rtx.
* expr.h (do_jump_by_parts_greater_rtx): Delete prototype.

From-SVN: r110954

18 years agoquadlib.c: Use defines instead of enum qfcmp_magic.
John David Anglin [Tue, 14 Feb 2006 00:22:04 +0000 (00:22 +0000)]
quadlib.c: Use defines instead of enum qfcmp_magic.

* pa/quadlib.c: Use defines instead of enum qfcmp_magic.

From-SVN: r110947

18 years agoDaily bump.
GCC Administrator [Tue, 14 Feb 2006 00:17:46 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r110945

18 years agore PR rtl-optimization/26235 (FAIL: gcc.c-torture/execute/ieee/fp-cmp-8l.c execution...
Zdenek Dvorak [Mon, 13 Feb 2006 23:19:49 +0000 (00:19 +0100)]
re PR rtl-optimization/26235 (FAIL: gcc.c-torture/execute/ieee/fp-cmp-8l.c execution at -O1, -O2 and -Os)

PR rtl-optimization/26235
* loop-invariant.c (hash_invariant_expr_1): Handle 'i' and 'n' formats.
(invariant_expr_equal_p): Handle 'i' and 'n' formats.  Fail on unknown
format.

From-SVN: r110939

18 years agotree-vrp.c (extract_range_from_binary_expr): Remove handling of TRUTH_XOR_EPR.
Jeff Law [Mon, 13 Feb 2006 23:08:00 +0000 (16:08 -0700)]
tree-vrp.c (extract_range_from_binary_expr): Remove handling of TRUTH_XOR_EPR.

* tree-vrp.c (extract_range_from_binary_expr): Remove handling of
TRUTH_XOR_EPR.

From-SVN: r110938

18 years agocp-tree.h (warn_hidden): Remove prototype.
Volker Reichelt [Mon, 13 Feb 2006 22:39:00 +0000 (22:39 +0000)]
cp-tree.h (warn_hidden): Remove prototype.

* cp-tree.h (warn_hidden): Remove prototype.
* class.c (warn_hidden): Make static.

From-SVN: r110936

18 years agocp-tree.h (build_type_conversion): Remove prototype.
Volker Reichelt [Mon, 13 Feb 2006 22:37:02 +0000 (22:37 +0000)]
cp-tree.h (build_type_conversion): Remove prototype.

* cp-tree.h (build_type_conversion): Remove prototype.
* cvt.c (build_type_conversion): Add prototype, make static.

From-SVN: r110935

18 years agocp-tree.h (push_tinst_level): Remove prototype.
Volker Reichelt [Mon, 13 Feb 2006 22:32:47 +0000 (22:32 +0000)]
cp-tree.h (push_tinst_level): Remove prototype.

* cp-tree.h (push_tinst_level): Remove prototype.
(pop_tinst_level): Likewise.
* pt.c (push_tinst_level): Add prototype, make static.
(pop_tinst_level): Likewise.

From-SVN: r110934

18 years agodecl.c (grokdeclarator): Return NULL_TREE instead of 0.
Volker Reichelt [Mon, 13 Feb 2006 22:05:40 +0000 (22:05 +0000)]
decl.c (grokdeclarator): Return NULL_TREE instead of 0.

* decl.c (grokdeclarator): Return NULL_TREE instead of 0.
* typeck.c (unary_complex_lvalue): Likewise.

From-SVN: r110933

18 years agolex.c (parse_strconst_pragma): Return error_mark_node instead of "(tree)-1" to indica...
Volker Reichelt [Mon, 13 Feb 2006 22:00:35 +0000 (22:00 +0000)]
lex.c (parse_strconst_pragma): Return error_mark_node instead of "(tree)-1" to indicate failure.

* lex.c (parse_strconst_pragma): Return error_mark_node instead of
"(tree)-1" to indicate failure.  Simplify.
(handle_pragma_interface): Test for error_mark_node instead of
"(tree)-1".
(handle_pragma_implementation): Likewise.

From-SVN: r110932

18 years agore PR fortran/26246 (return string length is being marked as TREE_STATIC and TREE_PUBLIC)
Andrew Pinski [Mon, 13 Feb 2006 21:31:18 +0000 (22:31 +0100)]
re PR fortran/26246 (return string length is being marked as TREE_STATIC and TREE_PUBLIC)

2006-02-13  Andrew Pinski  <pinskia@physics.uc.edu>
    Jakub Jelinek  <jakub@redhat.com>

PR fortran/26246
* trans-decl.c (gfc_get_symbol_decl, gfc_get_fake_result_decl): Use
gfc_add_decl_to_function rather than gfc_finish_var_decl on length.

* gfortran.dg/pr26246_1.f90: New test.
* gfortran.dg/pr26246_2.f90: New test.

From-SVN: r110929

18 years agore PR middle-end/26092 (ICE on const function pointer assigned to a builtin function)
Jakub Jelinek [Mon, 13 Feb 2006 21:28:03 +0000 (22:28 +0100)]
re PR middle-end/26092 (ICE on const function pointer assigned to a builtin function)

PR middle-end/26092
* gimplify.c (gimplify_call_expr): Don't call get_callee_fndecl
twice if decl is a builtin.  When trying again, call get_callee_fndecl
first to verify it is still a builtin.

* gcc.c-torture/compile/20060208-1.c: New test.

From-SVN: r110927

18 years agore PR fortran/26074 (Module array cannot be automatic or assumed shape)
Paul Thomas [Mon, 13 Feb 2006 21:22:55 +0000 (21:22 +0000)]
re PR fortran/26074 (Module array cannot be automatic or assumed shape)

2006-02-13  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/26074
PR fortran/25103
* resolve.c (resolve_symbol): Extend the requirement that module
arrays have constant bounds to those in the main program.  At the
same time simplify the array bounds, to avoiding trapping parameter
array references, and exclude automatic character length from main
and modules. Rearrange resolve_symbol and resolve_derived to put as
each flavor together, as much as is possible and move all specific
code for flavors FL_VARIABLE, FL_PROCEDURE and FL_PARAMETER into new
functions.
(resolve_fl_var_and_proc, resolve_fl_variable, resolve_fl_procedure):
New functions to do work of resolve_symbol.
(resolve_index_expr): New function that is called from resolved_symbol
and is extracted from resolve_charlen.
(resolve_charlen): Call this new function.
(resolve_fl_derived): Renamed resolve_derived to be consistent with
the naming of the new functions for the other flavours.  Change the
charlen checking so that the style is consistent with other similar
checks. Add the generation of the gfc_dt_list, removed from resolve_
symbol.

PR fortran/20861
* resolve.c (resolve_actual_arglist): Prevent internal procedures
from being dummy arguments.

PR fortran/20871
* resolve.c (resolve_actual_arglist): Prevent pure but non-intrinsic
procedures from being dummy arguments.

PR fortran/25083
* resolve.c (check_data_variable): Add test that data variable is in
COMMON.

PR fortran/25088
* resolve.c (resolve_call): Add test that the subroutine does not
have a type.

2006-02-13  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/26074
PR fortran/25103
* gfortran.dg/module_parameter_array_refs_1.f90: New test.
* gfortran.dg/bad_automatic_objects_1.f90: New test.
* gfortran.dg/automatic_module_variable.f90: Change error message.

PR fortran/20861
* gfortran.dg/internal_dummy_1.f90: New test.

PR fortran/20871
* gfortran.dg/elemental_non_intrinsic_dummy_1.f90: New test.

PR fortran/25083
* gfortran.dg/uncommon_block_data_1.f90: New test.
* gfortran.dg/equiv_constraint_7.f90: Correct non-compliance of test
with standard.

PR fortran/25088
* gfortran.dg/typed_subroutine_1.f90: New test.

From-SVN: r110926

18 years agoIndex: gcc/ChangeLog
Geoffrey Keating [Mon, 13 Feb 2006 21:17:59 +0000 (21:17 +0000)]
Index: gcc/ChangeLog
2006-02-13  Geoffrey Keating  <geoffk@apple.com>

* dwarf2out.c (base_type_die): Don't add AT_name here.
(subrange_type_die): Don't add AT_name here.
(modified_type_die): Rearrange code flow.  Do add AT_name here.

Index: gcc/testsuite/ChangeLog
2006-02-13  Geoffrey Keating  <geoffk@apple.com>

* objc.dg/dwarf-1.m: New.

From-SVN: r110925

18 years agore PR rtl-optimization/26247 (gcc.dg/tree-ssa/gen-vect-26.c, 28 and 32. int_mode_for_...
Zdenek Dvorak [Mon, 13 Feb 2006 20:27:44 +0000 (21:27 +0100)]
re PR rtl-optimization/26247 (gcc.dg/tree-ssa/gen-vect-26.c, 28 and 32. int_mode_for_mode ICE strict_low_part loop-invariant)

PR rtl-optimization/26247
PR rtl-optimization/26248
* loop-invariant.c (may_assign_reg_p): Do not allow VOIDmode.

From-SVN: r110924

18 years agofloatunditf.c: Use if __LDBL_MANT_DIG__ == 113.
Richard Sandiford [Mon, 13 Feb 2006 19:56:21 +0000 (19:56 +0000)]
floatunditf.c: Use if __LDBL_MANT_DIG__ == 113.

* config/floatunditf.c: Use if __LDBL_MANT_DIG__ == 113.
* config/fixtfdi.c: Likewise.
* config/fixunstfdi.c: Likewise.
* config/floatditf.c: Likewise.

From-SVN: r110923

18 years agore PR middle-end/24427 (missing optimization opportunity with binary operators)
Roger Sayle [Mon, 13 Feb 2006 18:33:32 +0000 (18:33 +0000)]
re PR middle-end/24427 (missing optimization opportunity with binary operators)

PR middle-end/24427
* fold-const.c (fold_binary) <BIT_IOR_EXPR>: Transform (X&C1)|C2
into (X,C2) if C1 is a subset of the bits of C2.  Transform
(X&C1)|C2 into X|C2 if C1|C2 == ~0.  Canonicalize (X&C1)|C2 as
(X&(C1&~C2))|C2.
<BIT_AND_EXPR>: Canonicalize (X|C1)&C2 as (X&C2)|(C1&C2).

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

From-SVN: r110918

18 years agore PR target/25376 (section attribute doesn't work on darwin)
Josh Conner [Mon, 13 Feb 2006 18:12:17 +0000 (18:12 +0000)]
re PR target/25376 (section attribute doesn't work on darwin)

PR target/25376
* varasm.c (function_section): Check for section name before
calling select_section on targets that define
USE_SELECT_SECTION_FOR_FUNCTIONS.  On other targets, use
unlikely_text_section instead of hot_function_section if
first_function_block_is_cold.
* gcc.dg/pr25376.c: New test.

* gcc.c-torture/compile/pr23237.c: Only compile test -- don't
assemble.
* lib/target-supports.exp (check_named_sections_available):
Only compile named-sections test -- don't assemble.

From-SVN: r110917

18 years agoAdd PR marker for:
Joern Rennecke [Mon, 13 Feb 2006 15:32:57 +0000 (15:32 +0000)]
Add PR marker for:

PR middle-end/25335
* reload1.c (gen_reload): Also use find_replacement in UNARY_P case.

From-SVN: r110916

18 years ago* reload1.c (gen_reload): Also use find_replacement in UNARY_P case.
J"orn Rennecke [Mon, 13 Feb 2006 15:31:31 +0000 (15:31 +0000)]
* reload1.c (gen_reload): Also use find_replacement in UNARY_P case.

From-SVN: r110915

18 years agore PR rtl-optimization/26222 (build failuring in libjava)
Zdenek Dvorak [Mon, 13 Feb 2006 11:21:23 +0000 (12:21 +0100)]
re PR rtl-optimization/26222 (build failuring in libjava)

PR rtl-optimization/26222
* function.c (assign_stack_temp_for_type): Do not reuse stack slots
after tree->rtl expansion.
* loop-invariant.c (move_invariant_reg): Use force_operand on rhs
before passing it to emit_move_insn.

From-SVN: r110912

18 years agore PR c++/26151 (duplicate 'duplicate' diagnostic)
Volker Reichelt [Mon, 13 Feb 2006 10:29:31 +0000 (10:29 +0000)]
re PR c++/26151 (duplicate 'duplicate' diagnostic)

PR c++/26151
* parser.c (cp_parser_decl_specifier_seq): Check for duplicate
decl-specifiers.  Remove extra check for duplicate 'friend'.
* decl.c (grokdeclarator): Remove check for duplicate
decl-specifiers.  Set longlong together with long_p.

From-SVN: r110911

18 years agore PR libgomp/25936 (libgomp needs to link against rt on HPUX)
Roger Sayle [Mon, 13 Feb 2006 02:33:37 +0000 (02:33 +0000)]
re PR libgomp/25936 (libgomp needs to link against rt on HPUX)

2006-02-12  Roger Sayle  <roger@eyesopen.com>
    John David Anglin  <dave@hiauly1.hia.nrc.ca>

PR libgomp/25936
* configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.

Co-Authored-By: John David Anglin <dave@hiauly1.hia.nrc.ca>
From-SVN: r110908

18 years agoinvoke.texi (-Write-strings): Document that it is enabled by default.
Gabriel Dos Reis [Mon, 13 Feb 2006 01:57:29 +0000 (01:57 +0000)]
invoke.texi (-Write-strings): Document that it is enabled by default.

2006-02-12  Gabriel Dos Reis  <gdr@integrable-solutions.net>

        * doc/invoke.texi (-Write-strings): Document that it is
enabled by
        default.
        * c.opt (-Wwrite-strings): Declare variable
warn_write_strings.
        Clarify documentation.
        * c-common.h (warn_write_strings): Remove.
        * c-common.c (warn_write_strings): Likewise.
        * c-opts.c (c_common_init_options): Enable -Wwrite-strings by
        default for C++.

testsuite/
2006-02-12  Gabriel Dos Reis  <gdr@integrable-solutions.net>

        * g++.dg/warn/no-write-strings.C: New test.
        * g++.dg/warn/write-strings.C: Likewise.
        * g++.dg/warn/write-strings-default.C: Likewise.

From-SVN: r110907

18 years agore PR middle-end/25724 (Emits call to __cmpdi2 for long long comparison in switches)
Roger Sayle [Mon, 13 Feb 2006 01:55:37 +0000 (01:55 +0000)]
re PR middle-end/25724 (Emits call to __cmpdi2 for long long comparison in switches)

PR middle-end/25724
* dojump.c (do_jump): Call do_compare_rtx_and_jump.
(do_jump_parts_zero_rtx): New function renamed from
do_jump_parts_equality_rtx.  Made static.  Add a mode argument.
(do_jump_parts_equality_rtx): New function split out from
do_jump_parts_equality.  Old implementation renamed as above.
Call do_jump_parts_zero_rtx if either operand is zero.
(do_jump_parts_equality): Call do_jump_parts_equality_rtx to
do all of the heavy lifting.
(do_compare_rtx_and_jump): Handle multi-word comparisons by
calling either do_jump_by_parts_greater_rtx or
do_jump_by_parts_equality_rtx.
* expr.h (do_jump_by_parts_equality_rtx): Remove prototype.
* expmed.c (do_cmp_and_jump): Now multi-word optimization has
moved to do_compare_rtx_and_jump, call it directly.
* stmt.c (do_jump_if_equal): Remove static prototype.  Add a
mode argument.  Call do_compare_rtx_and_jump.
(emit_case_nodes): Update calls to do_jump_if_equal.

From-SVN: r110906

18 years agoDaily bump.
GCC Administrator [Mon, 13 Feb 2006 00:17:49 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r110904

18 years agore PR rtl-optimization/26225 (GCC error: in emit_move_multi_word, at expr.c:3053)
Zdenek Dvorak [Mon, 13 Feb 2006 00:02:37 +0000 (01:02 +0100)]
re PR rtl-optimization/26225 (GCC error: in emit_move_multi_word, at expr.c:3053)

PR rtl-optimization/26225
* loop-invariant.c (may_assign_reg_p): Do not allow BLKmode operands.

From-SVN: r110898

18 years agore PR rtl-optimization/26232 (cc0 targets broken; loop-invariants-move code doesn...
Zdenek Dvorak [Sun, 12 Feb 2006 22:32:33 +0000 (23:32 +0100)]
re PR rtl-optimization/26232 (cc0 targets broken; loop-invariants-move code doesn't handle cc0.)

PR rtl-optimization/26232
* loop-invariant.c (find_invariant_insn): Ignore insns that set CC0.

From-SVN: r110897

18 years agore PR libfortran/25949 (Unbounded I/O buffer memory usage for formatted IO)
Janne Blomqvist [Sun, 12 Feb 2006 19:59:32 +0000 (21:59 +0200)]
re PR libfortran/25949 (Unbounded I/O buffer memory usage for formatted IO)

2006-02-12  Janne Blomqvist  <jb@gcc.gnu.org>

PR libgfortran/25949
* io/io.h: Add set function pointer to struct stream.
* io/unix.c (fd_seek): Only update offset, don't seek.
(fd_sset): New function.
(fd_read): Call lseek directly if necessary.
(fd_write): Likewise.
(fd_open): Set pointer to fd_sset.
(mem_set): New function.
(open_internal): Set pointer to mem_set.
* io/transfer.c (write_block_direct): Rename to write_buf, add
error return, non-pointer length argument.
(unformatted_write): Update to use write_buf.
(us_write): Simplify by using swrite instead of salloc_w.
(write_us_marker): New function.
(new_record_w): Use sset instead of memset, use write_us_marker,
simplify by using swrite instead of salloc_w.

From-SVN: r110895

18 years agore PR fortran/25806 (problems with functions returning array pointers?)
Erik Edelmann [Sun, 12 Feb 2006 17:34:15 +0000 (17:34 +0000)]
re PR fortran/25806 (problems with functions returning array pointers?)

fortran/
2006-02-12  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/25806
        * trans-array.c (gfc_trans_allocate_array_storage): New argument
        dealloc; free the temporary only if dealloc is true.
        (gfc_trans_allocate_temp_array): New argument bool dealloc, to be
        passed onwards to gfc_trans_allocate_array_storage.
        (gfc_trans_array_constructor, gfc_conv_loop_setup): Update call to
        gfc_trans_allocate_temp_array.
        * trans-array.h (gfc_trans_allocate_temp_array): Update function
        prototype.
        * trans-expr.c (gfc_conv_function_call): Set new argument 'dealloc'
        to gfc_trans_allocate_temp_array to false in case of functions
        returning pointers.
        (gfc_trans_arrayfunc_assign): Return NULL for functions returning
        pointers.

testsuite/
2006-02-12  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/25806
        * gfortran.dg/ret_pointer_2.f90: New test.

From-SVN: r110893

18 years agoconfigure.in (enable_libgomp): Add AIX.
David Edelsohn [Sun, 12 Feb 2006 16:24:23 +0000 (16:24 +0000)]
configure.in (enable_libgomp): Add AIX.

        * configure.in (enable_libgomp): Add AIX.
        * configure: Regenerate.

From-SVN: r110892

18 years agore PR libstdc++/26211 ([DR 419, US 137 / US 139] basic_istream::tellg, seekg are...
Paolo Carlini [Sun, 12 Feb 2006 16:09:41 +0000 (16:09 +0000)]
re PR libstdc++/26211 ([DR 419, US 137 / US 139] basic_istream::tellg, seekg are unformatted input functions)

2006-02-12  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/26211
* include/bits/istream.tcc (basic_istream<>::tellg, seekg(pos_type),
seekg(off_type, ios_base::seekdir)): Construct a sentry, as per
27.6.1.3/1.
* testsuite/27_io/basic_istream/seekg/char/26211.cc: New.
* testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Adjust.
* testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.

From-SVN: r110891

18 years agore PR c++/24996 (ICE on throw code)
Jason Merrill [Sun, 12 Feb 2006 16:02:00 +0000 (11:02 -0500)]
re PR c++/24996 (ICE on throw code)

        PR c++/24996
        * except.c (build_throw): Add a CLEANUP_POINT_EXPR inside the
        TRY_CATCH_EXPR or MUST_NOT_THROW_EXPR.

From-SVN: r110889

18 years agore PR tree-optimization/24365 (statement makes a memory store with complex)
Jason Merrill [Sun, 12 Feb 2006 08:01:04 +0000 (03:01 -0500)]
re PR tree-optimization/24365 (statement makes a memory store with complex)

        PR tree-opt/24365
        * tree-inline.c (declare_return_variable): Just don't use the
        modify target if it's a gimple complex reg and the return slot
        isn't.

From-SVN: r110888

18 years agoDaily bump.
GCC Administrator [Sun, 12 Feb 2006 00:17:26 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r110885

18 years agocontrib.texi: Update my entry.
Kaveh R. Ghazi [Sat, 11 Feb 2006 19:12:19 +0000 (19:12 +0000)]
contrib.texi: Update my entry.

* doc/contrib.texi: Update my entry.

From-SVN: r110874

18 years agore PR bootstrap/16787 (NAN constant "(0.0/0.0)" cannot be compiled by Tru64 cc)
Roger Sayle [Sat, 11 Feb 2006 16:50:41 +0000 (16:50 +0000)]
re PR bootstrap/16787 (NAN constant "(0.0/0.0)" cannot be compiled by Tru64 cc)

2006-02-11  Roger Sayle  <roger@eyesopen.com>
    R. Scott Bailey  <scott.bailey@eds.com>
    Bill Northcott  <w.northcott@unsw.edu.au>

PR bootstrap/16787
* floatformat.c: Include <float.h> where available.
(NAN): Use value of DBL_QNAN if defined, and NAN isn't.

Co-Authored-By: Bill Northcott <w.northcott@unsw.edu.au>
Co-Authored-By: R. Scott Bailey <scott.bailey@eds.com>
From-SVN: r110873

18 years ago* config/i386/darwin.h (DBX_REGISTER_NUMBER): Define.
Geoffrey Keating [Sat, 11 Feb 2006 00:31:04 +0000 (00:31 +0000)]
* config/i386/darwin.h (DBX_REGISTER_NUMBER): Define.

From-SVN: r110865

18 years agoDaily bump.
GCC Administrator [Sat, 11 Feb 2006 00:17:27 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r110862