Vincent Celier [Tue, 15 Nov 2005 13:56:14 +0000 (14:56 +0100)]
clean.adb (Check_Project): Look for Ada code in extending project, even if Ada is not specified as a language.
2005-11-14 Vincent Celier <celier@adacore.com>
* clean.adb (Check_Project): Look for Ada code in extending project,
even if Ada is not specified as a language.
Use new function DLL_Prefix for DLL_Name
(Clean_Interface_Copy_Directory): New procedure
(Clean_Library_Directory): New procedure
(Clean_Directory): Remove procedure, no longer used
(Clean_Project): Do not delete any file in an externally built project
* prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Add the object
directory of an extending project, even when there are no Ada source
present.
(Ada_Objects_Path.Add): Add Library_ALI_Dir, not Library_Dir to the path
(Set_Ada_Paths.Add.Recursive_Add): Ditto
* mlib-prj.adb (Check_Library): For all library projects, get the
library file timestamp.
(Build_Library): Copy ALI files in Library_ALI_Dir, not in Library_Dir
(Build_Library): Use new function DLL_Prefix for the DLL_Name
(Clean): Remove procedure, no longer used
(Ultimate_Extension_Of): New function
(Build_Library): When cleaning the library directory, only remove an
existing library file and any ALI file of a source of the project.
When cleaning the interface copy directory, remove any source that
could be a source of the project.
* prj.ads, prj.adb (Project_Empty): Add values of new components
Library_TS and All_Imported_Projects.
(Project_Empty): Add values for new components of Project_Data:
Library_ALI_Dir and Display_Library_ALI_Dir
* prj-attr.adb: New project level attribute name Library_ALI_Dir
* prj-nmsc.adb (Check_Library_Attributes): Take into account new
attribute Library_ALI_Dir.
(Check_Library_Attributes): The library directory cannot be the same as
any source directory of the project tree.
(Check_Stand_Alone_Library): The interface copy directory cannot be
the same as any source directory of the project tree.
* mlib.adb: Use Prj.Com.Fail, instead of Osint.Fail directly, to delete
all temporary files.
From-SVN: r106967
Emmanuel Briot [Tue, 15 Nov 2005 13:56:03 +0000 (14:56 +0100)]
xref_lib.adb (Parse_Identifier_Info): It is possible for an entity line in the ALI file to include both an...
2005-11-14 Emmanuel Briot <briot@adacore.com>
* xref_lib.adb (Parse_Identifier_Info): It is possible for an entity
line in the ALI file to include both an instantiation reference, and a
returned value.
From-SVN: r106966
Hristian Kirtchev [Tue, 15 Nov 2005 13:54:36 +0000 (14:54 +0100)]
rtsfind.ads, [...]: Complete support for Ada 2005 interfaces.
2005-11-14 Hristian Kirtchev <kirtchev@adacore.com>
Javier Miranda <miranda@adacore.com>
* rtsfind.ads, exp_util.adb, exp_util.ads, exp_disp.adb, exp_disp.ads,
exp_ch7.adb, sem_ch9.adb, snames.adb, snames.ads,
exp_ch9.adb, exp_ch9.ads, exp_ch6.adb, exp_ch3.adb, exp_ch3.ads,
einfo.ads, einfo.adb: Complete support for Ada 2005 interfaces.
* a-tags.ads, a-tags.adb: Major rewrite and additions to implement
properly new Ada 2005 interfaces (AI-345) and add run-time checks (via
assertions).
* exp_dbug.ads, exp_dbug.adb (Get_Secondary_DT_External_Name): New
subprogram that generates the external name associated with a
secondary dispatch table.
(Get_Secondary_DT_External_Name): New subprogram that generates the
external name associated with a secondary dispatch table.
From-SVN: r106965
Matthew Gingell [Tue, 15 Nov 2005 13:54:25 +0000 (14:54 +0100)]
tb-gcc.c (trace_callback): Work around problem with _Unwind_GetIP on ia64 HP-UX.
2005-11-14 Matthew Gingell <gingell@adacore.com>
Olivier Hainque <hainque@adacore.com>
* tb-gcc.c (trace_callback): Work around problem with _Unwind_GetIP on
ia64 HP-UX.
* tracebak.c (ia64 configuration): Enable _Unwind_Backtrace driven
tracebacks on ia64 HP-UX and provide explanatory comment.
Enable backtraces on ia64 GNU/Linux.
(x86 configuration): Bump FRAME_LEVEL to 1 to ensure we retrieve a real
base pointer from builtin_frame_address. Adjust BASE_SKIP accordingly.
From-SVN: r106964
Olivier Hainque [Tue, 15 Nov 2005 13:54:14 +0000 (14:54 +0100)]
cuintp.c (UI_To_gnu): Use a proper type for intermediate computations to ensure bias adjustments take...
2005-11-14 Olivier Hainque <hainque@adacore.com>
* cuintp.c (UI_To_gnu): Use a proper type for intermediate computations
to ensure bias adjustments take place when need be and to prevent
occurrences of intermediate overflows.
From-SVN: r106963
Matthew Heaney [Tue, 15 Nov 2005 13:54:02 +0000 (14:54 +0100)]
a-crbtgo.ads, [...]: Compiles against the spec for ordered maps described in sections A.18.6 of the...
2005-11-14 Matthew Heaney <heaney@adacore.com>
* a-crbtgo.ads, a-crbtgo.adb, a-coorse.ads, a-coorse.adb, a-convec.ads,
a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohama.ads, a-cohama.adb,
a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-cidlli.ads,
a-cidlli.adb, a-cdlili.ads, a-cdlili.adb, a-coormu.adb, a-ciormu.adb,
a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorma.adb, a-coorma.adb:
Compiles against the spec for ordered maps described in sections
A.18.6 of the most recent (August 2005) AI-302 draft.
From-SVN: r106962
Thomas Quinot [Tue, 15 Nov 2005 13:53:22 +0000 (14:53 +0100)]
decl.c: Factor common code to build a storage type for an unconstrained object from a...
2005-11-14 Thomas Quinot <quinot@adacore.com>
Olivier Hainque <hainque@adacore.com>
Eric Botcazou <ebotcazou@adacore.com>
* decl.c:
Factor common code to build a storage type for an unconstrained object
from a fat or thin pointer type and a constrained object type.
(annotate_value): Handle BIT_AND_EXPR.
(annotate_rep): Don't restrict the back annotation of inherited
components to the type_annotate_only case.
(gnat_to_gnu_entity) <E_Array_Type>: Do not invoke create_type_decl if
we are not defining the type.
<E_Record_Type>: Likewise.
(gnat_to_gnu_entity) <object, renaming>: Adjust comments and structure
to get advantage of the new maybe_stabilize_reference interface, to
ensure that what we reference is indeed stabilized instead of relying
on assumptions on what the stabilizer does.
(gnat_to_gnu_entity) <E_Incomplete_Type>: If the entity is an incomplete
type imported through a limited_with clause, use its non-limited view.
(Has_Stdcall_Convention): New macro, to centralize the Windows vs others
differentiation.
(gnat_to_gnu_entity): Use Has_Stdcall_Convention instead of a spread mix
of #if sections + explicit comparisons of convention identifiers.
(gnat_to_gnu_entity) <E_Variable>: Decrement force_global if necessary
before early-returning for certain types when code generation is
disabled.
(gnat_to_gnu_entity) <object>: Adjust comment attached to the
nullification of gnu_expr we do for objects with address clause and
that we are not defining.
(elaborate_expression_1): Do not create constants when creating
variables needed by the debug info: the dwarf2 writer considers that
CONST_DECLs is used only to represent enumeration constants, and emits
nothing for them.
(gnat_to_gnu_entity) <object>: When turning a non-definition of an
object with an address clause into an indirect reference, drop the
initializing expression.
Include "expr.h".
(STACK_CHECK_BUILTIN): Delete.
(STACK_CHECK_PROBE_INTERVAL): Likewise.
(STACK_CHECK_MAX_FRAME_SIZE): Likewise.
(STACK_CHECK_MAX_VAR_SIZE): Likewise.
(gnat_to_gnu_entity): If gnat_entity is a renaming, do not mark the tree
corresponding to the renamed object as ignored for debugging purposes.
* trans.c (tree_transform, case N_Attribute_Reference, case Attr_Size &
related): For a prefix that is a dereference of a fat or thin pointer,
if there is an actual subtype provided by the front-end, use that
subtype to build an actual type with bounds template.
(tree_transform, case N_Free_Statement): If an Actual_Designated_Subtype
is provided by the front-end, use that subtype to compute the size of
the deallocated object.
(gnat_to_gnu): When adding a statement into an elaboration procedure,
check for a potential violation of a No_Elaboration_Code restriction.
(maybe_stabilize_reference): New function, like gnat_stabilize_reference
with extra arguments to control whether to recurse through non-values
and to let the caller know if the stabilization has succeeded.
(gnat_stabilize_reference): Now a simple wrapper around
maybe_stabilize, for common uses without restriction on lvalues and
without need to check for the success indication.
(gnat_to_gnu, call_to_gnu): Adjust calls to gnat_stabilize_reference, to
pass false instead of 0 as the FORCE argument which is a bool.
(Identifier_to_gnu): Remove checks ensuring that an renamed object
attached to a renaming pointer has been properly stabilized, as no such
object is attached otherwise.
(call_to_gnu): Invoke create_var_decl to create the temporary when the
function uses the "target pointer" return mechanism.
Reinstate conversion of the actual to the type of the formal
parameter before any other specific treatment based on the passing
mechanism. This turns out to be necessary in order for PLACEHOLDER
substitution to work properly when the latter type is unconstrained.
* gigi.h (build_unc_object_type_from_ptr): New subprogram, factoring a
common pattern.
(maybe_stabilize_reference): New function, like gnat_stabilize_reference
with extra arguments to control whether to recurse through non-values
and to let the caller know if the stabilization has succeeded.
* utils2.c (gnat_build_constructor): Only sort the fields for possible
static output of record constructor if all the components are constant.
(gnat_build_constructor): For a record type, sort the list of field
initializers in increasing bit position order.
Factor common code to build a storage type for an unconstrained object
from a fat or thin pointer type and a constrained object type.
(build_unary_op) <ADDR_EXPR>: Always recurse down conversions between
types variants, and process special cases of VIEW_CONVERT expressions
as their NOP_EXPR counterpart to ensure we get to the
CORRESPONDING_VARs associated with CONST_DECls.
(build_binary_op) <MODIFY_EXPR>: Do not strip VIEW_CONVERT_EXPRs
on the right-hand side.
* utils.c (build_unc_object_type_from_ptr): New subprogram, factoring
a common pattern.
(convert) <VIEW_CONVERT_EXPR>: Return the inner operand directly if we
are converting back to its original type.
(convert) <JM input>: Fallthrough regular conversion code instead of
extracting the object if converting to a type variant.
(create_var_decl): When a variable has an initializer requiring code
generation and we are at the top level, check for a potential violation
of a No_Elaboration_Code restriction.
(create_var_decl): call expand_decl for CONST_DECLs, to set MODE, ALIGN
SIZE and SIZE_UNIT which we need for later back-annotations.
* utils.c: (convert) <STRING_CST>: Remove obsolete code.
<VIEW_CONVERT_EXPR>: Do not lift the conversion if the target type
is an unchecked union.
(pushdecl): Set DECL_NO_STATIC_CHAIN on imported nested functions.
(convert) <VIEW_CONVERT_EXPR>: When the types have the same
main variant, just replace the VIEW_CONVERT_EXPR.
<UNION_TYPE>: Revert 2005-03-02 change.
* repinfo.h, repinfo.ads: Add tcode for BIT_AND_EXPR.
* repinfo.adb (Print_Expr, Rep_Value): Handle Bit_And_Expressions.
From-SVN: r106961
Jose Ruiz [Tue, 15 Nov 2005 13:53:05 +0000 (14:53 +0100)]
s-tassta.adb (Create_Task): Move the code in charge of resetting the deferral level...
2005-11-14 Jose Ruiz <ruiz@adacore.com>
* s-tassta.adb (Create_Task): Move the code in charge of resetting the
deferral level, when abort is not allowed, to a later stage (the
Task_Wrapper).
(Task_Wrapper): If Abort is not allowed, reset the deferral level since
it will not get changed by the generated code. It was previously done
in Create_Task.
From-SVN: r106960
Arnaud Charlet [Tue, 15 Nov 2005 13:52:55 +0000 (14:52 +0100)]
a-except.adb (Zero_Cost_Exceptions): Removed, no longer used.
* a-except.adb (Zero_Cost_Exceptions): Removed, no longer used.
(builtin_longjmp, Process_Raise_Exceeption): Move setjmp/longjmp
related code to a-exexpr.adb
(Save_Occurrence_And_Private): Move GCC EH related code to
a-exexpr-gcc.adb
(Raise_Current_Excep): Add new variable Id with pragma
volatile, to ensure that the variable lives on stack.
* a-exexpr-gcc.adb, raise-gcc.c: New file.
* a-exexpr.adb (builtin_longjmp, Propagate_Exception): Moved here code
from a-except.adb.
Move GCC EH related code to a-exexpr-gcc.adb
* Makefile.in: Add or update g-soccon LIBGNAT pairs for Linux/PPC and
64-bit Solaris
Split the Linux version of g-soccon into separate variants for 32 and 64
bit platforms.
(gnatlib): Use $(AR_FOR_TARGET) and $(RANLIB_FOR_TARGET)
vice $(AR) and $(RANLIB). Remove use of host variable $(RANLIB_FLAGS).
install-gnatlib: Use $(RANLIB_FOR_TARGET) vice $(RANLIB). Remove use
of host variable $(RANLIB_FLAGS).
(alpha64-dec-*vms*): Fix translations for 64 bit compiler.
Code clean up: remove unused/obsolete targets.
(EH_MECHANISM): New variable introduced to differenciate between the
two EH mechanisms statically.
(gnatlib-zcx, gnatlib-sjlj): Force EH_MECHANISM manually.
(LIBGNAT_OBJS): Add raise-gcc.o
(LIBGNAT_TARGET_PAIRS for ppc-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 ppc-vxworks): Remove the use of
i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
* raise.c: Move all GCC EH-related routines to raise-gcc.c
From-SVN: r106959
Pascal Obry [Tue, 15 Nov 2005 13:52:43 +0000 (14:52 +0100)]
gnatdll.adb (Parse_Command_Line): Remove redundant use of GNAT.Command_Line.
2005-11-14 Pascal Obry <obry@adacore.com>
Vincent Celier <celier@adacore.com>
* gnatdll.adb (Parse_Command_Line): Remove redundant use of
GNAT.Command_Line.
* memroot.adb: Remove redundant with/use clause on
System.Storage_Elements.
From-SVN: r106958
Arnaud Charlet [Tue, 15 Nov 2005 13:52:31 +0000 (14:52 +0100)]
adaint.h, adaint.c (__gnat_is_cross_compiler): New constant.
* adaint.h, adaint.c (__gnat_is_cross_compiler): New constant.
(Gnat_Install_Locks, __gnatlib_install_locks): Removed, no longer used.
(convert_address): Update comments and list of platforms using this.
* s-tasini.adb (Gnat_Install_Locks, __gnatlib_install_locks): Removed,
no longer used.
From-SVN: r106957
Jose Ruiz [Tue, 15 Nov 2005 13:52:20 +0000 (14:52 +0100)]
s-taprop-posix.adb (Initialize_Lock): Destroy mutex attribute before raising the exception so the memory used is freed.
2005-11-14 Jose Ruiz <ruiz@adacore.com>
* s-taprop-posix.adb (Initialize_Lock): Destroy mutex attribute before
raising the exception so the memory used is freed.
From-SVN: r106956
Arnaud Charlet [Tue, 15 Nov 2005 13:52:10 +0000 (14:52 +0100)]
s-traces-default.adb, [...]: Fix compilation errors.
2005-11-14 Arnaud Charlet <charlet@adacore.com>
* s-traces-default.adb, s-trafor-default.ads,
s-tratas-default.adb: Fix compilation errors.
From-SVN: r106955
Doug Rupp [Tue, 15 Nov 2005 13:52:00 +0000 (14:52 +0100)]
system-vms.ads, [...]: ADA$GNAT: New exported object in private part.
2005-11-14 Doug Rupp <rupp@adacore.com>
* system-vms.ads, system-vms_64.ads: ADA$GNAT: New exported object in
private part.
From-SVN: r106954
Vincent Celier [Tue, 15 Nov 2005 13:51:50 +0000 (14:51 +0100)]
mlib-tgt-tru64.adb, [...] (DLL_Prefix): New function
2005-11-14 Vincent Celier <celier@adacore.com>
* mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
mlib-tgt-hpux.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb,
mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb,
mlib-tgt-darwin.adb, mlib-tgt.adb, mlib-tgt.ads,
mlib-tgt-lynxos.adb (DLL_Prefix): New function
From-SVN: r106953
Matthew Gingell [Tue, 15 Nov 2005 13:51:38 +0000 (14:51 +0100)]
system-lynxos-ppc.ads, [...]: Increase default priority on Lynx from 15 to 17...
2005-11-14 Matthew Gingell <gingell@adacore.com>
* system-lynxos-ppc.ads, system-lynxos-x86.ads:
Increase default priority on Lynx from 15 to 17, and meet the Ada
requirement that Default_Priority be ((Priority'First +
Priority'Last) / 2) by increasing the range of Interrupt_Priority.
From-SVN: r106952
Robert Dewar [Tue, 15 Nov 2005 13:51:27 +0000 (14:51 +0100)]
exp_vfpt.adb: Handle /= case
2005-11-14 Robert Dewar <dewar@adacore.com>
* exp_vfpt.adb: Handle /= case
(Expand_Vax_Conversion): Properly recognize Conversion_OK flag
so that we do not get duplicate scaling for fixed point conversions.
* s-vaflop.ads, s-vaflop.adb: (Ne_F): New function
From-SVN: r106951
Robert Dewar [Tue, 15 Nov 2005 13:51:09 +0000 (14:51 +0100)]
re PR ada/18434 (Ada: cannot build gnattools on Tru64 UNIX V5.1B)
2005-11-14 Robert Dewar <dewar@adacore.com>
Ed Schonberg <schonberg@adacore.com>
PR ada/18434
* types.ads: Include All_Checks in Suppress_Array
* checks.adb (Check_Needed): Remove kludge for a/=b rewritten as
not(a=b), since we no longer do this rewriting, and hence it is not
needed.
(Elaboration_Checks_Suppressed): Add special casing to
deal with different cases of static and dynamic elaboration checks (all
checks does not count in the first case, but does in the second).
(Expr_Known_Valid): Do not assume that the result of any arbitrary
function call is valid, since this is not the case.
(Ensure_Valid): Do not apply validity check to a real literal
in a universal or fixed context
* exp_ch4.adb (Expand_N_Op_Ne): Don't expand a/=b to not(a=b) for
elementary types using the operator in standard. It is cleaner not to
modify the programmers intent, especially in the case of floating-point.
(Rewrite_Comparison): Fix handling of /= (this was always wrong, but
it did not matter because we always rewrote a/=b to not(a=b).
(Expand_Allocator_Expression): For an allocator expression whose nominal
subtype is an unconstrained packed type, convert the expression to its
actual constrained subtype.
Implement warning for <= or >= where < or > not possible
Fix to Vax_Float tests (too early in many routines, causing premature
Vax_Float expansions.
* sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow this pragma
to be used with packages and generic packages as well as with
subprograms.
(Suppress): Set All_Checks, but not Elaboration_Check, for case
of pragma Suppress (All_Checks)
(Analyze_Pragma, case Warnings): Implement first argument allowed to be
a string literal for precise control over warnings.
Avoid raise of pragma in case of unrecognized pragma and just return
instead.
* sem_prag.ads: Minor reformatting
* switch-c.adb (Scan_Front_End_Switches): Replace "raise Bad_Switch;"
with call to new procedure Bad_Switch. Call Scan_Pos with new parameter
Switch. Do not handle any exception.
Include -gnatwx as part of -gnatg (warn on redundant parens)
Allow optional = after -gnatm
(Scan_Front_End_Switches): The -gnatp switch sets All_Checks, but no
longer sets Elaboration_Checks.
Code to set warning mode moved to Sem_Warn
so that it can be shared by pragma processing.
* s-mastop-tru64.adb (Pop_Frame): Remove redundant parentheses in if
statement.
* s-taprop-solaris.adb:
Change some <= to =, to avoid new warning
* a-exexda.adb, prj-proc.adb:
Fix obvious typo (Num_Tracebacks compared <= 0 instead of < 0)
Fix obvious typo (Total_Errors_Detected <= 0 should be = 0)
From-SVN: r106950
Thomas Quinot [Tue, 15 Nov 2005 13:50:37 +0000 (14:50 +0100)]
g-soccon.ads: Minor reformatting.
2005-11-14 Thomas Quinot <quinot@adacore.com>
* g-soccon.ads: Minor reformatting. Update comments.
* gsocket.h: Include <sys/times.h> in the VxWorks case, in order to
gain visibility on the declaration of struct timeval.
* g-soccon-freebsd.ads,
g-soccon-darwin.ads,
g-soccon-tru64.ads,
g-soccon-aix.ads,
g-soccon-irix.ads,
g-soccon-hpux.ads,
g-soccon-solaris.ads,
g-soccon-vms.ads,
g-soccon-mingw.ads,
g-soccon-vxworks.ads (SIZEOF_tv_sec, SIZEOF_tv_usec): New constants.
* g-soccon-hpux-ia64.ads, g-soccon-linux-ppc.ads,
g-soccon-solaris-64.ads, g-soccon-linux-64.ads,
g-soccon-linux-x86.ads: New files.
* g-socthi-mingw.adb:
(Socket_Error_Message): Remove redundant use of GNAT.Sockets.Constants
* g-socthi-vxworks.ads, g-socthi-vms.ads, g-socthi-mingw.ads
(time_t, suseconds_t): New types constructed to match the tv_sec
and tv_usec fields of C struct timeval.
(Timeval): Construct structure in terms of the new types.
(Host_Errno): New function (imported from socket.c), returns last hosts
database error.
* g-socthi-vxworks.adb: Add error handling circuitry.
* g-socket.ads, g-socket.adb (To_Timeval): Reflect change of type for
components of struct timeval.
(Get_Host_By_Name, Get_Host_By_Address): Fix error reporting circuitry.
(Check_Selector): In error conditions, clear internal socket sets to
avoid a memory leak.
(Get_Socket_Option, Set_Socket_Option): Support for Multicast_If,
Send_Timeout, Receive_Timeout.
* g-socthi.ads (time_t, suseconds_t): New types constructed to match
the tv_sec and tv_usec fields of C struct timeval.
(Timeval): Construct structure in terms of the new types.
(Host_Errno): New function (imported from socket.c), returns last hosts
database error.
* socket.c (__gnat_get_h_errno): New function to retrieve h_errno, the
hosts database last error code.
* gen-soccon.c: Complete value expansion should not be performed on
TARGET, as it has the form of a math expression, and some components
may be platform-defined macros.
For VxWorks, generate the OK and ERROR values.
New constants giving the sizes of the components of C struct timeval.
From-SVN: r106949
Jan Hubicka [Tue, 15 Nov 2005 12:27:33 +0000 (13:27 +0100)]
invoke.texi (large-unit-insns): Document.
* invoke.texi (large-unit-insns): Document.
* ipa-inline.c (cgraph_decide_inlining): Use large-unit-insns param.
* params.def (large-unit-insns): New param.
* gcc.dg/winline-5.c: Add large-unit-insns limit.
From-SVN: r106948
Hans-Peter Nilsson [Tue, 15 Nov 2005 10:52:06 +0000 (10:52 +0000)]
re PR target/24869 (testsuite failure: gfortran.dg/func_derived_1.f90 -O3 unroll-loops)
PR target/24869
* config/cris/cris.md ("*mov_sidesisf_mem"): Do not match
special register for operand 3. Reindent constraints to align
them vertically.
From-SVN: r106946
David Edelsohn [Tue, 15 Nov 2005 05:00:40 +0000 (05:00 +0000)]
invoke.texi (RS/6000 and PowerPC Options): Add -mmfcrf, -mpopcntb, -mfprnd.
* doc/invoke.texi (RS/6000 and PowerPC Options): Add -mmfcrf,
-mpopcntb, -mfprnd. Add -mcpu=power5+.
* configure.ac: Add test for FP rounding instructions.
* configure: Regenerate.
* config.in: Regenerate.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
_ARCH_PPCSQ, _ARCH_PPCGR, _ARCH_PWR4, _ARCH_PWR5, _ARCH_PWR5X if
features enabled.
* config/rs6000/rs6000.opt (mfprnd): New.
* config/rs6000/rs6000.c (processor_target_table): Add power5+.
(POWERPC_MASKS): Add MASK_POPCNTB and MASK_FPRND.
* config/rs6000/aix52.h (ASM_CPU_SPEC): Add -mpower5+.
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mpower5+.
(TARGET_FPRND): New.
* config/rs6000/rs6000.md (UNSPEC_FRIM, UNSPEC_FRIN, UNSPEC_FRIP,
UNSPEC_FRIZ): New.
(btrunc<mode>2): New.
(ceil<mode>2): New.
(floor<mode>2): New.
(round<mode>2): New.
From-SVN: r106938
Geoffrey Keating [Tue, 15 Nov 2005 04:56:34 +0000 (04:56 +0000)]
acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Don't check for shared libgcc for darwin exports.
* acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Don't check for
shared libgcc for darwin exports.
* configure: Regenerate.
From-SVN: r106936
Geoffrey Keating [Tue, 15 Nov 2005 04:55:12 +0000 (04:55 +0000)]
gcc.c (version_compare_spec_function): Use fatal() rather than abort().
* gcc.c (version_compare_spec_function): Use fatal() rather than
abort().
* config/rs6000/darwin.h (DARWIN_CRT2_SPEC): New.
(SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2).
* config/i386/darwin.h (SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2)
as empty.
* config/darwin.h (STARTFILE_SPEC): Use %(darwin_crt2) to possibly
link in crt2.o.
* config/darwin.h (REAL_LIBGCC_SPEC): Link in shared libgcc depending
on -mmacosx-version-min setting.
From-SVN: r106935
David Edelsohn [Tue, 15 Nov 2005 04:42:30 +0000 (04:42 +0000)]
* g++.dg/eh/simd-2.C: XFAIL on AIX and SPE.
From-SVN: r106933
Diego Novillo [Tue, 15 Nov 2005 02:59:03 +0000 (02:59 +0000)]
re PR tree-optimization/24840 (ICE process_assert_insertions_for, at tree-vrp.c:2807)
PR 24840
* tree-vrp.c (infer_value_range): Return false if STMT is a
block terminator and its basic block has no successors.
testsuite/
PR 24840
* gcc.dg/tree-ssa/pr24840.c: New test.
From-SVN: r106930
Mike Stump [Tue, 15 Nov 2005 01:44:36 +0000 (01:44 +0000)]
i386.c (override_options): -masm=intel isn't supported on darwin.
* config/i386/i386.c (override_options): -masm=intel isn't
supported on darwin.
* doc/invoke.texi (i386 and x86-64 Options): Likewise.
From-SVN: r106927
Joseph Myers [Tue, 15 Nov 2005 01:21:29 +0000 (01:21 +0000)]
crtstuff.c: Undefine gid_t, pid_t, rlim_t, ssize_t, uid_t and vfork after including auto-host.h.
* crtstuff.c: Undefine gid_t, pid_t, rlim_t, ssize_t, uid_t and
vfork after including auto-host.h.
From-SVN: r106924
Janis Johnson [Tue, 15 Nov 2005 01:18:45 +0000 (01:18 +0000)]
re PR testsuite/24841 (dg-require compilation-test trigged on test with additional-sources barfs)
PR testsuite/24841
* gcc.dg/attr-weakref-1.c: Rearrange test directives.
From-SVN: r106923
Alan Modra [Tue, 15 Nov 2005 00:59:21 +0000 (00:59 +0000)]
re PR rtl-optimization/22002 (internal consistency failure with -funroll-loops)
PR rtl-optimization/22002
* combine.c (distribute_notes): Detect cases where a reg dies
two or more times in a bb, including on the insn we are combining,
and place the death note on the correct range.
From-SVN: r106921
Dale Johannesen [Tue, 15 Nov 2005 00:47:17 +0000 (00:47 +0000)]
20051113-1.c: New.
2005-11-14 Dale Johannesen <dalej@apple.com>
* gcc.c-torture/execute/
20051113-1.c: New.
From-SVN: r106920
Dale Johannesen [Tue, 15 Nov 2005 00:45:55 +0000 (00:45 +0000)]
expmed.c (store_bit_field): Add offset unconditionally for memory targets.
2005-11-14 Dale Johannesen <dalej@apple.com>
* expmed.c (store_bit_field): Add offset unconditionally for
memory targets.
(extract_bit_field): Don't force extzv or extv operand into
a register if field is too big.
From-SVN: r106919
GCC Administrator [Tue, 15 Nov 2005 00:17:08 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r106914
Mark Mitchell [Tue, 15 Nov 2005 00:15:09 +0000 (00:15 +0000)]
re PR c++/24687 (ICE after error)
PR c++/24687
* pt.c (check_explicit_specialization): Don't check for C linkage.
(push_template_decl_real): Likewise.
* parser.c (cp_parser_explicit_specialization): Check here.
(cp_parser_template_declaration_after_export): And here.
PR c++/24687
* g++.dg/template/crash43.C: New test.
From-SVN: r106909
Mark Mitchell [Tue, 15 Nov 2005 00:04:43 +0000 (00:04 +0000)]
parser.c (cp_lexer_get_preprocessor_token): Initialize keyword field.
* parser.c (cp_lexer_get_preprocessor_token): Initialize keyword
field.
From-SVN: r106907
Jason Merrill [Mon, 14 Nov 2005 20:07:45 +0000 (15:07 -0500)]
re PR c++/24580 (virtual base class cause exception not to be caught)
PR c++/24580
* method.c (locate_ctor): Skip all artificial parms, not just
'this'.
From-SVN: r106901
Janne Blomqvist [Mon, 14 Nov 2005 19:48:31 +0000 (21:48 +0200)]
re PR libfortran/21468 (vectorizing libfortran)
2005-11-14 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/21468
* Makefile.am: Add -ftree-vectorize for compiling matmul.
* m4/matmul.m4: Add const and restrict to type declarations as
appropriate.
* m4/matmull.m4: Likewise.
* Makefile.in: Regenerated.
* generated/matmul_*.c: Likewise.
From-SVN: r106898
Mohan Embar [Mon, 14 Nov 2005 17:19:11 +0000 (17:19 +0000)]
natVMNetworkInterfaceWin32.cc: Include java/net/VMNetworkInterface.h.
* java/net/natVMNetworkInterfaceWin32.cc: Include
java/net/VMNetworkInterface.h.
From-SVN: r106895
Mohan Embar [Mon, 14 Nov 2005 17:15:18 +0000 (17:15 +0000)]
natPlainSocketImplWin32.cc: Updated copyright.
* gnu/java/net/natPlainSocketImplWin32.cc: Updated copyright.
(read): Handle count == 0 case.
Co-Authored-By: David Daney <ddaney@avtrex.com>
From-SVN: r106894
Daniel Jacobowitz [Mon, 14 Nov 2005 17:07:42 +0000 (17:07 +0000)]
arm.c (pic_labelno): New.
* config/arm/arm.c (pic_labelno): New.
(arm_load_pic_register): Use an UNSPEC_PIC_LABEL instead of a
LABEL_REF. Pass only the labelno to PIC insns.
(arm_call_tls_get_addr, legitimize_tls_address): Likewise.
(arm_output_addr_const_extra): Handle UNSPEC_PIC_LABEL.
* arm.md (UNSPEC_PIC_LABEL): New constant.
(pic_add_dot_plus_four, pic_add_dot_plus_eight)
(tls_load_dot_plus_eight): Expect a labelno instead of a LABEL_REF.
Use the correct label prefix.
From-SVN: r106893
Daniel Jacobowitz [Mon, 14 Nov 2005 16:32:49 +0000 (16:32 +0000)]
arm.c (legitimize_tls_address): Use correct rtx for REQ_EQUIV note.
* config/arm/arm.c (legitimize_tls_address): Use correct rtx for
REQ_EQUIV note.
From-SVN: r106892
Gerald Pfeifer [Mon, 14 Nov 2005 16:28:55 +0000 (16:28 +0000)]
cpplib.h (struct cpp_callbacks): Annotate error with ATTRIBUTE_FPTR_PRINTF(3,0) instead of ATTRIBUTE_PRINTF(3,0).
* include/cpplib.h (struct cpp_callbacks): Annotate error with
ATTRIBUTE_FPTR_PRINTF(3,0) instead of ATTRIBUTE_PRINTF(3,0).
Co-Authored-By: Ian Lance Taylor <ian@airs.com>
From-SVN: r106891
Daniel Jacobowitz [Mon, 14 Nov 2005 16:28:48 +0000 (16:28 +0000)]
* gcc.c-torture/unsorted/unsorted.exp: Sort tests before running them.
From-SVN: r106890
Mark Mitchell [Mon, 14 Nov 2005 15:29:03 +0000 (15:29 +0000)]
* parser.c (eof_token): Add initializer for ambiguous_p.
From-SVN: r106889
Richard Earnshaw [Mon, 14 Nov 2005 15:03:06 +0000 (15:03 +0000)]
loop-invariant.c: Include tm_p.h.
* loop-invariant.c: Include tm_p.h.
* Makefile.in: Updated.
From-SVN: r106888
Richard Earnshaw [Mon, 14 Nov 2005 14:52:15 +0000 (14:52 +0000)]
loop-invariant.c: Include tm_p.h.
* loop-invariant.c: Include tm_p.h.
* Makefile.in: Updated.
From-SVN: r106887
Robert Dewar [Mon, 14 Nov 2005 13:05:58 +0000 (13:05 +0000)]
re PR ada/18434 (Ada: cannot build gnattools on Tru64 UNIX V5.1B)
2005-11-14 Robert Dewar <dewar@adacore.com>
PR ada/18434
* osint-m.adb: Add pragma Elaborate_All for Osint
From-SVN: r106886
Mark Mitchell [Mon, 14 Nov 2005 05:45:45 +0000 (05:45 +0000)]
re PR c++/24817 (g++ accepts multiple function template declarations even if exception-specification doesn't match.)
PR c++/24817
* decl.c (check_redeclaration_exception_specification): New
function.
(duplicate_decls): Use it.
* error.c (fndecl_to_string): Print the template parameter list.
PR c++/24817
* g++.dg/eh/spec8.C: New test.
From-SVN: r106884
Hans-Peter Nilsson [Mon, 14 Nov 2005 04:23:39 +0000 (04:23 +0000)]
* gcc.dg/pack-test-1.c: Gate on ! default_packed.
From-SVN: r106883
Mark Mitchell [Mon, 14 Nov 2005 01:45:19 +0000 (01:45 +0000)]
re PR c++/20293 (Wrong diagnostic for ambiguous access)
PR c++/20293
* cxx-pretty-print.c (pp_cxx_statement): Print qualifying scopes
for namespaces.
(pp_cxx_original_namespace_definition): Likewise.
* name-lookup.c (ambiguous_decl): Don't issue error messages;
instead return lists of ambiguous candidates.
(select_decl): Handle ambiguous namespace lookups.
* parser.c (cp_token): Add ambiguous_p.
(cp_lexer_get_preprocessor_token): Set it.
(cp_parser_diagnose_invalid_type_name): Avoid duplicate messages
when a qualified name uses an invalid scope.
(cp_parser_primary_expression): Print ambiguous candidates.
(cp_parser_type_parameter): Adjust comment to reflect new
parameter name for cp_parser_lookup_name.
(cp_parser_template_argument): Likewise.
(cp_parser_elaborated_type_specifier): Likewise.
(cp_parser_namespace_name): Likewise.
(cp_parser_class_name): Print ambiguous candidates.
(cp_parser_lookup_name): Rename ambiguous_p parameter to
ambiguous_decls. Use it to return a list of ambiguous candiates
when a lookup is ambiguous.
(cp_parser_lookup_name_simple): Adjust comment to reflect new
parameter name for cp_parser_lookup_name.
PR c++/20293
* g++.dg/parse/ambig4.C: New test.
* g++.dg/tc1/dr101.C: Adjust error markers.
* g++.dg/lookup/strong-using-2.C: Likewise.
* g++.dg/lookup/ambig5.C: Likewise.
* g++.dg/lookup/ambig4.C: Likewise.
* g++.dg/parse/crash22.C: Likewise.
From-SVN: r106879
Hans-Peter Nilsson [Mon, 14 Nov 2005 01:04:09 +0000 (01:04 +0000)]
* gcc.dg/pr19340.c: Skip for mmix-*-* and cris-*-*.
From-SVN: r106877
GCC Administrator [Mon, 14 Nov 2005 00:17:15 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r106874
John David Anglin [Sun, 13 Nov 2005 18:06:55 +0000 (18:06 +0000)]
pa.c (store_reg): Revise generation of frame notes in large frames.
* pa.c (store_reg): Revise generation of frame notes in large frames.
(set_reg_plus_d): Likewise.
From-SVN: r106867
Andrew MacLeod [Sun, 13 Nov 2005 16:09:14 +0000 (16:09 +0000)]
re PR tree-optimization/24709 (4.1.0 HEAD crashes with enable-checking on huge switch statement)
PR tree-optimization/24709
* tree-ssa-operands.c (verify_imm_links): Increase limit for infinite
loop check.
From-SVN: r106865
Paolo Carlini [Sun, 13 Nov 2005 12:14:51 +0000 (12:14 +0000)]
[multiple changes]
2005-11-13 Jonathan Wakely <redi@gcc.gnu.org>
* include/tr1/boost_shared_ptr.h (get_deleter):
Declare before shared_ptr.
(shared_ptr<>): Declare get_deleter as friend.
(shared_ptr<>:_M_get_deleter): Private.
2005-11-13 Douglas Gregor <doug.gregor@gmail.com>
PR libstdc++/24818
* include/tr1/ref_wrap_iterate.h
(reference_wrapper::operator()()): Don't dereferene the result of
get() before calling it; it's already a reference.
* testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
Test nullary calls to reference_wrappers.
From-SVN: r106863
Paolo Carlini [Sun, 13 Nov 2005 12:14:15 +0000 (12:14 +0000)]
[multiple changes]
2005-11-13 Jonathan Wakely <redi@gcc.gnu.org>
* include/tr1/boost_shared_ptr.h (get_deleter):
Declare before shared_ptr.
(shared_ptr<>): Declare get_deleter as friend.
(shared_ptr<>:_M_get_deleter): Private.
2005-11-13 Douglas Gregor <doug.gregor@gmail.com>
PR libstdc++/24818
* include/tr1/ref_wrap_iterate.h
(reference_wrapper::operator()()): Don't dereferene the result of
get() before calling it; it's already a reference.
* testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
Test nullary calls to reference_wrappers.
From-SVN: r106862
Eric Botcazou [Sun, 13 Nov 2005 10:16:43 +0000 (11:16 +0100)]
gthr-posix95.h: Remove declaration of pthread_mutexattr_settype and duplicate declaration of...
* gthr-posix95.h: Remove declaration of pthread_mutexattr_settype
and duplicate declaration of pthread_self.
From-SVN: r106861
Eric Botcazou [Sun, 13 Nov 2005 09:55:11 +0000 (09:55 +0000)]
re PR middle-end/24003 (17 ACATS regressions (fixed point or decimal artihmetic))
PR middle-end/24003
* calls.c (expand_call): If TARGET is a MEM and some part of the
argument area has been saved, force TARGET to a register.
Co-Authored-By: Ian Lance Taylor <ian@airs.com>
From-SVN: r106860
Francois-Xavier Coudert [Sun, 13 Nov 2005 09:33:19 +0000 (10:33 +0100)]
fget.c: New file.
* intrinsics/fget.c: New file.
* intrinsics/ftell.c: New file.
* io/unix.c (stream_offset): New function.
* io/io.h: Add prototype for stream_offset.
* Makefile.am: Add intrinsics/fget.c and intrinsics/ftell.c.
* Makefile.in: Regenerate.
* intrinsic.c (add_functions): Add COMPLEX, FTELL, FGETC, FGET,
FPUTC, FPUT, AND, XOR and OR intrinsic functions.
(add_subroutines): Add FGETC, FGET, FPUTC, FPUT and FTELL intrinsic
subroutines.
* gfortran.h: Add GFC_ISYM_AND, GFC_ISYM_COMPLEX, GFC_ISYM_FGET,
GFC_ISYM_FGETC, GFC_ISYM_FPUT, GFC_ISYM_FPUTC, GFC_ISYM_FTELL,
GFC_ISYM_OR, GFC_ISYM_XOR.
* iresolve.c (gfc_resolve_and, gfc_resolve_complex,
gfc_resolve_or, gfc_resolve_fgetc, gfc_resolve_fget,
gfc_resolve_fputc, gfc_resolve_fput, gfc_resolve_ftell,
gfc_resolve_xor, gfc_resolve_fgetc_sub, gfc_resolve_fget_sub,
gfc_resolve_fputc_sub, gfc_resolve_fput_sub, gfc_resolve_ftell_sub):
New functions.
* check.c (gfc_check_complex, gfc_check_fgetputc_sub,
gfc_check_fgetputc, gfc_check_fgetput_sub, gfc_check_fgetput,
gfc_check_ftell, gfc_check_ftell_sub, gfc_check_and): New functions.
* simplify.c (gfc_simplify_and, gfc_simplify_complex, gfc_simplify_or,
gfc_simplify_xor): New functions.
* trans-intrinsic.c (gfc_conv_intrinsic_function): Add cases for
GFC_ISYM_AND, GFC_ISYM_COMPLEX, GFC_ISYM_FGET, GFC_ISYM_FGETC,
GFC_ISYM_FPUT, GFC_ISYM_FPUTC, GFC_ISYM_FTELL, GFC_ISYM_OR and
GFC_ISYM_XOR.
* intrinsic.h: Add prototypes for all functions added to iresolve.c,
simplify.c and check.c.
* gfortran.dg/complex_intrinsic_1.f90: New test.
* gfortran.dg/complex_intrinsic_2.f90: New test.
* gfortran.dg/fgetc_1.f90: New test.
* gfortran.dg/fgetc_2.f90: New test.
* gfortran.dg/fgetc_3.f90: New test.
* gfortran.dg/ftell_1.f90: New test.
* gfortran.dg/ftell_2.f90: New test.
* gfortran.dg/gnu_logical_1.F: New test.
* gfortran.dg/gnu_logical_2.f90: New test.
From-SVN: r106859
Razya Ladelsky [Sun, 13 Nov 2005 09:08:42 +0000 (09:08 +0000)]
ipa-prop.c (ipa_callsite_compute_param ): Removed obsolete type checking.
2005-11-13 Razya Ladelsky <razya@il.ibm.com>
* ipa-prop.c (ipa_callsite_compute_param ): Removed obsolete type
checking.
From-SVN: r106858
Andreas Jaeger [Sun, 13 Nov 2005 08:43:28 +0000 (09:43 +0100)]
check.tpl: Handle CVS additionally.
* check.tpl: Handle CVS additionally.
From-SVN: r106855
Jason Merrill [Sun, 13 Nov 2005 07:34:50 +0000 (02:34 -0500)]
re PR c++/22489 (ICE in dwarf2out_finish with using namespace in a local class and compiler built constructors)
PR c++/22489
* dwarf2out.c (gen_subprogram_die): Force a declaration die for
lazily declared methods.
(force_decl_die): Stop if forcing out the context already make a
DIE for the decl.
(force_type_die): Likewise.
From-SVN: r106853
Andrew Pinski [Sun, 13 Nov 2005 06:18:48 +0000 (06:18 +0000)]
re PR middle-end/24820 (SEGV in integer_valued_real_p at gcc/builtins.c:6711)
2005-11-13 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/24820
* testsuite/gcc.dg/pr24820.c: New test.
2005-11-13 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/24820
* builtins.c (integer_valued_real_p): Add break in
REAL_CST having TREE_OVERFLOW set.
From-SVN: r106851
GCC Administrator [Sun, 13 Nov 2005 00:17:13 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r106847
Zdenek Dvorak [Sat, 12 Nov 2005 23:27:13 +0000 (00:27 +0100)]
tree-ssa-loop-ivopts.c (get_address_cost): Prevent splitting addressing modes during calculation of costs.
* tree-ssa-loop-ivopts.c (get_address_cost): Prevent splitting
addressing modes during calculation of costs.
* testsuite/gcc.dg/tree-ssa/loop-2.c: Fix outcome.
* testsuite/gcc.dg/tree-ssa/loop-3.c: Change type of loop control
variable.
From-SVN: r106842
Eric Botcazou [Sat, 12 Nov 2005 22:58:48 +0000 (22:58 +0000)]
function.c (assign_stack_local_1): Restrict sanity check on frame size overflow to 32-bit and above platforms.
* function.c (assign_stack_local_1): Restrict sanity check
on frame size overflow to 32-bit and above platforms.
From-SVN: r106840
John David Anglin [Sat, 12 Nov 2005 21:54:23 +0000 (21:54 +0000)]
nested-func-4.c: Add dg-options for hppa*-*-hpux*.
testsuite/24614
* gcc.dg/nested-func-4.c: Add dg-options for hppa*-*-hpux*.
From-SVN: r106837
Hans-Peter Nilsson [Sat, 12 Nov 2005 21:10:23 +0000 (21:10 +0000)]
cris.exp: New file.
* gcc.target/cris/cris.exp: New file.
* gcc.target/cris/rld-legit1.c: New test.
* gcc.target/cris/rld-legit2.c: New test.
From-SVN: r106836
Hans-Peter Nilsson [Sat, 12 Nov 2005 21:09:11 +0000 (21:09 +0000)]
cris.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
* config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
* config/cris/cris.c: Include reload.h.
(cris_initial_elimination_offset): New function.
* config/cris/cris-protos.h: (cris_initial_elimination_offset):
Prototype.
From-SVN: r106835
Jakub Jelinek [Sat, 12 Nov 2005 20:44:55 +0000 (21:44 +0100)]
re PR c++/24780 (ICE set_mem_attributes_minus_bitpos)
PR c++/24780
* typeck.c (complete_type): Set TYPE_NEEDS_CONSTRUCTING
and TYPE_HAS_NONTRIVIAL_DESTRUCTOR flags for all variants
of array type.
* g++.dg/opt/pr24780.C: New test.
From-SVN: r106833
Jakub Jelinek [Sat, 12 Nov 2005 20:42:23 +0000 (21:42 +0100)]
re PR c++/24761 (templates and inline-asm and "+")
PR c++/24761
* pt.c (tsubst_copy_asm_operands): New function.
(tsubst_expr) <case ASM_EXPR>: Use it.
* g++.dg/template/asm1.C: New test.
From-SVN: r106831
Richard Guenther [Sat, 12 Nov 2005 19:29:30 +0000 (19:29 +0000)]
gcse.c (find_rtx_in_ldst): Handle NULL pre_ldst_table.
2005-11-12 Richard Guenther <rguenther@suse.de>
* gcse.c (find_rtx_in_ldst): Handle NULL pre_ldst_table.
From-SVN: r106829
Steven G. Kargl [Sat, 12 Nov 2005 19:16:40 +0000 (19:16 +0000)]
re PR libfortran/24787 ([libfortran] SCAN is broken)
PR libfortran/24787
* intrinsics/string_intrinsics.c (string_scan): Off by one; Fix
typos in nearby comment.
* gfortran.dg/scan_1.f90: New test.
From-SVN: r106828
Jan Hubicka [Sat, 12 Nov 2005 17:35:06 +0000 (18:35 +0100)]
expr.c (expand_expr_real_1): <MAX_EXPR, MIN_EXPR>: Canonicalize to compare against 0 when possible.
* expr.c (expand_expr_real_1): <MAX_EXPR, MIN_EXPR>: Canonicalize
to compare against 0 when possible.
* gcc.target/i386/minmax-1.c: New.
* gcc.target/i386/minmax-2.c: New.
From-SVN: r106827
Jie Zhang [Sat, 12 Nov 2005 16:08:35 +0000 (16:08 +0000)]
bfin.h (REGISTER_NAMES, [...]): Rearrange I/B/L registers.
* config/bfin/bfin.h (REGISTER_NAMES, SHORT_REGISTER_NAMES,
HIGH_REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS,
REG_ALLOC_ORDER, enum reg_class): Rearrange I/B/L registers.
* config/bfin/bfin.md: Redefine REG_ constants for I/B/L registers
in the new order.
From-SVN: r106824
Kaz Kojima [Sat, 12 Nov 2005 09:28:24 +0000 (09:28 +0000)]
pr24445.c: Fix for 64-bit targets.
* gcc.dg/pr24445.c: Fix for 64-bit targets.
From-SVN: r106822
Hans-Peter Nilsson [Sat, 12 Nov 2005 07:12:09 +0000 (07:12 +0000)]
recog.c (constrain_operands): For a match, require that a non-register matches general_operand when strict >= 0.
* recog.c (constrain_operands) <case 'g'>: For a match, require
that a non-register matches general_operand when strict >= 0.
From-SVN: r106821
Paolo Carlini [Sat, 12 Nov 2005 00:19:24 +0000 (00:19 +0000)]
re PR libstdc++/24808 (is_object fails to compile with incomplete types)
2005-11-11 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24808
* include/tr1/type_traits (__is_abstract_helper): Rename to __in_array
(with complemented logic).
(is_function): Use it, don't use __conv_helper.
(is_abstract): Adjust.
(__conv_helper): Rename to __is_convertible_simple.
(is_convertible): Adjust.
* testsuite/testsuite_tr1.h (class IncompleteClass): Add.
* testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/
24808.cc: New.
* testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/
24808.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/
24808.cc: Likewise.
From-SVN: r106818
GCC Administrator [Sat, 12 Nov 2005 00:17:06 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r106815
Steven Bosscher [Sat, 12 Nov 2005 00:09:48 +0000 (00:09 +0000)]
loop-invariant.c (move_loop_invariants): Fix a thinko in the previous checkin.
* loop-invariant.c (move_loop_invariants): Fix a thinko in the
previous checkin.
From-SVN: r106809
Daniel Jacobowitz [Fri, 11 Nov 2005 23:23:15 +0000 (23:23 +0000)]
gcc/
* tree-ssa-dse.c (struct address_walk_data, memory_ssa_name_same)
(memory_address_same): New.
(dse_optimize_stmt): Call memory_address_same.
gcc/testsuite/
* gcc.c-torture/execute/
20051110-1.c,
gcc.c-torture/execute/
20051110-2.c: New tests.
From-SVN: r106807
Hans-Peter Nilsson [Fri, 11 Nov 2005 23:19:26 +0000 (23:19 +0000)]
re PR middle-end/24750 (global-alloc (reload) trips over own confusion for unexpected addressing modes)
PR middle-end/24750
* gcc.dg/torture/pr24750-1.c, gcc.target/cris/torture/pr24750-2.c:
New tests.
From-SVN: r106806
Hans-Peter Nilsson [Fri, 11 Nov 2005 23:17:16 +0000 (23:17 +0000)]
re PR middle-end/24750 (global-alloc (reload) trips over own confusion for unexpected addressing modes)
PR middle-end/24750
* reload.c (find_reloads_address_1) <case TRUNCATE, SIGN_EXTEND,
ZERO_EXTEND>: New cases.
From-SVN: r106804
Daniel Jacobowitz [Fri, 11 Nov 2005 22:45:06 +0000 (22:45 +0000)]
* longlong.h (__clz_tab): Always provide.
From-SVN: r106803
Andreas Tobler [Fri, 11 Nov 2005 22:31:35 +0000 (23:31 +0100)]
target-libpath.exp (get_shlib_extension): New proc.
2005-11-11 Andreas Tobler <a.tobler@schweiz.ch>
* lib/target-libpath.exp (get_shlib_extension): New proc.
* lib/g++.exp (g++_link_flags): Add flags in case of shared only build.
* lib/gfortran.exp (gfortran_link_flags): Likewise.
* lib/objc.exp (objc_target_compile): Likewise.
* lib/obj-c++.exp (obj-c++_link_flags): Likewise. Fix multilib libgcc
detection.
From-SVN: r106802
Daniel Jacobowitz [Fri, 11 Nov 2005 21:47:07 +0000 (21:47 +0000)]
Makefile.def: Remove gdb dependencies for gdbtk.
* Makefile.def: Remove gdb dependencies for gdbtk.
* Makefile.tpl (CONFIGURE_GDB_TK, INSTALL_GDB_TK): New variables.
(configure-gdb, install-gdb): New rules.
* configure.in: Set CONFIGURE_GDB_TK and INSTALL_GDB_TK.
* Makefile.in, configure: Regenerated.
From-SVN: r106801
Andreas Tobler [Fri, 11 Nov 2005 21:41:55 +0000 (22:41 +0100)]
static_linking_1.f: Fix static_libgfortran processing.
2005-11-11 Andreas Tobler <a.tobler@schweiz.ch>
* gfortran.dg/static_linking_1.f: Fix static_libgfortran processing.
* lib/target-supports.exp (check_effective_target_static_libgfortran):
Add -static to additional_flags and pass it to target_compile.
From-SVN: r106800
Jerry DeLisle [Fri, 11 Nov 2005 20:35:54 +0000 (20:35 +0000)]
Update ChangeLog.
2005-11-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Update ChangeLog. Forgot to commit
From-SVN: r106799
Jerry DeLisle [Fri, 11 Nov 2005 20:31:06 +0000 (20:31 +0000)]
re PR libfortran/24719 (Nonadvancing read does not read more than 1 line)
2005-11-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/24719
gfortran.dg/read_noadvance.f90: New test.
PR libgfortran/24699
gfortran.dg/fmt_t_2.f90: New test.
PR libgfortran/24785
gfortran.dg/read_x_eor.f90: New test.
PR libgfortran/24584
gfortran.dg/namelist_empty.f90: Rename test.
PR libgfortran/24489
gfortran/read_eor.f90: Rename test.
From-SVN: r106798
Jerry DeLisle [Fri, 11 Nov 2005 20:19:21 +0000 (20:19 +0000)]
PR libgfortran/24699, 24700, 24719, 24785
2005-11-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/24699, 24700, 24719, 24785
* io/transfer.c (read_sf): Remove incorrect statement that was
clearing bytes_left.
(formatted_transfer_scalar): Add handling of end-of-record
condition, setting values correctly to backup. Handle x format
when doing non-advancing write.
(st_read): Initialize current_record.
From-SVN: r106797
Paolo Carlini [Fri, 11 Nov 2005 20:10:20 +0000 (20:10 +0000)]
re PR libstdc++/24799 (std::tr1::hash missing inheritance)
2005-11-11 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24799
* include/tr1/functional (hash): Inherit from std::unary_function.
* testsuite/tr1/6_containers/unordered/hash/24799.cc: New.
PR libstdc++/24805
* include/tr1/boost_shared_ptr.h (swap(shared_ptr<>&, shared_ptr<>&),
swap(weak_ptr<>&, weak_ptr<>&)): Move inside namespace tr1.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/
24805.cc: New.
PR libstdc++/24809
* include/tr1/type_traits (__is_polymorhpic_helper): Adjust destructor.
* testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/
24809.cc: New.
From-SVN: r106796
Steven Bosscher [Fri, 11 Nov 2005 19:34:39 +0000 (19:34 +0000)]
re PR target/24265 (ICE: in extract_insn, at recog.c:2084 with -O -fgcse -fmove-loop-invariants -mtune=pentiumpro)
PR 24265
* loop-invariant.c (may_assign_reg_p): Make sure a hard register
can be assigned to.
(find_invariant_insn): Do the cheapest check, may_assign_reg_p,
before check_maybe_invariant.
(move_invariant_reg): Use gen_move_insn instead of replacing
SET_DEST with the temporary for the invariant.
(move_loop_invariants): If checking is enabled, do internal
consistency checks after completing the pass.
From-SVN: r106795
David Edelsohn [Fri, 11 Nov 2005 17:59:54 +0000 (17:59 +0000)]
re PR c/24644 (gcc-4.1 compiled ppc64 kernels do not boot)
PR 24644
* common.opt (Wvolatile-register-var): New.
* varasm.c (make_decl_rtl): Only emit warning when option
specified. Clarify warning message.
* doc/invoke.texi (Wvolatile-register-var): Document new option.
* doc/md.texi (copysign): Document standard named pattern.
From-SVN: r106791
Jie Zhang [Fri, 11 Nov 2005 17:58:31 +0000 (17:58 +0000)]
bfin.c (bfin_expand_strmov): Correctly move the trailing bytes when align is 2.
* config/bfin/bfin.c (bfin_expand_strmov): Correctly move the trailing
bytes when align is 2.
* config/bfin/bfin.md (rep_movsi, rep_movhi): Make LSETUP be followed
by the first instruction of the loop.
From-SVN: r106790
Jason Merrill [Fri, 11 Nov 2005 17:16:53 +0000 (12:16 -0500)]
fix
From-SVN: r106788
Jason Merrill [Fri, 11 Nov 2005 17:15:48 +0000 (12:15 -0500)]
re PR c++/24686 (ICE when building a variation of NMSTL)
PR c++/24686
* gimplify.c (gimplify_cleanup_point_expr): Also save and restore
the cleanup list.
From-SVN: r106787
Jason Merrill [Fri, 11 Nov 2005 17:14:49 +0000 (12:14 -0500)]
re PR c++/24686 (ICE when building a variation of NMSTL)
PR c++/24686
* gimplify.c (gimplify_cleanup_point_expr): Also save and restore
the cleanup list.
From-SVN: r106786
Zdenek Dvorak [Fri, 11 Nov 2005 13:38:07 +0000 (14:38 +0100)]
re PR rtl-optimization/22509 (elemental.f90 testsuite failure (-fweb))
PR rtl-optimization/22509
* local-alloc.c (memref_used_between_p): Check whether a function call
could not reference the memref.
From-SVN: r106783
Ulrich Weigand [Fri, 11 Nov 2005 09:38:52 +0000 (09:38 +0000)]
postreload.c (reload_cse_simplify_operands): Fix bug in sorting algorithm so as to choose the best, not the worst, alternative.
* postreload.c (reload_cse_simplify_operands): Fix bug in sorting
algorithm so as to choose the best, not the worst, alternative.
Reset accumulated register class before processing next alternative.
From-SVN: r106780
Paul Thomas [Fri, 11 Nov 2005 04:44:16 +0000 (04:44 +0000)]
re PR fortran/15976 (ICE: assertion failure in trans-array.c)
PR fortran/15976
* resolve.c (resolve_symbol): Disallow automatic arrays in module scope.
* gfortran.dg/automatic_module_variable.f90: New test.
Co-Authored-By: Steven G. Kargl <kargls@comcast.net>
From-SVN: r106777