platform/upstream/gcc.git
19 years agochecks.adb (Get_E_First_Or_Last): When the expression being retrieved is an N_Raise_C...
Thomas Quinot [Tue, 15 Mar 2005 15:58:36 +0000 (16:58 +0100)]
checks.adb (Get_E_First_Or_Last): When the expression being retrieved is an N_Raise_Constraint_Error node...

2005-03-08  Thomas Quinot  <quinot@adacore.com>

* checks.adb (Get_E_First_Or_Last): When the expression being retrieved
is an N_Raise_Constraint_Error node, create a new copy of it without
going through a call to Duplicate_Subexpr.

From-SVN: r96491

19 years agobindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
Doug Rupp [Tue, 15 Mar 2005 15:57:58 +0000 (16:57 +0100)]
bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit

2005-03-08  Doug Rupp  <rupp@adacore.com>
    Vincent Celier  <celier@adacore.com>

* bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
(Gen_Output_File_C): Likewise.
(Gen_Main_C): Issue #include <stdlib.h> to avoid warning

From-SVN: r96490

19 years agoatree.ads, atree.adb: Add support for Elist24 field
Javier Miranda [Tue, 15 Mar 2005 15:54:14 +0000 (16:54 +0100)]
atree.ads, atree.adb: Add support for Elist24 field

2005-03-08  Javier Miranda  <miranda@adacore.com>
    Robert Dewar  <dewar@adacore.com>
    Thomas Quinot  <quinot@adacore.com>
    Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

* atree.ads, atree.adb: Add support for Elist24 field

* atree.h: Fix wrong definition of Field27
Add support for Elist16 field
Add support for Elist24 field

* einfo.ads, einfo.adb (Abstract_Interfaces,
Set_Abstract_Interfaces): New subprograms.
(Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
subprograms.
(Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
entities rather than a single node.
(Is_Interface, Set_Is_Interface): New subprogram
(First_Tag_Component): New syntesized attribute
(Next_Tag_Component): New synthesized attribute
(Write_Entity_Flags): Upgraded to write Is_Interface
(Write_Field24_Name): Upgraded to write Abstract_Interfaces
(Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
(Task_Body_Procedure): New subprogram to read this attribute.
(Set_Task_Body_Procedure): New subprogram to set this attribute.
(Has_Controlled_Component): Now applies to all entities.
This is only a documentation change, since it always worked to apply
this to other than composite types (yielding false), but now this is
official.
Update documentation on Must_Be_Byte_Aligned for new spec

* tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
uses of the Access_Disp_Table attribute to reference the first dispatch
table associated with a tagged type. As
part of the implementation of abstract interface types,
Access_Disp_Table has been redefined to contain a list of dispatch
tables (rather than a single dispatch table).
Similarly, upgrade all the references to Tag_Component by the
new attribute First_Tag_Component.
(Find_Inherited_TSS): Moved to exp_tss.
Clean up test in Expand_N_Object_Declaration for cases
where we need to do a separate assignment of the initial value.
(Expand_N_Object_Declaration): If the expression in the
declaration of a tagged type is an aggregate, no need to generate an
additional tag assignment.
(Freeze_Type): Now a function that returns True if the N_Freeze_Entity
is to be deleted.
Bit packed array ops are only called if operands are known to be
aligned.
(Component_Equality): When returning an N_Raise_Program_Error statement,
ensure that its Etype is set to Empty to avoid confusing GIGI (which
expects that only expressions have a bona fide type).
(Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
determine the amount of data to be copied.

* par.adb (P_Interface_Type_Definition): New subprogram that parses the
new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
    INTERFACE_TYPE_DEFINITION ::=
      [limited | task | protected | synchronized] interface
        [AND interface_list]

* par-ch3.adb (P_Type_Declaration): Modified to give support to
interfaces.
(P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
interfaces.
(P_Interface_Type_Definition): New subprogram that parses the new
syntax rule of Ada 2005 interfaces
(P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
messages by the correct RENAMES (quotes removed).

* sem_prag.adb: Upgrade all the references to Tag_Component by the new
attribute First_Tag_Component.

* sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
(Interface_List, Set_Interface_List): New subprograms.
(Interface_Present, Set_Interface_Present): New subprograms.
(Limited_Present, Set_Limited_Present): Available also in derived
type definition nodes.
(Protected_Present, Set_Protected_Present): Available also in
record type definition and
derived type definition nodes.
(Synchronized_Present, Set_Synchronized_Present): New subprograms.
(Task_Present, Set_Task_Present): New subprogram.
(Task_Body_Procedure): Removed.
(Set_Task_Body_Procedure): Removed.
These subprogram have been removed because the attribute
Task_Body_Procedure has been moved to the corresponding task type
or task subtype entity to leave a field free to store the list
of interfaces implemented by a task (for AI-345)
Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
(Null_Exclusion_Present): Change to Flag11, to avoid conflict with
expression flag Do_Range_Check
(Exception_Junk): Change to Flag7 to accomodate above change
(Box_Present, Default_Name, Specification, Set_Box_Present,
Set_Default_Name, Set_Specification): Expand the expression
"X in N_Formal_Subprogram_Declaration" into the corresponding
two comparisons. Required to use the csinfo tool.

* exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
"with string" given.

        * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
        expression given.

* par-ch11.adb (P_Raise_Statement): Recognize with string expression
in 2005 mode

* exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
attribute Task_Body_Procedure rather than the old semantic field that
was available in the task_type_declaration node.

* par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
interface type definitions.
(P_Formal_Derived_Type_Definition): Modified to handle the list of
interfaces.

* par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
task type declaration.
(P_Protected): Modified to handle the list of interfaces in a
protected type declaration.

From-SVN: r96489

19 years agore PR ada/13470 (64bits Ada bootstrap failure:xnmake etc. crash generating nmake...
Robert Dewar [Tue, 15 Mar 2005 15:53:10 +0000 (16:53 +0100)]
re PR ada/13470 (64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc.)

2005-03-08  Robert Dewar  <dewar@adacore.com>

PR ada/13470

* a-stunau.ads, a-stunau.adb:
Change interface to allow efficient (and correct) implementation
The previous changes to allow extra space in unbounded strings had
left this interface a bit broken.

* a-suteio.adb: Avoid unnecessary use of Get/Set_String

* g-spipat.ads, g-spipat.adb: New interface for Get_String
Minor reformatting (function specs)

* g-spitbo.adb: New interface for Get_String

* g-spitbo.ads: Minor reformatting

* a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String

* a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String

From-SVN: r96488

19 years agoa-stzunb.adb, [...]: Move Realloc_For_Chunk to private part of package.
Robert Dewar [Tue, 15 Mar 2005 15:52:27 +0000 (16:52 +0100)]
a-stzunb.adb, [...]: Move Realloc_For_Chunk to private part of package.

2005-03-08  Robert Dewar  <dewar@adacore.com>

* a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
Realloc_For_Chunk to private part of package.
New subprograms for AI-301

* a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
Get_Line procedure.
Avoid unnecessary use of Get/Set_Wide_String

From-SVN: r96487

19 years agoa-reatim.ads, [...]: Add functions Minutes and Seconds for AI-386.
Robert Dewar [Tue, 15 Mar 2005 15:51:53 +0000 (16:51 +0100)]
a-reatim.ads, [...]: Add functions Minutes and Seconds for AI-386.

2005-03-08  Robert Dewar  <dewar@adacore.com>

* a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
AI-386.

* a-retide.ads: Minor comment changes

From-SVN: r96486

19 years agotracebak.c: Under Darwin, use the same unwinding mechanisms as under PPC/AIX.
Nicolas Setton [Tue, 15 Mar 2005 15:51:35 +0000 (16:51 +0100)]
tracebak.c: Under Darwin, use the same unwinding mechanisms as under PPC/AIX.

2005-03-08  Nicolas Setton  <setton@adacore.com>

* tracebak.c: Under Darwin, use the same unwinding mechanisms as under
PPC/AIX.

From-SVN: r96485

19 years agoadaint.c: Prefix #include of VMS system header files with vms/ [VMS]...
Doug Rupp [Tue, 15 Mar 2005 15:50:36 +0000 (16:50 +0100)]
adaint.c: Prefix #include of VMS system header files with vms/ [VMS]...

2005-03-08  Doug Rupp  <rupp@adacore.com>

* adaint.c: Prefix #include of VMS system header files with vms/
[VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
Do not define a dummy function "convert_addresses" under Darwin,
not needed.

* tb-alvms.c, expect.c: Prefix #include of VMS system header files
with vms/

From-SVN: r96484

19 years agos-intman-posix.adb (Notify_Exception): Adjust signature, as handler for sigactions...
Olivier Hainque [Tue, 15 Mar 2005 15:48:37 +0000 (16:48 +0100)]
s-intman-posix.adb (Notify_Exception): Adjust signature, as handler for sigactions with SA_SIGINFO set.

2005-03-08  Olivier Hainque  <hainque@adacore.com>

* s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
for sigactions with SA_SIGINFO set. Call
__gnat_adjust_context_for_raise before raising, to perform the
potentially required adjustments to the machine context for the GCC
unwinder.

* raise.h (__gnat_adjust_context_for_raise): New prototype.

* init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
Adjust PC by one in the provided machine context.
(__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
so that the handler is passed the context structure to adjust prior to
the raise.
(__gnat_error_handler) HPUX: Adjust the signature to match what an
SA_SIGINFO sigaction should look like. Call
__gnat_adjust_context_for_raise before actually raising.
(__gnat_adjust_context_for_raise): Default noop to help PC
adjustments before raise from signal handlers.
(__gnat_error_handler): Indirectly call a predicate function to
determine if a condition should be resignaled or not.
(__gnat_set_resignal_predicate): User interface to modify the predicate.
(__gnat_default_resignal_p): Default GNAT predicate.

From-SVN: r96482

19 years agomlib-tgt-tru64.adb, [...] (Library_Exist_For, [...]): Add new parameter In_Tree to...
Vincent Celier [Tue, 15 Mar 2005 15:46:57 +0000 (16:46 +0100)]
mlib-tgt-tru64.adb, [...] (Library_Exist_For, [...]): Add new parameter In_Tree to specify the project tree...

2005-03-08  Vincent Celier  <celier@adacore.com>

* mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For,
Library_File_Name_For): Add new parameter In_Tree
to specify the project tree: needed by the project manager.
Adapt to changes in project manager using new parameter In_Tree.
Remove local imports, use functions in System.CRTL.

* make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
to use the project manager.

* makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
In_Tree to designate the project tree. Adapt to changes in the project
manager, using In_Tree.

* mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
Copy_Interface_Sources): Add new parameter In_Tree to specify the
project tree: needed by the project manager.
(Build_Library): Check that Arg'Length >= 6 before checking if it
contains "--RTS=...".

* mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
Library_File_Name_For): Add new parameter In_Tree to specify the
project tree: needed by the project manager.

* prj.ads, prj.adb: Major modifications to allow several project trees
in memory at the same time.
Change tables to dynamic tables and hash tables to dynamic hash
tables. Move tables and hash tables from Prj.Com (in the visible part)
and Prj.Env (in the private part). Move some constants from the visible
part to the private part. Make other constants deferred.
(Project_Empty): Make it a variable, not a function
(Empty_Project): Add parameter Tree. Returns the data with the default
naming data of the project tree Tree.
(Initialize): After updating Std_Naming_Data, copy its value to the
component Naming of Project Empty.
(Register_Default_Naming_Scheme): Use and update the default naming
component of the project tree, instead of the global variable
Std_Naming_Data.
(Standard_Naming_Data): Add defaulted parameter Tree. If project tree
Tree is not defaulted, return the default naming data of the Tree.
(Initial_Buffer_Size): Constant moved from private part
(Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
variables initialized in procedure Initialize.
(Add_To_Buffer): Add two in out parameters to replace global variables
Buffer and Buffer_Last.
(Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
functions.
Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
hash tables.
(Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
for the project tree.
(Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
constant at the beginning of the package spec, so that they cane be used
in subprograms before their full declarations.
(Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
(Empty_Project): Add parameter of type Project_Node_Ref
(Private_Project_Tree_Data): Add component Default_Naming of type
Naming_Data.
(Buffer, Buffer_Last): remove global variables
(Add_To_Buffer): Add two in out parameters to replace global variables
Buffer and Buffer_Last.
(Current_Packages_To_Check): Remove global variable
(Empty_Name): Move to private part
(No-Symbols): Make it a constant
(Private_Project_Tree_Data): New type for the private part of the
project tree data.
(Project_Tree_Data): New type for the data of a project tree
(Project_Tree_Ref): New type to designate a project tree
(Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
for the project tree.

* prj-attr.ads: Add with Table; needed, as package Prj no longer
imports package Table.

* prj-com.adb: Remove empty, no longer needed body

* prj-com.ads: Move most of the content of this package to package Prj.

* prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
designate the project node tree and Packages_To_Check to replace
global variable Current_Packages_To_Check.
Add new parameters In_Tree and Packages_To_Check to local subprograms,
when needed. Adapt to changes in project manager with project node tree
In_Tree.

* prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
project tree to most subprograms. Move tables and hash tables to
private part of package Prj.
Adapt to changes in project manager using project tree In_Tree.

* prj-makr.adb (Tree): New constant to designate the project node tree
Adapt to change in project manager using project node tree Tree

* prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
display the Library_Src_Dir and the Library_Dir.
Add new parameter In_Tree to designate the project node tree to most
subprograms. Adapt to changes in the project manager, using project tree
In_Tree.
(Check_Naming_Scheme): Do not alter the casing on platforms where
the casing of file names is not significant.
(Check): Add new parameter In_Tree to designate the

* prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
designate the project tree.
Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process

* prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
to replace those that were in the private part of package Prj.
Add new parameter In__Tree to designate the project node tree to most
subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
(Post_Parse_Context_Clause): When specifying the project node of a with
clause, indicate that it is a limited with only if there is "limited"
in the with clause, not necessarily when In_Limited is True.
(Parse): Add new parameter In_Tree to designate the project node tree

* prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
designate the project node tree. Adapt to change in Prj.Tree with
project node tree In_Tree.

* prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
tree In_Tree in the call to function Empty_Process to give its initial
value to the project data Processed_Data.
Add new parameters In_Tree to designate the project tree and
From_Project_Node_Tree to designate the project node tree to several
subprograms. Adapt to change in project manager with project tree
In_Tree and project node tree From_Project_Node_Tree.

* prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
to replace those that were in the private part of package Prj.
Add new parameter In_Tree to designate the project node tree to most
subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.

* prj-tree.ads, prj-tree.adb: Add new parameter of type
Project_Node_Tree_Ref to most subprograms.
Use this new parameter to store project nodes in the designated project
node tree.
(Project_Node_Tree_Ref): New type to designate a project node tree
(Tree_Private_Part): Change table to dynamic table and hash tables to
dynamic hash tables.

* prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
the project tree to most subprograms. Adapt to changes in project
manager using project tree In_Tree.

* makegpr.adb (Project_Tree): New constant needed to use project
manager.

From-SVN: r96481

19 years agos390.c (s390_secondary_output_reload_class): Adapt check for non-offsettable memory...
Ulrich Weigand [Tue, 15 Mar 2005 15:46:52 +0000 (15:46 +0000)]
s390.c (s390_secondary_output_reload_class): Adapt check for non-offsettable memory references to cope with outstanding...

* config/s390/s390.c (s390_secondary_output_reload_class): Adapt check
for non-offsettable memory references to cope with outstanding reload
replacements, take 2.

From-SVN: r96480

19 years agos-osinte-tru64.ads, [...] (Get_Stack_Base): New function
Eric Botcazou [Tue, 15 Mar 2005 15:46:15 +0000 (16:46 +0100)]
s-osinte-tru64.ads, [...] (Get_Stack_Base): New function

2005-03-08  Eric Botcazou  <ebotcazou@adacore.com>

* s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
(Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
calling thread.
(Stack_Base_Available): New flag.
(Get_Page_Size): New overloaded functions imported from C.
(PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
PROT_ON, PROT_OFF): New constants.
(mprotect): New function imported from C.
(pthread_teb_t): New record type.

* s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
(Create_Task): Account for the Yellow Zone and the guard page.

From-SVN: r96479

19 years agosystem-unixware.ads, [...]: Add line defining Compiler_System_Version to be False.
Robert Dewar [Tue, 15 Mar 2005 15:45:59 +0000 (16:45 +0100)]
system-unixware.ads, [...]: Add line defining Compiler_System_Version to be False.

2005-03-08  Robert Dewar  <dewar@adacore.com>

* system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads,
system-interix.ads, system-solaris-sparc.ads,
system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
system-linux-s390.ads, system-linux-s390x.ads: Add line defining
Compiler_System_Version to be False.

* opt.ads: Add new flag Opt.Address_Is_Private

* targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
Add new parameter Compiler_System_Version to avoid checking for
completeness of parameters when compiler is compiling itself.
Allows old versions of GNAT to be compiled with new compiler.

From-SVN: r96478

19 years agore PR target/18668 (use prescott's fisttp)
Uros Bizjak [Tue, 15 Mar 2005 14:44:09 +0000 (15:44 +0100)]
re PR target/18668 (use prescott's fisttp)

PR target/18668
* config/i386/i386.h (x86_fisttp): New.
(TARGET_FISTTP): New macro.
* config/i386/i386.c (x86_fisttp): Set for NOCONA.
(output_fix_trunc): Add fisttp parameter.  Generate fisttp x87
instruction when fisttp flag is set.
* config/i386/i386-protos.h (output_fix_trunc): Change declaration.

* config/i386/i386.md (type attribute): Add fisttp.
(unit attribute): Set to i387 for fisttp type.
(X87MODEF, X87MODEI, SSEMODEF, SSEMODEI24): New mode macros.
(fix_truncxfdi2, fix_truncxfsi2): Generate fisttp patterns for
TARGET_FISTTP.
(fix_truncdfdi2, fix_truncsfdi2, fix_truncdfsi2, fix_truncsfsi2):
Generate fisttp patterns for TARGET_FISTTP. Implement using mode
macros.
(fix_truncxfhi2, fix_truncdfhi2, fix_truncsfhi2): Generate fisttp
patterns for TARGET_FISTTP.  Enable patterns for
(TARGET_FISTTP && !TARGET_SSE_MATH). Implement using mode macros.
(fix_trunc<mode>_i387_fisttp_1, fix_trunc<mode>_i387_fisttp,
fix_trunc<mode>_i387_fisttp_with_temp): New instruction patterns to
implement fisttp x87 insn.
(fix_trunc*_i387_fisttp splitters): New patterns.
(*fix_truncdi_i387, *fix_truncsi_i387, *fix_trunchi_i387):
Rename to *fix_trunc<mode>_i387_1.  Implement using mode macros.
Disable patterns for TARGET_FISTTP.  Add comment about FLAGS_REG
clobber.
(fix_truncdi_memory, fix_truncdi_nomemory, fix_trunchi_nomemory):
Rename to fix_trunc<mode>_i387 and fix_trunc<mode>_i387_with_temp.
Implement using mode macros. Disable patterns for TARGET_FISTTP.
(fix_truncsi_memory, fix_truncsi_nomemory, fix_trunchi_memory,
fix_trunchi_nomemory): Rename to fix_trunc<mode>_i387 and
fix_trunc<mode>_i387_with_temp. Implement using mode macros.
Disable patterns for TARGET_FISTTP.
(fix_trunc*_i387 splitters): Implement usign mode macros.
(fix_truncdfdi_sse, fix_truncsfdi_sse, fix_truncdfsi_sse,
fix_truncsfsi_sse): Disable for (TARGET_FISTTP && !TARGET_SSE_MATH).
(fix_trunx*_sse peephole2s): Implement using mode macros.

From-SVN: r96477

19 years agore PR rtl-optimization/20291 (combine throws away clobbers before trying to split)
J"orn Rennecke [Tue, 15 Mar 2005 12:39:01 +0000 (12:39 +0000)]
re PR rtl-optimization/20291 (combine throws away clobbers before trying to split)

PR rtl-optimization/20291
* combine.c (try_combine): If splitting fails, re-try with
original combined pattern, i.e. before clobber stripping.

From-SVN: r96476

19 years agoIndex: libcpp/ChangeLog
Geoffrey Keating [Tue, 15 Mar 2005 09:55:41 +0000 (09:55 +0000)]
Index: libcpp/ChangeLog
2005-03-14  Geoffrey Keating  <geoffk@apple.com>

* lex.c (forms_identifier_p): Disable UCNs in C89 mode.

Index: gcc/testsuite/ChangeLog
2005-03-14  Geoffrey Keating  <geoffk@apple.com>

* gcc.dg/cpp/ucnid-6.c: New.

From-SVN: r96475

19 years agomips.h (DWARF_CIE_DATA_ALIGNMENT): Change for STACK_GROWS_DOWNWARD.
Eric Christopher [Tue, 15 Mar 2005 05:53:10 +0000 (05:53 +0000)]
mips.h (DWARF_CIE_DATA_ALIGNMENT): Change for STACK_GROWS_DOWNWARD.

2005-03-14  Eric Christopher  <echristo@redhat.com>

* config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Change for
STACK_GROWS_DOWNWARD.

From-SVN: r96474

19 years agoreal.h (struct real_format): Split the signbit field into two two fields, signbit_ro...
Roger Sayle [Tue, 15 Mar 2005 04:24:02 +0000 (04:24 +0000)]
real.h (struct real_format): Split the signbit field into two two fields, signbit_ro and signbit_rw.

* real.h (struct real_format): Split the signbit field into two
two fields, signbit_ro and signbit_rw.
* real.c (ieee_single_format, mips_single_format, ieee_double_format,
mips_double_format, ieee_extended_motorola_format,
ieee_extended_intel_96_format, ieee_extended_intel_96_round_53_format,
ieee_extended_intel_128_format, ibm_extended_format,
mips_extended_format, ieee_quad_format, mips_quad_format,
vax_f_format, vax_d_format, vax_g_format, i370_single_format,
i370_double_format, c4x_single_format, c4x_extended_format,
real_internal_format): Update initializers for new field.
* builtins.c (expand_builtin_signbit): Use signbit_ro field of the
real_format structure.
* optabs.c (expand_absneg_bit, expand_copysign): Use signbit_rw
field of the real_format structure.

From-SVN: r96471

19 years agotrans-stmt.c (gfc_trans_label_assign): Don't set DECL_ARTIFICIAL flag to zero on...
Feng Wang [Tue, 15 Mar 2005 03:26:09 +0000 (03:26 +0000)]
trans-stmt.c (gfc_trans_label_assign): Don't set DECL_ARTIFICIAL flag to zero on label_tree.

2005-03-15  Feng Wang  <fengwang@nudt.edu.cn>

* trans-stmt.c (gfc_trans_label_assign): Don't set DECL_ARTIFICIAL flag
        to zero on label_tree.

From-SVN: r96468

19 years agore PR fortran/18827 (ICE on assign to common variable)
Feng Wang [Tue, 15 Mar 2005 02:52:38 +0000 (02:52 +0000)]
re PR fortran/18827 (ICE on assign to common variable)

fortran/
2005-03-15  Feng Wang  <fengwang@nudt.edu.cn>

        PR fortran/18827
        * io.c (resolve_tag): Add checking on assigned label.
        (match_dt_format): Does not set symbol assign attribute.
        * match.c (gfc_match_goto):Does not set symbol assign attribute.
        * resolve.c (resolve_code): Add checking on assigned label.
        * trans-common.c (build_field): Deals with common variable assigned
        a label.
        * trans-stmt.c (gfc_conv_label_variable): New function.
        (gfc_trans_label_assign): Use it.
        (gfc_trans_goto): Ditto.
        * trans-io.c (set_string): Ditto.
        * trans.h (gfc_conv_label_variable): Add prototype.
testsuite/
2005-03-15  Feng Wang  <fengwang@nudt.edu.cn>

        PR fortran/18827
        * gfortran.dg/assign_2.f90: New test.
        * gfortran.dg/assign_3.f90: New test.
        * gfortran.dg/assign.f90: New test.

From-SVN: r96467

19 years agocv_func.C, [...]: Ensure uniqueness of test assertion names.
Joseph Myers [Tue, 15 Mar 2005 02:16:25 +0000 (02:16 +0000)]
cv_func.C, [...]: Ensure uniqueness of test assertion names.

* g++.dg/other/cv_func.C, g++.dg/other/offsetof3.C,
g++.dg/parse/error11.C, g++.dg/tc1/dr108.C,
g++.dg/template/local4.C, g++.dg/template/nontype6.C,
g++.dg/warn/deprecated.C: Ensure uniqueness of test assertion
names.

From-SVN: r96463

19 years agore PR tree-optimization/20458 (structure aliasing causes wrong code)
Daniel Berlin [Tue, 15 Mar 2005 01:26:35 +0000 (01:26 +0000)]
re PR tree-optimization/20458 (structure aliasing causes wrong code)

2005-03-14  Daniel Berlin <dberlin@dberlin.org>

Fix PR tree-optimization/20458

* tree-flow-inline.h (mark_call_clobbered): Don't fiddle
DECL_EXTERNAL on STRUCT_FIELD tags.
(clear_call_clobbered): Ditto.
* tree-ssa-operands.c (note_addressable): Make sure the original
variable doesn't slip into the addressable list if we have
subvars.
* tree-tailcall.c (suitable_for_tail_opt_p): Look at STRUCT_FIELD
tags too.

From-SVN: r96462

19 years agoIndex: gcc/ChangeLog
Geoffrey Keating [Tue, 15 Mar 2005 00:36:33 +0000 (00:36 +0000)]
Index: gcc/ChangeLog
2005-03-14  Geoffrey Keating  <geoffk@apple.com>

* doc/cppopts.texi (-fexec-charset): Add concept index entry.
(-fwide-exec-charset): Likewise.
(-finput-charset): Likewise.
* doc/invoke.texi (Warning Options): Document -Wnormalized=.
* c-opts.c (c_common_handle_option): Handle -Wnormalized=.
* c.opt (Wnormalized): New.

Index: libcpp/ChangeLog
2005-03-14  Geoffrey Keating  <geoffk@apple.com>

* init.c (cpp_create_reader): Default warn_normalize to normalized_C.
* charset.c: Update for new format of ucnid.h.
(ucn_valid_in_identifier): Update for new format of ucnid.h.
Add NST parameter, and update it; update callers.
(cpp_valid_ucn): Add NST parameter, update callers.  Replace abort
with cpp_error.
(convert_ucn): Pass normalize_state to cpp_valid_ucn.
* internal.h (struct normalize_state): New.
(INITIAL_NORMALIZE_STATE): New.
(NORMALIZE_STATE_RESULT): New.
(NORMALIZE_STATE_UPDATE_IDNUM): New.
(_cpp_valid_ucn): New.
* lex.c (warn_about_normalization): New.
(forms_identifier_p): Add normalize_state parameter, update callers.
(lex_identifier): Add normalize_state parameter, update callers.  Keep
the state current.
(lex_number): Likewise.
(_cpp_lex_direct): Pass normalize_state to subroutines.  Check
it with warn_about_normalization.
* makeucnid.c: New.
* ucnid.h: Replace.
* ucnid.pl: Remove.
* ucnid.tab: Make appropriate for input to makeucnid.c.  Remove
comments about obsolete version of C++.
* include/cpplib.h (enum cpp_normalize_level): New.
(struct cpp_options): Add warn_normalize field.

Index: gcc/testsuite/ChangeLog
2005-03-14  Geoffrey Keating  <geoffk@apple.com>

* gcc.dg/cpp/normalize-1.c: New.
* gcc.dg/cpp/normalize-2.c: New.
* gcc.dg/cpp/normalize-3.c: New.
* gcc.dg/cpp/normalize-4.c: New.
* gcc.dg/cpp/ucnid-4.c: New.
* gcc.dg/cpp/ucnid-5.c: New.
* g++.dg/cpp/normalize-1.C: New.
* g++.dg/cpp/ucnid-1.C: New.

From-SVN: r96459

19 years agoDaily bump.
GCC Administrator [Tue, 15 Mar 2005 00:16:23 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r96457

19 years ago* doc/invoke.texi: Add reference to Visibility document.
Devang Patel [Mon, 14 Mar 2005 22:34:36 +0000 (14:34 -0800)]
* doc/invoke.texi: Add reference to Visibility document.

From-SVN: r96453

19 years agoconfig.gcc (mips*-*-*): Rename MASK_SPLIT_ADDRS to MASK_SPLIT_ADDRESSES.
Richard Sandiford [Mon, 14 Mar 2005 20:40:57 +0000 (20:40 +0000)]
config.gcc (mips*-*-*): Rename MASK_SPLIT_ADDRS to MASK_SPLIT_ADDRESSES.

* config.gcc (mips*-*-*): Rename MASK_SPLIT_ADDRS to
MASK_SPLIT_ADDRESSES.
* config/mips/mips.h (target_flags, mips_fix_vr4130_string): Delete.
(MASK_INT64, MASK_LONG64, MASK_SPLIT_ADDR, MASK_NO_FUSED_MADD)
(MASK_EXPLICIT_RELOCS, MASK_MEMCPY, MASK_SOFT_FLOAT)
(MASK_FLOAT64, MASK_ABICALLS, MASK_XGOT, MASK_LONG_CALLS)
(MASK_64BIT, MASK_EMBEDDED_DATA, MASK_BIG_ENDIAN)
(MASK_SINGLE_FLOAT, MASK_MAD, MASK_4300_MUL_FIX, MASK_MIPS16)
(MASK_NO_CHECK_ZERO_DIV, MASK_BRANCHLIKELY)
(MASK_UNINIT_CONST_IN_RODATA, MASK_FIX_R4000, MASK_FIX_R4400)
(MASK_FIX_SB1, MASK_FIX_VR4120, MASK_VR4130_ALIGN)
(MASK_FP_EXCEPTIONS, MASK_DIVIDE_BREAKS, MASK_PAIRED_SINGLE)
(MASK_MIPS3D, MASK_SYM32, MASK_DEBUG, MASK_DEBUG_D)
(MASK_MIPS_TFILE, TARGET_INT64, TARGET_LONG64, TARGET_FLOAT64)
(TARGET_64BIT, TARGET_SPLIT_ADDRESSES, TARGET_DEBUG_MODE)
(TARGET_DEBUG_D_MODE, TARGET_MEMCPY, TARGET_ABICALLS)
(TARGET_XGOT, TARGET_SOFT_FLOAT, TARGET_HARD_FLOAT)
(TARGET_LONG_CALLS, TARGET_EMBEDDED_DATA)
(TARGET_UNINIT_CONST_IN_RODATA, TARGET_BIG_ENDIAN)
(TARGET_SINGLE_FLOAT, TARGET_DOUBLE_FLOAT, TARGET_MAD)
(TARGET_FUSED_MADD, TARGET_4300_MUL_FIX, TARGET_CHECK_ZERO_DIV)
(TARGET_DIVIDE_TRAPS, TARGET_BRANCHLIKELY, TARGET_FIX_SB1)
(TARGET_FIX_R4000, TARGET_FIX_R4400, TARGET_FIX_VR4120)
(TARGET_FIX_VR4130, TARGET_VR4130_ALIGN, TARGET_FP_EXCEPTIONS)
(TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D, TARGET_SYM32)
(TARGET_EXPLICIT_RELOCS): Delete.
(TARGET_SWITCHES, SUBTARGET_TARGET_SWITCHES): Delete.
(TARGET_OPTIONS): Remove entry for -mfix-vr4130.
* config/mips/mips.c (TARGET_DEFAULT_TARGET_FLAGS): Define.
(override_options): Set MASK_LONG64 if -mint64 is given and no
-mlongXX option is.  Complain about -mint64 -mlong32.
(override_options, CMP_BUILTINS, mips_bdesc, sb1_desc): Rename
MASK_PAIRED_SINGLE to MASK_PAIRED_SINGLE_FLOAT.
* config/mips/mips.opt: New file.

From-SVN: r96452

19 years agoconfig.gcc (extra_options): New variable for listing option files.
Richard Sandiford [Mon, 14 Mar 2005 20:18:43 +0000 (20:18 +0000)]
config.gcc (extra_options): New variable for listing option files.

* config.gcc (extra_options): New variable for listing option files.
Add ${cpu_type}/${cpu_type}.opt to it if that file exists.
* configure.ac (extra_opt_files): New AC_SUBST variable.
(tm_file_list, tm_include_list): Include options.h first.
* configure: Regenerate.
* Makefile.in (extra_opt_files, ALL_OPT_FILES): New variables.
(s-options): Use $(ALL_OPT_FILES) instead of $(lang_opt_files)
(s-options-h): New rule.
(options.h): Depend on it.
(TEXI_GCCINT_FILES): Add options.texi.
* hooks.h (hook_bool_size_t_constcharptr_int_true): Declare.
* hooks.c (hook_bool_size_t_constcharptr_int_true): New function.
* target.h (gcc_target): Add default_target_flags and handle_option.
* target-def.h (TARGET_DEFAULT_TARGET_FLAGS)
(TARGET_HANDLE_OPTION): New macros.
(TARGET_INITIALIZER): Include them.
* opt-functions.awk (opt_args, nth_arg): New functions.
(switch_flags): Handle the "Target" flag.
(var_args): Delete.
(var_name): Use opt_args and nth_arg.
(var_set, var_ref): Likewise.  Handle "Mask" and "InverseMask".
* opth-gen.awk: Declare target_flags.  Declare MASK_* and TARGET_*
macros for the "Mask" and "InverseMask" options.
* opts.h (cl_var_cond): New enum.
(cl_option): Replace the "has_set_value" and "set_value" fields with
"var_cond" and "var_value".
(CL_TARGET): New macro.
(option_enabled, print_filtered_help): Declare.
(decode_options): Move definition.
* opts.c (handle_option): Search for the original option before
removing any "no-" prefix.  Handle CL_TARGET.  Adjust for the new
var_cond and var_value fields.  Use targetm.handle_option to handle
target options.
(decode_options): Set target_flags to targetm.default_target_flags.
(print_filtered_help): Make global.  Handle CL_TARGET.
(option_enabled): New function.
* toplev.c (target_switches): Guard with #ifdef TARGET_SWITCHES.
(display_target_options, set_target_switch, print_switch_values)
(default_pch_valid_p): Guard uses of target_switches with
#ifdef TARGET_SWITCHES.  Also...
(display_target_options): Display the CL_TARGET entries in cl_options.
(set_target_option): Don't complain about the "" option when
TARGET_SWITCHES is undefined.
(print_switch_values): Use option_enabled.
(default_pch_valid_p): Check cl_options[] when looking for something
that has changed the value of target_flags.
* c.opt: Remove documentation from top of file.
* doc/gccint.texi: Add an "Options" chapter.  Include options.texi.
* doc/sourecebuild.texi: Refer to the new options documentation
instead of c.opt.  Document machine-specific .opt files.
* doc/tm.texi (target_flags): Say that this variable is declared
by options.h.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Document.
(TARGET_SWITCHES, TARGET_OPTIONS): Refer to the option files as
an alternative.
* doc/options.texi: New file.

From-SVN: r96448

19 years agore PR rtl-optimization/18628 (miscompilation of switch statement in loop)
Alexandre Oliva [Mon, 14 Mar 2005 20:06:23 +0000 (20:06 +0000)]
re PR rtl-optimization/18628 (miscompilation of switch statement in loop)

gcc/ChangeLog:
PR middle-end/18628
* cse.c (fold_rtx_mem): Don't fold a load from a jumptable into a
register.
gcc/testsuite/ChangeLog:
* gcc.dg/pr18628.c: New.

From-SVN: r96445

19 years agore PR c++/20280 (ICE in create_tmp_var, at gimplify.c:368)
Alexandre Oliva [Mon, 14 Mar 2005 20:02:05 +0000 (20:02 +0000)]
re PR c++/20280 (ICE in create_tmp_var, at gimplify.c:368)

gcc/ChangeLog:
PR c++/20280
* gimplify.c (gimplify_cond_expr): Add fallback argument.  Use a
temporary variable of pointer type if an lvalues is required.
(gimplify_modify_expr_rhs): Request an rvalue from it.
(gimplify_expr): Pass fallback on.
gcc/testsuite/ChangeLog:
PR c++/20280
* g++.dg/tree-ssa/pr20280.C: New.

From-SVN: r96444

19 years agore PR fortran/20467 (Bad fortran code causes ICE)
Tobias Schlüter [Mon, 14 Mar 2005 19:55:02 +0000 (20:55 +0100)]
re PR fortran/20467 (Bad fortran code causes ICE)

fortran/
PR fortran/20467
* symbol.c (check_conflict): A dummy argument can't be a statement
function.

testsuite/
PR fortran/20467
* gfortran.dg/stfunc_2.f90: New test.

From-SVN: r96443

19 years ago* cfgbuild.c: Update comments.
Kazu Hirata [Mon, 14 Mar 2005 19:12:14 +0000 (19:12 +0000)]
* cfgbuild.c: Update comments.

From-SVN: r96442

19 years agore PR rtl-optimization/17236 (inefficient code for long long multiply on x86)
Roger Sayle [Mon, 14 Mar 2005 18:24:15 +0000 (18:24 +0000)]
re PR rtl-optimization/17236 (inefficient code for long long multiply on x86)

PR rtl-optimization/17236
* optabs.c (expand_doubleword_mult): New helper function split out
from expand_binop.  Permute the order in which instructions are
emitted to minimize the number of simultaneously live registers.
(expand_binop): Call expand_doubleword_mult to synthesize a double
word multiplication.

From-SVN: r96441

19 years agobasic-block.h: Update the prototypes of cached_make_edge and rtl_make_eh_edge.
Kazu Hirata [Mon, 14 Mar 2005 17:43:01 +0000 (17:43 +0000)]
basic-block.h: Update the prototypes of cached_make_edge and rtl_make_eh_edge.

* basic-block.h: Update the prototypes of cached_make_edge and
rtl_make_eh_edge.
* cfg.c (cached_make_edge): Take edge_cache representing one
row of the adjacency matrix of edges.
* cfgbuild.c (make_label_edge, rtl_make_eh_edge): Likewise.
(make_edges): Initialize edge_cache to represent one row of
the adjacency matrix of edges.

From-SVN: r96440

19 years agotree-ssa-phiopt.c (minmax_replacement, [...]): New functions.
Zdenek Dvorak [Mon, 14 Mar 2005 16:26:11 +0000 (17:26 +0100)]
tree-ssa-phiopt.c (minmax_replacement, [...]): New functions.

* tree-ssa-phiopt.c (minmax_replacement, blocks_in_phiopt_order):
New functions.
(tree_ssa_phiopt): Use blocks_in_phiopt_order and minmax_replacement.
Remove unused removed_phis variable.
(conditional_replacement): Use build1/build2.
(abs_replacement): Use last_and_only_stmt and build1/build2.

* gcc.dg/tree-ssa/phi-opt-5.c: New test.

From-SVN: r96439

19 years agobuiltin-attrs.def (ATTR_NOVOPS, [...]): New.
Zdenek Dvorak [Mon, 14 Mar 2005 16:21:16 +0000 (17:21 +0100)]
builtin-attrs.def (ATTR_NOVOPS, [...]): New.

* builtin-attrs.def (ATTR_NOVOPS, ATTR_NOVOPS_LIST,
ATTR_PURE_NOTHROW_NOVOPS_LIST): New.
* builtins.def (ATTR_MATHFN_FPROUNDING): Use NOVOPS.
(BUILT_IN_PREFETCH): Set the NOVOPS attribute.
* c-common.c (handle_novops_attribute): New function.
(c_common_attribute_table): Add "no vops" entry.
* c-decl.c (merge_decls): Copy DECL_IS_NOVOPS.
* calls.c (flags_from_decl_or_type): Set ECF_NOVOPS.
* tree-ssa-operands.c (get_call_expr_operands): Do not
create virtual operands for calls with ECF_NOVOPS flag.
* tree.h (DECL_IS_NOVOPS): New macro.
(struct tree_decl): Add novops_flag.
(ECF_NOVOPS): New constant.

From-SVN: r96438

19 years agore PR target/17688 ([4.1] x87 fops can handle HImodes)
Uros Bizjak [Mon, 14 Mar 2005 16:16:15 +0000 (17:16 +0100)]
re PR target/17688 ([4.1] x87 fops can handle HImodes)

PR target/17688
* config/i386/i386.c (x86_use_himode_fiop): New.
(x86_use_simode_fiop): Rename from x86_use_fiop.
* config/i386/i386.h (x86_use_himode_fiop): Declare.
(TARGET_USE_HIMODE_FIOP): New.
(x86_use_simode_fiop): Rename from x86_use_fiop.
(TARGET_USE_SIMODE_FIOP): Rename from TARGET_USE_FIOP.

* config/i386/i386.md (X87MODEI12): New mode macro define.
(*cmpfp_<mode>): Rename from *cmpfp_si.  Use X87MODEI12 mode macro
to implement x87 FP compare with HImode input operands.
(*fp_jcc_8<mode>_387, splitter): Rename from *fp_jcc_8_387.
Use X87MODEI12 mode macro to handle HImode input operands.
(*fop_sf_2<mode>_i387, *fop_sf_3<mode>_i387, *fop_df_2<mode>_i387,
*fop_df_3<mode>_i387, *fop_xf_2<mode>_i387, *fop_xf_3<mode>_i387):
Renamed from *fop_sf_2_i387, *fop_sf_3_i387, *fop_df_2_i387,
*fop_df_3_i387, *fop_xf_2_i387, *fop_xf_3_i387. Use X87MODEI12 mode
macro to implement x87 operators with HImode input operands.
(fop splitters): Use X87MODEI12 mode macro to handle HImode
input operands.

From-SVN: r96437

19 years agoFix bogus date.
Eric Botcazou [Mon, 14 Mar 2005 16:11:43 +0000 (16:11 +0000)]
Fix bogus date.

From-SVN: r96436

19 years agotree-cfg.c (find_taken_edge_cond_expr): Use zero_p instead of integer_zerop.
Zdenek Dvorak [Mon, 14 Mar 2005 15:23:43 +0000 (16:23 +0100)]
tree-cfg.c (find_taken_edge_cond_expr): Use zero_p instead of integer_zerop.

* tree-cfg.c (find_taken_edge_cond_expr): Use zero_p instead of
integer_zerop.
* tree-gimple.c (is_gimple_min_invariant): Consider overflowed
constants invariant.

* fortran/trans-intrinsic.c (gfc_conv_intrinsic_ishft): Convert
the argument of the shift to the unsigned type.

From-SVN: r96435

19 years agobasic-block.h (BB_VISITED): Removed.
Zdenek Dvorak [Mon, 14 Mar 2005 15:19:56 +0000 (16:19 +0100)]
basic-block.h (BB_VISITED): Removed.

* basic-block.h (BB_VISITED): Removed.
* cfganal.c (dfs_enumerate_from): Do not use BB_VISITED flag.

From-SVN: r96434

19 years agoFix typo in changelog entry.
Daniel Jacobowitz [Mon, 14 Mar 2005 14:54:24 +0000 (14:54 +0000)]
Fix typo in changelog entry.

From-SVN: r96433

19 years agore PR c++/4403 (incorrect class becomes a friend in template)
Kriang Lerdsuwanakij [Mon, 14 Mar 2005 14:51:25 +0000 (14:51 +0000)]
re PR c++/4403 (incorrect class becomes a friend in template)

PR c++/4403
PR c++/9783, DR433
* name-lookup.c (pushtag): Skip template parameter scope when
scope is ts_global.  Don't push tag into template parameter
scope.
* pt.c (instantiate_class_template): Reorder friend class
template substitution to handle non-dependent friend class
that hasn't been previously declared.

* g++.dg/template/friend34.C: New test.
* g++.dg/template/friend35.C: Likewise.
* g++.old-deja/g++.pt/inherit2.C: Remove XFAIL's.

From-SVN: r96432

19 years agore PR target/20424 (Bootstrap failure on alphaev56)
Falk Hueffner [Mon, 14 Mar 2005 14:44:10 +0000 (15:44 +0100)]
re PR target/20424 (Bootstrap failure on alphaev56)

PR bootstrap/20424
* config/alpha/alpha.c (alpha_fold_builtin_cmpbge): Fix typo.

From-SVN: r96431

19 years agoFriend class name lookup 5/n PR c++/1016
Kriang Lerdsuwanakij [Mon, 14 Mar 2005 14:33:54 +0000 (14:33 +0000)]
Friend class name lookup 5/n PR c++/1016

Friend class name lookup 5/n
PR c++/1016
* cp-tree.h (pushtag): Adjust declaration.
* decl.c (lookup_and_check_tag): Call lookup_type_scope if
lookup_name fails.
(xref_tag): Adjust call to pushtag.  Make hidden class visible.
(start_enum): Adjust call to pushtag.
* name-lookup.c (ambiguous_decl): Ignore hidden names.
(qualify_lookup): Change return type to bool.
(hidden_name_p): New function.
(lookup_namespace_name, unqualified_namespace_lookup,
lookup_name_real): Use it.
(lookup_type_scope): Update comments.
(maybe_process_template_type_declaration): Change parameter name
from globalize to is_friend.
(pushtag): Change globalize parameter of type int to tag_scope.
Hide name if introduced by friend declaration.
* name-lookup.h (hidden_name_p): Add declaration.
* parser.c (cp_parser_lookup_name): Don't deal with hidden name
here.
* pt.c (push_template_decl_real): Make hidden class template
visible.
(lookup_template_class, instantiate_class_template): Adjust call
to pushtag.
* semantics.c (begin_class_definition): Likewise.
* rtti.c (init_rtti_processing, build_dynamic_cast_1,
tinfo_base_init, emit_support_tinfos): Use ts_current instead of
ts_global.

* g++.dg/lookup/hidden-class1.C: New test.
* g++.dg/lookup/hidden-class2.C: Likewise.
* g++.dg/lookup/hidden-class3.C: Likewise.
* g++.dg/lookup/hidden-class4.C: Likewise.
* g++.dg/lookup/hidden-class5.C: Likewise.
* g++.dg/lookup/hidden-class6.C: Likewise.
* g++.dg/lookup/hidden-class7.C: Likewise.
* g++.dg/lookup/hidden-class8.C: Likewise.
* g++.dg/lookup/hidden-class9.C: Likewise.
* g++.dg/lookup/hidden-temp-class1.C: Likewise.
* g++.dg/lookup/hidden-temp-class2.C: Likewise.
* g++.dg/lookup/hidden-temp-class3.C: Likewise.
* g++.dg/lookup/hidden-temp-class4.C: Likewise.
* g++.dg/lookup/hidden-temp-class5.C: Likewise.
* g++.dg/lookup/hidden-temp-class6.C: Likewise.
* g++.dg/lookup/hidden-temp-class7.C: Likewise.
* g++.dg/lookup/hidden-temp-class8.C: Likewise.
* g++.dg/lookup/hidden-temp-class9.C: Likewise.
* g++.dg/lookup/hidden-temp-class10.C: Likewise.
* g++.dg/lookup/hidden-temp-class11.C: Likewise.

From-SVN: r96430

19 years agoalloc-pool.c, [...]: Update copyright.
Kazu Hirata [Mon, 14 Mar 2005 13:10:51 +0000 (13:10 +0000)]
alloc-pool.c, [...]: Update copyright.

* alloc-pool.c, except.h, ggc-common.c, ggc-zone.c, ggc.h,
stringpool.c, config/mips/mips-protos.h: Update copyright.

From-SVN: r96428

19 years ago* ggc-zone.c: Fix comment typos.
Kazu Hirata [Mon, 14 Mar 2005 13:04:48 +0000 (13:04 +0000)]
* ggc-zone.c: Fix comment typos.

From-SVN: r96427

19 years agors6000-protos.h: Replace "struct rtx_def *" throughout with its typedef, "rtx".
Alan Modra [Mon, 14 Mar 2005 07:24:29 +0000 (07:24 +0000)]
rs6000-protos.h: Replace "struct rtx_def *" throughout with its typedef, "rtx".

* config/rs6000/rs6000-protos.h: Replace "struct rtx_def *"
throughout with its typedef, "rtx".
* config/rs6000/rs6000.c: Likewise.  Formatting fixes.
(rs6000_tls_symbol_ref_1): Remove inline keyword.
* config/rs6000/rs6000.h (REG_ALLOC_ORDER): Formatting.  Reorder
regs in comment to match code.

From-SVN: r96420

19 years agotree-cfg.c (verify_stmts): Check that bb_for_stmt (stmt) == bb for every PHI node...
Kazu Hirata [Mon, 14 Mar 2005 04:33:46 +0000 (04:33 +0000)]
tree-cfg.c (verify_stmts): Check that bb_for_stmt (stmt) == bb for every PHI node and statement.

* tree-cfg.c (verify_stmts): Check that
bb_for_stmt (stmt) == bb for every PHI node and statement.

From-SVN: r96418

19 years agoUpdate message
Mark Mitchell [Mon, 14 Mar 2005 04:02:20 +0000 (04:02 +0000)]
Update message

From-SVN: r96417

19 years agore PR c++/20157 (Internal compiler error on invalid code)
Mark Mitchell [Mon, 14 Mar 2005 03:54:21 +0000 (03:54 +0000)]
re PR c++/20157 (Internal compiler error on invalid code)

PR c++/20157
* pt.c (determine_specialization): Reject non-specializations.

PR c++/20157
* g++.dg/template/error18.C: New test.

From-SVN: r96414

19 years agoregclass.c (reg_class_superclasses, [...]): Make them static.
Kazu Hirata [Mon, 14 Mar 2005 02:56:51 +0000 (02:56 +0000)]
regclass.c (reg_class_superclasses, [...]): Make them static.

* regclass.c (reg_class_superclasses, reg_class_subclasses):
Make them static.
* hard-reg-set.h: Remove the corresponding declarations.

From-SVN: r96410

19 years agofunction.c (get_func_frame_size): Make it static.
Kazu Hirata [Mon, 14 Mar 2005 02:55:03 +0000 (02:55 +0000)]
function.c (get_func_frame_size): Make it static.

* function.c (get_func_frame_size): Make it static.
* function.h: Remove the corresponding type.

From-SVN: r96409

19 years agoexcept.c (check_handled): Make it static.
Kazu Hirata [Mon, 14 Mar 2005 02:53:59 +0000 (02:53 +0000)]
except.c (check_handled): Make it static.

* except.c (check_handled): Make it static.
* except.h: Remove the corresponding prototype.

From-SVN: r96408

19 years agoconfig.gcc: Remove excess indentation.
Alan Modra [Mon, 14 Mar 2005 02:23:49 +0000 (02:23 +0000)]
config.gcc: Remove excess indentation.

* config.gcc: Remove excess indentation.
(powerpc*-*-*, rs6000-*-*): Accept --with-cpu/tune power5 and 8548.

From-SVN: r96405

19 years agoDaily bump.
GCC Administrator [Mon, 14 Mar 2005 00:16:58 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r96401

19 years agore PR middle-end/19331 (Inefficient code generated for bitfield assignment)
Roger Sayle [Sun, 13 Mar 2005 22:34:03 +0000 (22:34 +0000)]
re PR middle-end/19331 (Inefficient code generated for bitfield assignment)

PR middle-end/19331
* tree.c (get_unwidened): Treat CONVERT_EXPR and NOP_EXPR identically.
* fold-const.c (fold_sign_changed_comparison): Likewise.
(fold_binary): Optimize comparisons against widened operands if
the extension is represented by a CONVERT_EXPR, same as a NOP_EXPR.

From-SVN: r96397

19 years agore PR c++/16792 (ICE in gen_subprogram_die, at dwarf2out.c:11267)
Ben Elliston [Sun, 13 Mar 2005 22:17:59 +0000 (22:17 +0000)]
re PR c++/16792 (ICE in gen_subprogram_die, at dwarf2out.c:11267)

PR debug/16792
* g++.dg/debug/pr16792.C: New test.

From-SVN: r96396

19 years agosparc.c (struct_value_alias_set): New global variable.
Eric Botcazou [Sun, 13 Mar 2005 22:11:46 +0000 (23:11 +0100)]
sparc.c (struct_value_alias_set): New global variable.

* config/sparc/sparc.c (struct_value_alias_set): New global variable.
(sparc_override_options): Initialize it.
(sparc_struct_value_rtx): Set it on the MEM to be returned.

From-SVN: r96395

19 years agoanon-struct-6.c, [...]: Ensure uniqueness of test assertion names.
Joseph Myers [Sun, 13 Mar 2005 21:13:41 +0000 (21:13 +0000)]
anon-struct-6.c, [...]: Ensure uniqueness of test assertion names.

* gcc.dg/anon-struct-6.c, gcc.dg/array-8.c,
gcc.dg/cpp/19940712-1.c, gcc.dg/cpp/19951025-1.c,
gcc.dg/cpp/tr-warn6.c, gcc.dg/deprecated.c, gcc.dg/init-bad-1.c,
gcc.dg/init-bad-2.c, gcc.dg/init-bad-3.c, gcc.dg/m-un-2.c,
gcc.dg/parm-mismatch-1.c, gcc.dg/redecl-1.c: Ensure uniqueness of
test assertion names.

From-SVN: r96391

19 years agopredicates.md (mem_or_easy_const_operand): Delete.
David Edelsohn [Sun, 13 Mar 2005 20:28:29 +0000 (20:28 +0000)]
predicates.md (mem_or_easy_const_operand): Delete.

        * config/rs6000/predicates.md (mem_or_easy_const_operand): Delete.
        (reg_or_none500mem_operand): New predicate.
        (zero_reg_mem_operand): New predicate.
        * config/rs6000/rs6000.md (extendsfdf2): Change operand1 predicate
        to reg_or_none500mem_operand.
        (extendsfdf2_fpr): Add MEM alternative.
        (extenddftf2_internal): Change operand2 predicate to
        zero_reg_mem_operand.

From-SVN: r96390

19 years agore PR fortran/18600 (ICE NIST FM020.f reduced case)
Tobias Schlüter [Sun, 13 Mar 2005 19:28:18 +0000 (20:28 +0100)]
re PR fortran/18600 (ICE NIST FM020.f reduced case)

PR fortran/18600
* gfortran.dg/stfunc_1.f90: New test.

From-SVN: r96389

19 years agore PR fortran/16907 (Non-integer array indices rejected)
Tobias Schlüter [Sun, 13 Mar 2005 18:46:36 +0000 (19:46 +0100)]
re PR fortran/16907 (Non-integer array indices rejected)

fortran/
PR fortran/16907
* resolve.c (gfc_resolve_index): Allow REAL indices as an extension.

testsuite/
PR fortran/16907
* gfortran.dg/real_index_1.f90: New test.

From-SVN: r96385

19 years agore PR fortran/20323 (optional arguments incorrectly accepted in specification express...
Tobias Schlüter [Sun, 13 Mar 2005 18:37:17 +0000 (19:37 +0100)]
re PR fortran/20323 (optional arguments incorrectly accepted in specification expressions)

fortran/
PR fortran/20323
* resolve.c (gfc_resolve): Check if character lengths are
specification expressions.

testsuite/
PR fortran/20323
* gfortran.dg/spec_expr_1.f90: New test.

From-SVN: r96382

19 years agoggc-zone.c: Rewritten.
Daniel Jacobowitz [Sun, 13 Mar 2005 18:09:55 +0000 (18:09 +0000)]
ggc-zone.c: Rewritten.

* ggc-zone.c: Rewritten.

* alloc-pool.c (dump_alloc_pool_statistics): Don't print statistics
if there are none.
* configure.ac: Define GGC_ZONE for --with-gc=zone.
* config.in: Regenerated.
* configure: Regenerated.
* gentype.c (write_types_process_field, write_func_for_structure):
Pass new argument to gt_pch_note_object.
* ggc-common.c (struct ptr_data): Add TYPE.
(gt_pch_note_object): Take TYPE argument and save it.
(call_count): Update call to ggc_pch_count_object.
(call_alloc): Update call to ggc_pch_alloc_object.
(gt_pch_save): Call ggc_pch_prepare_write after paddng the PCH
file.
* ggc-none.c (rtl_zone, garbage_zone, ggc_alloc_zone_stat): Delete.
* ggc-page.c (rtl_zone, tree_zone, garbage_zone)
(ggc_alloc_zone_stat): Delete.
(ggc_pch_count_object, ggc_pch_alloc_object): Add TYPE argument.
* ggc.h (gt_pch_note_object, ggc_pch_count_object)
(ggc_pch_alloc_object): Update prototypes.
(garbage_zone): Delete.
(tree_zone, rtl_zone, ggc_alloc_zone_stat, ggc_alloc_zone): Move to
GGC_ZONE conditional.  Update.  Change tree_zone and rtl_zone into
pointers.
(tree_id_zone): New variable.
(ggc_alloc_cleared_zone): Remove unused.
(ggc_alloc_zone): Define.
(ggc_alloc_rtvec, ggc_alloc_tree): Update to use ggc_alloc_zone.
* rtl.c (rtx_alloc_stat, shallow_copy_rtx_stat): Use
ggc_alloc_zone_stat.
* stringpool.c (gt_pch_n_S): Update call to gt_pch_note_object.
* tree.c (copy_node_stat, make_tree_binfo_stat, make_tree_vec_stat)
(tree_cons_stat, build1_stat): Update call to ggc_alloc_zone_stat.
(make_node_stat): Likewise.  Use tree_id_zone.

From-SVN: r96381

19 years agoconfigure.ac: Check for MIPS TLS.
Daniel Jacobowitz [Sun, 13 Mar 2005 18:03:25 +0000 (18:03 +0000)]
configure.ac: Check for MIPS TLS.

* configure.ac: Check for MIPS TLS.
* configure: Regenerated.
* config/mips/mips-protos.h (enum mips_symbol_type): Add
SYMBOL_TLS, SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL,
SYMBOL_GOTTPREL, and SYMBOL_TPREL.
* config/mips/mips.c (mips_regno_to_class): Handle V1_REG.
(TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
(mips_classify_symbol, mips_symbolic_constant_p)
(mips_symbolic_address_p, mips_symbol_insns): Handle TLS symbols.
(mips_tls_operand_p, mips_call_tls_get_addr)
(mips_legitimize_tls_address, mips_cannot_force_const_mem)
(mips_tls_symbol_ref_1): New functions.
(mips_legitimize_address, mips_legitimize_const_move): Call
mips_legitimize_tls_address.
(override_options): Handle V1_REG and TLS symbols.  Disable TLS
for MIPS16.
* config/mips/mips.h (enum reg_class, REG_CLASS_NAMES)
(REG_CLASS_CONTENTS, GR_REG_CLASS_P): Include V1_REG.
(mips_char_to_class): Document V1_REG.
(HAVE_AS_TLS): Provide default.
* config/mips/mips.md (UNSPEC_TLS_LDM, UNSPEC_TLS_GET_TP): New
constants.
(load_got<mode>): Renamed from *load_got<mode>.  Allow when
!TARGET_ABICALLS.
(tls_get_tp_<mode>): New instruction.

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r96380

19 years agoconfigure.ac: Update checks for target tools.
Daniel Jacobowitz [Sun, 13 Mar 2005 17:57:49 +0000 (17:57 +0000)]
configure.ac: Update checks for target tools.

* configure.ac: Update checks for target tools.
* configure: Regenerated.

From-SVN: r96379

19 years ago* varasm.c (decl_tls_model): Check flag_shlib instead of flag_pic.
Daniel Jacobowitz [Sun, 13 Mar 2005 17:56:14 +0000 (17:56 +0000)]
* varasm.c (decl_tls_model): Check flag_shlib instead of flag_pic.

From-SVN: r96378

19 years agoexpmed.c (expand_mult): Use synthetic multiplication sequences for more classes of...
Roger Sayle [Sun, 13 Mar 2005 17:06:42 +0000 (17:06 +0000)]
expmed.c (expand_mult): Use synthetic multiplication sequences for more classes of DImode...

* expmed.c (expand_mult): Use synthetic multiplication sequences for
more classes of DImode multiplication by constant.  Allow both
multiplication by small negative constants (by performing a
multiplication by a positive constant and negating the result) and
multiplications by large powers of two, by using a left shift.

From-SVN: r96377

19 years agotree-ssa-phiopt.c (value_replacement): Remove local variable result.
Kazu Hirata [Sun, 13 Mar 2005 15:58:31 +0000 (15:58 +0000)]
tree-ssa-phiopt.c (value_replacement): Remove local variable result.

* tree-ssa-phiopt.c (value_replacement): Remove local variable
result.

From-SVN: r96376

19 years agotree-ssa-live.c (build_tree_conflict_graph): Remove local variable ann.
Kazu Hirata [Sun, 13 Mar 2005 15:57:31 +0000 (15:57 +0000)]
tree-ssa-live.c (build_tree_conflict_graph): Remove local variable ann.

* tree-ssa-live.c (build_tree_conflict_graph): Remove local
variable ann.

From-SVN: r96375

19 years ago* tree-cfg.c (group_case_labels): Remove local variable type.
Kazu Hirata [Sun, 13 Mar 2005 15:55:32 +0000 (15:55 +0000)]
* tree-cfg.c (group_case_labels): Remove local variable type.

From-SVN: r96374

19 years agolambda-code.c (lambda_compute_auxillary_space): Remove local variable determinant.
Kazu Hirata [Sun, 13 Mar 2005 15:54:15 +0000 (15:54 +0000)]
lambda-code.c (lambda_compute_auxillary_space): Remove local variable determinant.

* lambda-code.c (lambda_compute_auxillary_space): Remove local
variable determinant.

From-SVN: r96373

19 years agobuiltins.c (expand_builtin_mathfn_3): Remove local variable before_call.
Kazu Hirata [Sun, 13 Mar 2005 15:53:13 +0000 (15:53 +0000)]
builtins.c (expand_builtin_mathfn_3): Remove local variable before_call.

* builtins.c (expand_builtin_mathfn_3): Remove local variable
before_call.

From-SVN: r96372

19 years agobuiltins.c (fold_trunc_transparent_mathfn, [...]): Use TYPE (TYPE (fndecl)) instead...
Kazu Hirata [Sun, 13 Mar 2005 15:51:08 +0000 (15:51 +0000)]
builtins.c (fold_trunc_transparent_mathfn, [...]): Use TYPE (TYPE (fndecl)) instead of TREE_TYPE (exp).

* builtins.c (fold_trunc_transparent_mathfn,
fold_fixed_mathfn, fold_builtin_atan, fold_builtin_trunc,
fold_builtin_floor, fold_builtin_ceil, fold_builtin_round,
fold_builtin_lround, fold_builtin_bitop, fold_builtin_memcpy,
fold_builtin_strcpy, fold_builtin_strncpy,
fold_builtin_signbit): Use TYPE (TYPE (fndecl)) instead of
TREE_TYPE (exp).

From-SVN: r96371

19 years agoc-decl.c (c_init_decl_processing): Remove useless calls to build_function_type.
Kazu Hirata [Sun, 13 Mar 2005 14:23:31 +0000 (14:23 +0000)]
c-decl.c (c_init_decl_processing): Remove useless calls to build_function_type.

* c-decl.c (c_init_decl_processing): Remove useless calls to
build_function_type.

From-SVN: r96370

19 years agobuiltin-attrs.def, [...]: Update copyright.
Kazu Hirata [Sun, 13 Mar 2005 14:06:48 +0000 (14:06 +0000)]
builtin-attrs.def, [...]: Update copyright.

* builtin-attrs.def, c-lex.c, c-pragma.h, reg-stack.c,
config/mips/vr.h: Update copyright.

From-SVN: r96369

19 years agoMAINTAINERS (Write After Approval): Add myself.
Feng Wang [Sun, 13 Mar 2005 14:05:58 +0000 (14:05 +0000)]
MAINTAINERS (Write After Approval): Add myself.

2005-03-13  Feng Wang  <fengwang@nudt.edu.cn>

        * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r96368

19 years agotree-into-ssa.c (find_idf): Speed up by putting the indexes of basic blocks into...
Kazu Hirata [Sun, 13 Mar 2005 13:31:01 +0000 (13:31 +0000)]
tree-into-ssa.c (find_idf): Speed up by putting the indexes of basic blocks into work_stack.

* tree-into-ssa.c (find_idf): Speed up by putting the indexes
of basic blocks into work_stack.

From-SVN: r96367

19 years agore PR target/18251 (unable to find a register to spill in class `POINTER_REGS')
Andy Hutchinson [Sun, 13 Mar 2005 10:09:53 +0000 (10:09 +0000)]
re PR target/18251 (unable to find a register to spill in class `POINTER_REGS')

PR target/18251
* config/avr/avr.md (movmemhi): Rewrite as RTL loop.
(*movmemqi_insn): Delete.
(*movmemhi): Delete.

From-SVN: r96365

19 years agobuiltins.c (fold_builtin_classify): Take decomposed arguments of CALL_EXPR.
Kazu Hirata [Sun, 13 Mar 2005 04:35:12 +0000 (04:35 +0000)]
builtins.c (fold_builtin_classify): Take decomposed arguments of CALL_EXPR.

* builtins.c (fold_builtin_classify): Take decomposed
arguments of CALL_EXPR.
(fold_builtin_1): Update a call to fold_builtin_classify.

From-SVN: r96364

19 years agore PR c/20402 (gcc.dg/noncompile/920923-1.c ICE)
Joseph Myers [Sun, 13 Mar 2005 01:09:47 +0000 (01:09 +0000)]
re PR c/20402 (gcc.dg/noncompile/920923-1.c ICE)

PR c/20402
* c-parser.c (c_parser_struct_or_union_specifier): Don't fall
through into call to parser_xref_tag after parse error.
(c_parser_struct_declaration): Consistently return NULL_TREE on
error.

testsuite:
* gcc.dg/noncompile/920923-1.c: Detail expected diagnostics for
new parser.

From-SVN: r96363

19 years agoIn gcc/ada/ 2005-03-12 Daniel Berlin <dberlin@dberlin.org>
Daniel Berlin [Sun, 13 Mar 2005 00:46:07 +0000 (00:46 +0000)]
In gcc/ada/ 2005-03-12 Daniel Berlin <dberlin@dberlin.org>

In gcc/ada/
2005-03-12  Daniel Berlin <dberlin@dberlin.org>

* misc.c (gnat_post_options): Turn off structural
aliasing for now.
In gcc/
2005-03-12  Daniel Berlin  <dberlin@dberlin.org>

* tree-flow-inline.h (ref_contains_array_ref): New function.
(lookup_subvars_for_var): Ditto.
(get_subvars_for_var): Ditto.
(var_can_have_subvars): Ditto.

* tree-flow.h (mem_tag_kind): Add STRUCT_FIELD.
(struct subvar): New type.

* tree-dfa.c (okay_component_ref_for_subvars): New function.

* tree-optimize.c (init_tree_optimization_passes): Call
pass_create_structure_vars.

* tree-ssa-alias.c: Include vec.h.
(init_alias_info): Don't auto-clear call clobbered on struct-field
tags.
(compute_flow_insensitive_aliasing): Handle subvars.
(group_aliases): Handle STRUCT_FIELD aliases.
(setup_pointers_and_addressables): Ditto.
Don't mark variables non-addressable if they still have
addressable subvars.
Also mark subvars addressable when the real variable is marked
addressable.
(add_pointed_to_var): Try to prune the pointed-to set by only
pointing to subvars when possible.
Otherwise, make sure we set addresses_needed and pt_vars to
properly include subvars.
(bitpos_of_field): New function.
(push_fields_onto_fieldstack): Ditto.
(get_or_create_used_part_for): Ditto.
(create_overlap_variables_for): Ditto.
(find_used_portions): Ditto.
(create_structure_vars): Ditto.
(pass_create_structure_vars): New structure.

* tree-ssa-operands.c (finalize_ssa_v_must_defs): Remove assert.
(get_expr_operands): Handle subvars.  Also try to turn
COMPONENT_REF accesses into must-defs now that we can accurately
portray it.
(note_addressable): Try to only mark as addressable those subvars
we know a COMPONENT_REF touches.
(overlap_subvar): New function.

* tree-vect-analyze.c (vect_object_analysis): Add new parameter.
Handle subvar storing.
(vect_address_analysis): Update caller of vect_object_analysis.

* tree-vect-transform.c (vect_create_data_ref_ptr): Copy subvars.

* tree-vectorizer.h (struct _stmt_vec_info): Add subvars member.
(STMT_VINFO_SUBVARS): New macro.

* common.opts: add flag_tree_salias.

* opts.c (decode_options): flag_tree_salias defaults to on.

* doc/invoke.texi: Document fdump-tree-svars and -ftree-salias.

* doc/tree-ssa.texi: Document structural alias analysis.

From-SVN: r96362

19 years agoDaily bump.
GCC Administrator [Sun, 13 Mar 2005 00:16:54 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r96360

19 years agoCorrect wrong date on ChangeLog entry
Tobias Schlüter [Sat, 12 Mar 2005 21:48:48 +0000 (22:48 +0100)]
Correct wrong date on ChangeLog entry

From-SVN: r96353

19 years agore PR fortran/20361 (-fmax-stack-var-size=N not working for equivalence)
Tobias Schlüter [Sat, 12 Mar 2005 21:44:44 +0000 (22:44 +0100)]
re PR fortran/20361 (-fmax-stack-var-size=N not working for equivalence)

fortran/
PR fortran/20361
* trans-array.c (gfc_stack_space_left): Remove unused variable.
(gfc_can_put_var_on_stack): Move to trans-decl.c, remove #if 0'ed
code.
* trans-array.h (gfc_stack_space_left, gfc_can_put_var_on_stack):
Remove declaration / prototype.
* trans-common.c (build_equiv_decl): Give union a name.  Check if
it can be put on the stack.
* trans-decl.c (gfc_stack_space_left): Move function here.
(gfc_build_qualified_array): Fix comment typo.
* trans.h (gfc_put_var_on_stack): Add prototype.

testsuite/
PR fortran/20361
* gfortran.dg/largeequiv_1.f90: New test.

From-SVN: r96352

19 years agotree-cfg.c (make_goto_expr_edges): Don't use error_mark_node.
Steven Bosscher [Sat, 12 Mar 2005 20:53:19 +0000 (20:53 +0000)]
tree-cfg.c (make_goto_expr_edges): Don't use error_mark_node.

* tree-cfg.c (make_goto_expr_edges): Don't use error_mark_node.
* tree-ssa-dce.c (mark_stmt_necessary): Don't check for it.
* tree-ssa-operands.c (get_expr_operands): Likewise.
(get_expr_operands): Likewise for ERROR_MARK.

From-SVN: r96351

19 years agotree-ssa-live.c (create_ssa_var_map, [...]): Remove local variable snn.
Kazu Hirata [Sat, 12 Mar 2005 18:38:17 +0000 (18:38 +0000)]
tree-ssa-live.c (create_ssa_var_map, [...]): Remove local variable snn.

* tree-ssa-live.c (create_ssa_var_map,
calculate_live_on_entry): Remove local variable snn.

From-SVN: r96348

19 years agotree-inline.c (expand_call_inline): Remove local variable decl.
Kazu Hirata [Sat, 12 Mar 2005 18:37:18 +0000 (18:37 +0000)]
tree-inline.c (expand_call_inline): Remove local variable decl.

* tree-inline.c (expand_call_inline): Remove local variable
decl.

From-SVN: r96347

19 years agotree-if-conv.c (tree_if_convert_cond_expr): Remove local variable new_cond.
Kazu Hirata [Sat, 12 Mar 2005 18:35:48 +0000 (18:35 +0000)]
tree-if-conv.c (tree_if_convert_cond_expr): Remove local variable new_cond.

* tree-if-conv.c (tree_if_convert_cond_expr): Remove local
variable new_cond.
(combine_blocks): Remove local variables exits and new_e.

From-SVN: r96346

19 years agoreg-stack.c (move_for_stack_reg): Remove local variable push_insn.
Kazu Hirata [Sat, 12 Mar 2005 18:34:42 +0000 (18:34 +0000)]
reg-stack.c (move_for_stack_reg): Remove local variable push_insn.

* reg-stack.c (move_for_stack_reg): Remove local variable
push_insn.
(compare_for_stack_reg): Remove local variable flags_user.
(convert_regs_1): Remove local variable deleted.

From-SVN: r96345

19 years agogimplify.c (gimplify_expr): Remove local variables r0 and r1.
Kazu Hirata [Sat, 12 Mar 2005 18:33:25 +0000 (18:33 +0000)]
gimplify.c (gimplify_expr): Remove local variables r0 and r1.

* gimplify.c (gimplify_expr): Remove local variables r0 and
r1.

From-SVN: r96344

19 years agoc-decl.c (c_init_decl_processing): Remove local variables ptr_ftype_void and ptr_ftyp...
Kazu Hirata [Sat, 12 Mar 2005 18:32:26 +0000 (18:32 +0000)]
c-decl.c (c_init_decl_processing): Remove local variables ptr_ftype_void and ptr_ftype_ptr.

* c-decl.c (c_init_decl_processing): Remove local variables
ptr_ftype_void and ptr_ftype_ptr.

From-SVN: r96343

19 years agobuiltins.c (fold_builtin_logarithm): Take decomposed arguments of CALL_EXPR.
Kazu Hirata [Sat, 12 Mar 2005 16:14:42 +0000 (16:14 +0000)]
builtins.c (fold_builtin_logarithm): Take decomposed arguments of CALL_EXPR.

* builtins.c (fold_builtin_logarithm): Take decomposed
arguments of CALL_EXPR.
(fold_builtin_1): Update a call to fold_builtin_logarithm.

From-SVN: r96342

19 years agobuiltins.c (fold_builtin_exponent): Take decomposed arguments of CALL_EXPR.
Kazu Hirata [Sat, 12 Mar 2005 16:13:41 +0000 (16:13 +0000)]
builtins.c (fold_builtin_exponent): Take decomposed arguments of CALL_EXPR.

* builtins.c (fold_builtin_exponent): Take decomposed
arguments of CALL_EXPR.
(fold_builtin_1): Update a call to fold_builtin_exponent.

From-SVN: r96341

19 years agostacktrace.cc (GetCallerInfo): Return nothing in case of SJLJ_EXCEPTIONS is defined.
Andreas Tobler [Sat, 12 Mar 2005 16:00:38 +0000 (17:00 +0100)]
stacktrace.cc (GetCallerInfo): Return nothing in case of SJLJ_EXCEPTIONS is defined.

2005-03-12  Andreas Tobler  <a.tobler@schweiz.ch>

* stacktrace.cc (GetCallerInfo): Return nothing in case of
SJLJ_EXCEPTIONS is defined.

From-SVN: r96340

19 years agodecl-2.c: Add extra line breaks.
Per Bothner [Sat, 12 Mar 2005 15:40:35 +0000 (07:40 -0800)]
decl-2.c: Add extra line breaks.

* gcc.dg/decl-2.c:  Add extra line breaks.  That way we can verify
that diagnotics refer to correct token.
* gcc.dg/unused-3.c: Likewise.

From-SVN: r96339

19 years agovalue-prof.c (mod_subtract_transform): Remove local variable value.
Kazu Hirata [Sat, 12 Mar 2005 14:11:16 +0000 (14:11 +0000)]
value-prof.c (mod_subtract_transform): Remove local variable value.

* value-prof.c (mod_subtract_transform): Remove local variable
value.

From-SVN: r96338

19 years agotree-vect-transform.c (vect_get_new_vect_var): Remove local variable prefix_len.
Kazu Hirata [Sat, 12 Mar 2005 14:09:23 +0000 (14:09 +0000)]
tree-vect-transform.c (vect_get_new_vect_var): Remove local variable prefix_len.

* tree-vect-transform.c (vect_get_new_vect_var): Remove local
variable prefix_len.

From-SVN: r96337

19 years agotree-ssa-pre.c (compute_avail): Remove local variable val.
Kazu Hirata [Sat, 12 Mar 2005 14:07:53 +0000 (14:07 +0000)]
tree-ssa-pre.c (compute_avail): Remove local variable val.

* tree-ssa-pre.c (compute_avail): Remove local variable val.
(mark_operand_necessary): Remove local variable ver.

From-SVN: r96336

19 years agotree-ssa-phiopt.c (tree_ssa_phiopt): Remove local variable removed_phis.
Kazu Hirata [Sat, 12 Mar 2005 14:06:31 +0000 (14:06 +0000)]
tree-ssa-phiopt.c (tree_ssa_phiopt): Remove local variable removed_phis.

* tree-ssa-phiopt.c (tree_ssa_phiopt): Remove local variable
removed_phis.

From-SVN: r96335

19 years agotree-ssa.c (kill_redundant_phi_nodes): Remove local variable var.
Kazu Hirata [Sat, 12 Mar 2005 14:04:33 +0000 (14:04 +0000)]
tree-ssa.c (kill_redundant_phi_nodes): Remove local variable var.

* tree-ssa.c (kill_redundant_phi_nodes): Remove local variable
var.

From-SVN: r96334