Robert Dewar [Tue, 31 Oct 2006 17:51:20 +0000 (18:51 +0100)]
treepr.adb: Use new subtype N_Membership_Test
2006-10-31 Robert Dewar <dewar@adacore.com>
Ed Schonberg <schonberg@adacore.com>
* treepr.adb: Use new subtype N_Membership_Test
* checks.ads, checks.adb: Add definition for Validity_Check
(Range_Or_Validity_Checks_Suppressed): New function
(Ensure_Valid): Test Validity_Check suppressed
(Insert_Valid_Check): Test Validity_Check suppressed
(Insert_Valid_Check): Preserve Do_Range_Check flag
(Validity_Check_Range): New procedure
(Expr_Known_Valid): Result of membership test is always valid
(Selected_Range_Checks): Range checks cannot be applied to discriminants
by themselves. Disabling those checks must also be done for task types,
where discriminants may be used for the bounds of entry families.
(Apply_Address_Clause_Check): Remove side-effects if address expression
is non-static and is not the name of a declared constant.
(Null_Exclusion_Static_Checks): Extend to handle Function_Specification.
Code cleanup and new error messages.
(Enable_Range_Check): Test for some cases of suppressed checks
(Generate_Index_Checks): Suppress index checks if index checks are
suppressed for array object or array type.
(Apply_Selected_Length_Checks): Give warning for compile-time detected
length check failure, even if checks are off.
(Ensure_Valid): Do not generate a check on an indexed component whose
prefix is a packed boolean array.
* checks.adb: (Alignment_Checks_Suppressed): New function
(Apply_Address_Clause_Check): New procedure, this is a completely
rewritten replacement for Apply_Alignment_Check
(Get_E_Length/Get_E_First_Or_Last): Add missing barrier to ensure that
we request a discriminal value only in case of discriminants.
(Apply_Discriminant_Check): For Ada_05, only call Get_Actual_Subtype for
assignments where the target subtype is unconstrained and the target
object is a parameter or dereference (other aliased cases are known
to be unconstrained).
From-SVN: r118248
Jose Ruiz [Tue, 31 Oct 2006 17:51:01 +0000 (18:51 +0100)]
cal.c: Use the header sys/time.h for VxWorks 6.2 or greater when using RTPs.
2006-10-31 Jose Ruiz <ruiz@adacore.com>
* cal.c: Use the header sys/time.h for VxWorks 6.2 or greater when
using RTPs.
* mkdir.c: Use a different version of mkdir for VxWorks 6.2 or greater
when using RTPs.
From-SVN: r118247
Robert Dewar [Tue, 31 Oct 2006 17:50:47 +0000 (18:50 +0100)]
bindusg.ads, [...]: Change to package and rename procedure as Display...
2006-10-31 Robert Dewar <dewar@adacore.com>
* bindusg.ads, bindusg.adb:
Change to package and rename procedure as Display, which
now ensures that it only outputs usage information once.
From-SVN: r118246
Robert Dewar [Tue, 31 Oct 2006 17:50:31 +0000 (18:50 +0100)]
binde.adb (Better_Choice, [...]): Implement new preferences.
2006-10-31 Robert Dewar <dewar@adacore.com>
* binde.adb (Better_Choice, Worse_Choice): Implement new preferences.
From-SVN: r118245
Javier Miranda [Tue, 31 Oct 2006 17:50:11 +0000 (18:50 +0100)]
a-tags.ads, a-tags.adb:
2006-10-31 Javier Miranda <miranda@adacore.com>
* a-tags.ads, a-tags.adb:
(Predefined_DT): New function that improves readability of the code.
(Get_Predefined_Prim_Op_Address, Set_Predefined_Prim_Op_Address,
Inherit_DT): Use the new function Predefined_DT to improve code
readability.
(Register_Interface_Tag): Update assertion.
(Set_Interface_Table): Update assertion.
(Interface_Ancestor_Tags): New subprogram required to implement AI-405:
determining progenitor interfaces in Tags.
(Inherit_CPP_DT): New subprogram.
* exp_disp.adb (Expand_Interface_Thunk): Suppress checks during the
analysis of the thunk code.
(Expand_Interface_Conversion): Handle run-time conversion of
access to class wide types.
(Expand_Dispatching_Call): When generating the profile for the
subprogram itype for a dispatching operation, properly terminate the
formal parameters chaind list (set the Next_Entity of the last formal
to Empty).
(Collect_All_Interfaces): Removed. This routine has been moved to
sem_util and renamed as Collect_All_Abstract_Interfaces.
(Set_All_DT_Position): Hidden entities associated with abstract
interface primitives are not taken into account in the check for
3.9.3(10); this check is done with the aliased entity.
(Make_DT, Set_All_DT_Position): Enable full ABI compatibility for
interfacing with CPP by default.
(Expand_Interface_Conversion): Add missing support for static conversion
from an interface to a tagged type.
(Collect_All_Interfaces): Add new out formal containing the list of
abstract interface types to cleanup the subprogram Make_DT.
(Make_DT): Update the code to generate the table of interfaces in case
of abstract interface types.
(Is_Predefined_Dispatching_Alias): New function that returns true if
a primitive is not a predefined dispatching primitive but it is an
alias of a predefined dispatching primitive.
(Make_DT): If the ancestor of the type is a CPP_Class and we are
compiling under full ABI compatibility mode we avoid the generation of
calls to run-time services that fill the dispatch tables because under
this mode we currently inherit the dispatch tables in the IP subprogram.
(Write_DT): Emit an "is null" indication for a null procedure primitive.
(Expand_Interface_Conversion): Use an address as the type of the formal
of the internally built function that handles the case in which the
target type is an access type.
From-SVN: r118244
Robert Dewar [Tue, 31 Oct 2006 17:49:53 +0000 (18:49 +0100)]
a-dispat.ads, [...]: New files.
2006-10-31 Robert Dewar <dewar@adacore.com>
Jose Ruiz <ruiz@adacore.com>
* a-dispat.ads, a-diroro.ads, a-diroro.adb: New files.
* ali.adb (Get_Name): Properly handle scanning of wide character names
encoded with brackets notation.
(Known_ALI_Lines): Add S lines to this list.
(Scan_ALI): Acquire S (priority specific dispatching) lines.
New flag Elaborate_All_Desirable in unit table
* ali.ads (Priority_Specific_Dispatching): Add this range of
identifiers to be used for Priority_Specific_Dispatching table entries.
(ALIs_Record): Add First_Specific_Dispatching and
Last_Specific_Dispatching that point to the first and last entries
respectively in the priority specific dispatching table for this unit.
(Specific_Dispatching): Add this table for storing each S (priority
specific dispatching) line encountered in the input ALI file.
New flag Elaborate_All_Desirable in unit table
* bcheck.adb: (Check_Configuration_Consistency): Add call to
Check_Consistent_Dispatching_Policy.
(Check_Consistent_Dispatching_Policy): Add this procedure in charge of
verifying that the use of Priority_Specific_Dispatching,
Task_Dispatching_Policy, and Locking_Policy is consistent across the
partition.
* bindgen.adb: (Public_Version_Warning): function removed.
(Set_PSD_Pragma_Table): Add this procedure in charge of getting the
required information from ALI files in order to initialize the table
containing the specific dispatching policy.
(Gen_Adainit_Ada): Generate the variables required for priority specific
dispatching entries (__gl_priority_specific_dispatching and
__gl_num_specific_dispatching).
(Gen_Adainit_C): Generate the variables required for priority specific
dispatching entries (__gl_priority_specific_dispatching and
__gl_num_specific_dispatching).
(Gen_Output_File): Acquire settings for Priority_Specific_Dispatching
pragma entries.
(Gen_Restrictions_String_1, Gen_Restrictions_String_2): Removed.
(Gen_Restrictions_Ada, Gen_Restrictions_C, Set_Boolean): New procedures.
(Tab_To): Removed.
(Gen_Output_File_Ada/_C): Set directly __gl_xxx variables instead of
a call to gnat_set_globals.
Generate a string containing settings from
Priority_Specific_Dispatching pragma entries.
(Gen_Object_Files_Options): Do not include the runtime libraries when
pragma No_Run_Time is specified.
* init.c (__gnat_install_handler, case FreeBSD): Use SA_SIGINFO, for
consistency with s-intman-posix.adb.
(__gnat_error_handler, case FreeBSD): Account for the fact that the
handler is installed with SA_SIGINFO.
(__gnat_adjust_context_for_raise, FreeBSD case): New function for
FreeBSD ZCX support, copied from Linux version.
Add MaRTE-specific definitions for the linux target. Redefine sigaction,
sigfillset, and sigemptyset so the routines defined by MaRTE.
(__gl_priority_specific_dispatching): Add this variable that stores the
string containing priority specific dispatching policies in the
partition.
(__gl_num_specific_dispatching): Add this variable that indicates the
highest priority for which a priority specific dispatching pragma
applies.
(__gnat_get_specific_dispatching): Add this routine that returns the
priority specific dispatching policy, as set by a
Priority_Specific_Dispatching pragma appearing anywhere in the current
partition. The input argument is the priority number, and the result
is the upper case first character of the policy name.
(__gnat_set_globals): Now a dummy function.
(__gnat_handle_vms_condition): Feed adjust_context_for_raise with
mechargs instead of sigargs, as the latter can be retrieved from the
former and sigargs is not what we want on ia64.
(__gnat_adjust_context_for_raise, alpha-vms): Fetch sigargs from the
mechargs argument.
(__gnat_adjust_context_for_raise, ia64-vms): New function.
(tasking_error): Remove unused symbol.
(_abort_signal): Move this symbol to the IRIX specific part since this
is the only target that uses this definition.
(Check_Abort_Status): Move this symbol to the IRIX specific part since
this is the only target that uses this definition.
(Lock_Task): Remove unused symbol.
(Unlock_Task): Remove unused symbol.
* lib-writ.adb (Write_ALI): Output new S lines for
Priority_Specific_Dispatching pragmas.
Implement new flag BD for elaborate body desirable
* lib-writ.ads: Document S lines for Priority Specific Dispatching.
(Specific_Dispatching): Add this table for storing the entries
corresponding to Priority_Specific_Dispatching pragmas.
Document new BD flag for elaborate body desirable
* par-prag.adb (Prag): Add Priority_Specific_Dispatching to the list
of known pragmas.
From-SVN: r118243
Robert Dewar [Tue, 31 Oct 2006 17:49:05 +0000 (18:49 +0100)]
lib.adb, lib.ads: (In_Predefined_Unit): New functions
2006-10-31 Robert Dewar <dewar@adacore.com>
* lib.adb, lib.ads: (In_Predefined_Unit): New functions
* a-finali.ads, a-ngcoty.ads, a-strbou.ads, a-stream.ads, a-strmap.ads,
a-strunb.ads, a-stwibo.ads, a-stwima.ads, a-stwiun.ads, a-taside.ads,
a-coorse.ads, a-convec.ads, a-coinve.ads, a-cohama.ads, a-ciorse.ads,
a-cihama.ads, a-cihase.ads, a-cohase.ads, a-ciorma.ads, a-coorma.ads,
a-ciormu.ads, a-coormu.ads, a-stzbou.ads, a-stzmap.ads, a-stzunb.ads,
a-except-2005.ads: Add pragma Preelaborable_Warning
From-SVN: r118242
Bob Duff [Tue, 31 Oct 2006 17:48:46 +0000 (18:48 +0100)]
a-filico.adb (Finalize(List_Controller)): Mark the finalization list as finalization-started...
2006-10-31 Bob Duff <duff@adacore.com>
* a-filico.adb (Finalize(List_Controller)): Mark the finalization list
as finalization-started, so we can raise Program_Error on 'new'.
* s-finimp.adb: Raise Program_Error on 'new' if finalization of the
collection has already started.
* s-finimp.ads (Collection_Finalization_Started): Added new special
flag value for indicating that a collection's finalization has started.
* s-tassta.adb (Create_Task): Raise Program_Error on an attempt to
create a task whose master has already waited for dependent tasks.
From-SVN: r118241
Pascal Obry [Tue, 31 Oct 2006 17:47:20 +0000 (18:47 +0100)]
adaint.c (__gnat_get_libraries_from_registry): Call explicitly the ASCII version of the registry API.
2006-10-31 Pascal Obry <obry@adacore.com>
Eric Botcazou <ebotcazou@adacore.com>
Vincent Celier <celier@adacore.com>
* adaint.c (__gnat_get_libraries_from_registry): Call explicitly the
ASCII version of the registry API. This is needed as the GNAT runtime
is now UNICODE by default.
Include version.h.
(get_gcc_version): Do not hardcode the return value.
(__gnat_file_time_name): On Windows properly set the default returned
value to -1 which corresponds to Invalid_Time.
(__gnat_fopen): New routine. A simple wrapper on all plateforms
except on Windows where it does conversion for unicode support.
(__gnat_freopen): Idem.
(__gnat_locate_exec_on_path): If environment variable PATH does not
exist, return a NULL pointer
* adaint.h: (__gnat_fopen): Declare.
(__gnat_freopen): Likewise.
* mingw32.h (_tfreopen): Define this macro here for older MingW
version.
Activate the unicode support on platforms using a MingW runtime
version 3.9 or newer.
* s-crtl.ads (fopen): Is now an import to the wrapper __gnat_freopen.
This is needed for proper unicode support on Windows.
(freopen): Idem.
From-SVN: r118240
Jose Ruiz [Tue, 31 Oct 2006 17:47:01 +0000 (18:47 +0100)]
s-osinte-vxworks.ads, [...]:
2006-10-31 Jose Ruiz <ruiz@adacore.com>
* s-osinte-vxworks.ads, s-osinte-vxworks.adb:
(getpid): New body for this function that uses the underlying taskIdSelf
function for VxWorks 5 and VxWorks 6 in kernel mode.
(unsigned_int): New type, modular to allow logical bit operations.
(taskOptionsGet): New imported function.
* s-taspri-vxworks.ads (Private_Data): Change the type for the LWP
field to be compliant with the type used by the corresponding operating
system primitive.
From-SVN: r118239
Eric Botcazou [Tue, 31 Oct 2006 17:46:26 +0000 (18:46 +0100)]
s-taprop-solaris.adb: (Time_Slice_Val): Change type to Integer.
2006-10-31 Eric Botcazou <ebotcazou@adacore.com>
* s-taprop-solaris.adb: (Time_Slice_Val): Change type to Integer.
(Initialize): Add type conversions required by above change.
From-SVN: r118238
Vincent Celier [Tue, 31 Oct 2006 17:45:59 +0000 (18:45 +0100)]
mlib-tgt-lynxos.adb, [...]: Use Append_To, instead of Ext_To, when building the library file name
2006-10-31 Vincent Celier <celier@adacore.com>
Eric Botcazou <ebotcazou@adacore.com>
* mlib-tgt-lynxos.adb, mlib-tgt-mingw.adb, mlib-tgt-tru64.adb,
mlib-tgt-aix.adb, mlib-tgt-irix.adb, mlib-tgt-hpux.adb,
mlib-tgt-linux.adb, mlib-tgt-solaris.adb: Use Append_To, instead of
Ext_To, when building the library file name
* mlib-tgt-vxworks.adb: ditto.
(Get_Target_Suffix): Add support for x86 targets.
* mlib-fil.ads, mlib-fil.adb: (Append_To): New function
* mlib-tgt-darwin.adb:
Use Append_To, instead of Ext_To, when building the library file name
(Flat_Namespace): New global variable.
(No_Shared_Libgcc_Switch): Rename to No_Shared_Libgcc_Options.
(Shared_Libgcc_Switch): Rename to With_Shared_Libgcc_Options.
(Link_Shared_Libgcc): Delete.
(Build_Dynamic_Library): Adjust for above changes.
Use Opt package.
(Build_Dynamic_Library): Pass -shared-libgcc if GCC 4 or later.
From-SVN: r118237
Robert Dewar [Tue, 31 Oct 2006 17:45:31 +0000 (18:45 +0100)]
system-vms_64.ads, [...]: Add pragma Warnings(Off...
2006-10-31 Robert Dewar <dewar@adacore.com>
* system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
system-linux-hppa.ads, system-hpux-ia64.ads,
system-lynxos-ppc.ads, system-lynxos-x86.ads, system-tru64.ads,
system-vxworks-sparcv9.ads, system-solaris-x86.ads,
system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
system-vxworks-m68k.ads, system-vxworks-mips.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.ads: Add pragma Warnings(Off,
Default_Bit_Order) to kill constant condition warnings for references
to this switch.
From-SVN: r118236
Arnaud Charlet [Tue, 31 Oct 2006 17:45:11 +0000 (18:45 +0100)]
s-osinte-posix.adb, [...] (To_Target_Priority): New function maps from System.Any_Priority to a POSIX priority on the target.
2006-10-31 Arnaud Charlet <charlet@adacore.com>
Jose Ruiz <ruiz@adacore.com>
* s-osinte-posix.adb, s-osinte-linux.ads, s-osinte-freebsd.adb,
s-osinte-freebsd.ads, s-osinte-solaris-posix.ads, s-osinte-hpux.ads,
s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-lynxos-3.ads,
s-osinte-lynxos-3.adb (To_Target_Priority): New function maps from
System.Any_Priority to a POSIX priority on the target.
* system-linux-ia64.ads:
Extend range of Priority types on Linux to use the whole range made
available by the system.
* s-osinte-aix.adb, s-osinte-aix.ads (To_Target_Priority): New
function maps from System.Any_Priority to a POSIX priority on the
target.
(PTHREAD_PRIO_PROTECT): Set real value.
(PTHREAD_PRIO_INHERIT): Now a function.
(SIGCPUFAIL): New signal.
(Reserved): Add SIGALRM1, SIGWAITING, SIGCPUFAIL, since these signals
are documented as reserved by the OS.
* system-aix.ads: Use the full range of priorities provided by the
system on AIX.
* s-taprop-posix.adb: Call new function To_Target_Priority.
(Set_Priority): Take into account Task_Dispatching_Policy and
Priority_Specific_Dispatching pragmas when determining if Round Robin
must be used for scheduling the task.
* system-linux-x86_64.ads, system-linux-x86.ads,
system-linux-ppc.ads: Extend range of Priority types on Linux to use
the whole range made available by the system.
* s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-irix.adb,
s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-hpux-dce.adb,
s-taprop-lynxos.adb (Finalize_TCB): invalidate the stack-check cache
when deallocating the TCB in order to avoid potential references to
deallocated data.
(Set_Priority): Take into account Task_Dispatching_Policy and
Priority_Specific_Dispatching pragmas when determining if Round Robin
or FIFO within priorities must be used for scheduling the task.
* s-taprop-vxworks.adb (Enter_Task): Store the user-level task id in
the Thread field (to be used internally by the run-time system) and the
kernel-level task id in the LWP field (to be used by the debugger).
(Create_Task): Reorganize to unify the calls to taskSpawn into a single
instance, and propagate the current task options to the spawned task.
(Set_Priority): Take into account Priority_Specific_Dispatching pragmas.
(Initialize): Set Round Robin dispatching when the corresponding pragma
is in effect.
From-SVN: r118235
Hristian Kirtchev [Tue, 31 Oct 2006 17:44:55 +0000 (18:44 +0100)]
a-calend-vms.adb (Leap_Sec_Ops): Temp body for package in private part of Ada.Calendar...
2006-10-31 Hristian Kirtchev <kirtchev@adacore.com>
Jose Ruiz <ruiz@adacore.com>
* a-calend-vms.adb (Leap_Sec_Ops): Temp body for package in private
part of Ada.Calendar: all subprogram raise Unimplemented.
(Split_W_Offset): Temp function body, raising Unimplemented
* a-calend.ads, a-calend-vms.ads:
Add imported variable Invalid_TZ_Offset used to designate targets unable
to support time zones.
(Unimplemented): Temporary function raised by the body of new
subprograms below.
(Leap_Sec_Ops): New package in the private part of Ada.Calendar. This
unit provides handling of leap seconds and is used by the new Ada 2005
packages Ada.Calendar.Arithmetic and Ada.Calendar.Formatting.
(Split_W_Offset): Identical spec to that of Ada.Calendar.Split. This
version returns an extra value which is the offset to UTC.
* a-calend.adb (Split_W_Offset): Add call to localtime_tzoff.
(Leap_Sec_Ops): New body for package in private part of Ada.Calendar.
(Split_W_Offset): New function body.
(Time_Of): When a date is close to UNIX epoch, compute the time for
that date plus one day (that amount is later substracted after
executing mktime) so there are no problems with time zone adjustments.
* a-calend-mingw.adb: Remove Windows specific version no longer needed.
* a-calari.ads, a-calari.adb, a-calfor.ads, a-calfor.adb,
a-catizo.ads, a-catizo.adb: New files.
* impunit.adb: Add new Ada 2005 entries
* sysdep.c: Add external variable __gnat_invalid_tz_offset.
Rename all occurences of "__gnat_localtime_r" to
"__gnat_localtime_tzoff".
(__gnat_localtime_tzoff for Windows): Add logic to retrieve the time
zone data and calculate the GMT offset.
(__gnat_localtime_tzoff for Darwin, Free BSD, Linux, Lynx and Tru64):
Use the field "tm_gmtoff" to extract the GMT offset.
(__gnat_localtime_tzoff for AIX, HPUX, SGI Irix and Sun Solaris): Use
the external variable "timezone" to calculate the GMT offset.
From-SVN: r118234
Thomas Quinot [Tue, 31 Oct 2006 17:44:38 +0000 (18:44 +0100)]
g-socthi-vxworks.adb (C_Gethostbyname): Fix wrong test for returned error status.
2006-10-31 Thomas Quinot <quinot@adacore.com>
* g-socthi-vxworks.adb (C_Gethostbyname): Fix wrong test for returned
error status.
From-SVN: r118233
Robert Dewar [Tue, 31 Oct 2006 17:44:22 +0000 (18:44 +0100)]
sem_res.adb (Resolve_Unary_Op): Add warning for use of unary minus with multiplying operator.
2006-10-31 Robert Dewar <dewar@adacore.com>
Bob Duff <duff@adacore.com>
Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Unary_Op): Add warning for use of unary minus
with multiplying operator.
(Expected_Type_Is_Any_Real): New function to determine from the Parent
pointer whether the context expects "any real type".
(Resolve_Arithmetic_Op): Do not give an error on calls to the
universal_fixed "*" and "/" operators when they are used in a context
that expects any real type. Also set the type of the node to
Universal_Real in this case, because downstream processing requires it
(mainly static expression evaluation).
Reword some continuation messages
Add some \\ sequences to continuation messages
(Resolve_Call): Refine infinite recursion case. The test has been
sharpened to eliminate some false positives.
Check for Current_Task usage now includes entry barrier, and is now a
warning, not an error.
(Resolve): If the call is ambiguous, indicate whether an interpretation
is an inherited operation.
(Check_Aggr): When resolving aggregates, skip associations with a box,
which are priori correct, and will be replaced by an actual default
expression in the course of expansion.
(Resolve_Type_Conversion): Add missing support for conversion from
a class-wide interface to a tagged type. Minor code cleanup.
(Valid_Tagged_Converion): Add support for abstact interface type
conversions.
(Resolve_Selected_Component): Call Generate_Reference here rather than
during analysis, and use May_Be_Lvalue to distinguish read/write.
(Valid_Array_Conversion): New procedure, abstracted from
Valid_Conversion, to incorporate accessibility checks for arrays of
anonymous access types.
(Valid_Conversion): For a conversion to a numeric type occurring in an
instance or inlined body, no need to check that the operand type is
numeric, since this has been checked during analysis of the template.
Remove legacy test for scope name Unchecked_Conversion.
* sem_res.ads: Minor reformatting
* a-except.adb, a-except-2005.adb: Turn off subprogram ordering
(PE_Current_Task_In_Entry_Body): New exception code
(SE_Restriction_Violation): Removed, not used
* a-except.ads: Update comments.
* types.h, types.ads: Add definition for Validity_Check
(PE_Current_Task_In_Entry_Body): New exception code
(SE_Restriction_Violation): Removed, not used
From-SVN: r118232
Robert Dewar [Tue, 31 Oct 2006 17:43:17 +0000 (18:43 +0100)]
a-taster.adb, [...]: Minor reformatting.
2006-10-31 Robert Dewar <dewar@adacore.com>
* a-taster.adb, s-traent-vms.adb, a-elchha.ads, a-elchha.adb,
a-exctra.adb, ali-util.adb, exp_disp.ads, s-stalib.ads, s-traent.adb,
s-addope.ads, s-addope.adb, a-rbtgso.adb, a-crbltr.ads, a-coprnu.adb,
a-cgcaso.adb, a-cgarso.adb, a-cgaaso.adb, a-coormu.adb, a-ciormu.adb,
a-rbtgso.ads, a-stunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb,
a-secain.adb, a-slcain.adb, a-shcain.adb, a-stwiha.adb, a-stwiha.adb,
a-strhas.adb, a-strhas.adb, a-stzhas.adb, a-stzhas.adb, a-szuzha.adb,
a-chacon.adb, a-chacon.adb, a-chacon.ads, a-stboha.adb, a-swbwha.adb,
a-szbzha.adb: Minor reformatting. Fix header.
* a-numaux-x86.adb: Add parentheses for use of unary minus
* a-ngcefu.adb: Supply missing parentheses for unary minus
* a-ngcoty.adb: Add parens for use of unary minus
* a-ngelfu.adb: Add missing parens for unary minus
* a-tifiio.adb: Add parentheses for uses of unary minus
From-SVN: r118231
Stephen M. Webb [Tue, 31 Oct 2006 17:04:32 +0000 (17:04 +0000)]
MAINTAINERS (Write After Approval): Add myself.
From-SVN: r118230
Richard Guenther [Tue, 31 Oct 2006 09:08:11 +0000 (09:08 +0000)]
i386.md (asindf2, [...]): Conditionalize expansion on !optimize_size.
2006-10-31 Richard Guenther <rguenther@suse.de>
* config/i386/i386.md (asindf2, asinsf2, asinxf2, acosdf2,
acossf2, acosxf2, log1psf2, log1pdf2, log1pxf2, ilogbsi2,
expsf2, expdf2, expxf2, exp10sf2, exp10df2, exp10xf2,
exp2sf2, exp2df2, exp2xf2, expm1df2, expm1sf2, expm1xf2,
ldexpdf3, ldexpsf3, ldexpxf3, rintxf2, rintdf2, rintsf2,
lround<mode>di2, lround<mode>si2, floorxf2, floordf2, floorsf2,
lfloor<mode>di2, lfloor<mode>si2, ceilxf2, ceildf2, ceilsf2,
btruncxf2, btruncdf2, btruncsf2): Conditionalize expansion on
!optimize_size.
From-SVN: r118221
Paul Thomas [Tue, 31 Oct 2006 06:03:24 +0000 (06:03 +0000)]
re PR fortran/29387 (ICE on character array function of variable length)
2006-10-31 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29387
* trans-intrinsic.c (gfc_conv_intrinsic_len): Rearrange to have
a specific case for EXPR_VARIABLE and, in default, build an ss
to call gfc_conv_expr_descriptor for array expressions..
PR fortran/29490
* trans-expr.c (gfc_set_interface_mapping_bounds): In the case
that GFC_TYPE_ARRAY_LBOUND is not available, use descriptor
values for it and GFC_TYPE_ARRAY_UBOUND.
PR fortran/29641
* trans-types.c (gfc_get_derived_type): If the derived type
namespace has neither a parent nor a proc_name, set NULL for
the search namespace.
2006-10-31 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29387
* gfortran.dg/intrinsic_actual_2.f90: New test.
PR fortran/29490
* gfortran.dg/actual_array_interface_1.f90: New test.
PR fortran/29641
* gfortran.dg/used_types_11.f90: New test.
From-SVN: r118220
Steven Bosscher [Tue, 31 Oct 2006 05:31:53 +0000 (05:31 +0000)]
* opts.c (decode_options): Disable CSE skip blocks.
From-SVN: r118219
GCC Administrator [Tue, 31 Oct 2006 00:17:51 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r118215
Dirk Mueller [Mon, 30 Oct 2006 23:56:15 +0000 (23:56 +0000)]
* decl.c (grokdeclarator): Fix line-wrapping.
From-SVN: r118210
Dirk Mueller [Mon, 30 Oct 2006 23:41:07 +0000 (23:41 +0000)]
fix typo
From-SVN: r118209
Dirk Mueller [Mon, 30 Oct 2006 23:32:29 +0000 (23:32 +0000)]
re PR c++/28704 (%s substituted with "static member"/"free" can't be properly translated)
2006-10-30 Dirk Mueller <dmueller@suse.de>
PR c++/28704
* decl.c (grokdeclarator): Duplicate diagnostic message
for easier translation.
From-SVN: r118208
Paolo Carlini [Mon, 30 Oct 2006 23:23:44 +0000 (23:23 +0000)]
utility (tuple_size<std::pair<> >::value): Provide definition.
2006-10-30 Paolo Carlini <pcarlini@suse.de>
* include/tr1/utility (tuple_size<std::pair<> >::value): Provide
definition.
From-SVN: r118207
Dirk Mueller [Mon, 30 Oct 2006 23:15:42 +0000 (23:15 +0000)]
re PR c++/6321 (no warning for bad main function declaration)
2006-10-30 Dirk Mueller <dmueller@suse.de>
PR c++/6321
* cp/decl.c (grokfndecl): Use check_main_parameter_types.
* c-common.h (strict_aliasing_warning): Fix whitespace.
* c-decl (start_function): Move code for main decl warning ..
* c-common.c (check_main_parameter_types): .. here.
* c-common.h (check_main_parameter_types): Declare.
From-SVN: r118206
Dirk Mueller [Mon, 30 Oct 2006 23:08:59 +0000 (23:08 +0000)]
re PR c++/28669 (%s substituted with static/non- can't be properly translated)
2006-10-30 Dirk Mueller <dmueller@suse.de>
PR c++/28669
* decl.c (grokfndecl): Duplicate warning message for
easier translation.
From-SVN: r118205
Dirk Mueller [Mon, 30 Oct 2006 22:25:07 +0000 (22:25 +0000)]
eichin01a.C (main): Fix prototype.
2006-10-30 Dirk Mueller <dmueller@suse.de>
* g++.old-deja/g++.pt/eichin01a.C (main): Fix prototype.
* g++.old-deja/g++.pt/eichin01b.C (main): Same.
* g++.old-deja/g++.pt/eichin01.C (main): Same.
* g++.old-deja/g++.mike/net25.C (main): Same.
* g++.dg/lookup/exception1.C (main): Same.
* g++.dg/parse/parens2.C (main): Same.
From-SVN: r118204
Paolo Carlini [Mon, 30 Oct 2006 22:22:38 +0000 (22:22 +0000)]
tuple_iterate.h (tuple_size<tuple<> >::value): Provide definition.
2006-10-30 Paolo Carlini <pcarlini@suse.de>
* include/tr1/tuple_iterate.h (tuple_size<tuple<> >::value): Provide
definition.
* include/tr1/functional (is_bind_expression<>::value,
is_placeholder<>::value, + various partial specializations): Likewise.
* include/tr1/array (tuple_size<array<> >::value): Likewise.
From-SVN: r118203
Roger Sayle [Mon, 30 Oct 2006 21:31:19 +0000 (21:31 +0000)]
pr27827.c: Explicitly specify -mfpmath=387.
* gcc.target/i386/pr27827.c: Explicitly specify -mfpmath=387.
From-SVN: r118201
Kaveh R. Ghazi [Mon, 30 Oct 2006 20:21:59 +0000 (20:21 +0000)]
re PR middle-end/29335 (transcendental functions with constant arguments should be resolved at compile-time)
PR middle-end/29335
* builtins.c (fold_builtin_1): Evaluate tgamma using MPFR.
testsuite:
* gcc.dg/torture/builtin-math-2.c: Add tgamma tests.
* gcc.dg/torture/builtin-math-3.c: Likewise.
From-SVN: r118200
Pete Steinmetz [Mon, 30 Oct 2006 19:43:55 +0000 (19:43 +0000)]
recog.c (store_data_bypass_p): Add support to allow IN_INSN to be a PARALLEL containing sets.
* recog.c (store_data_bypass_p): Add support to allow IN_INSN to
be a PARALLEL containing sets. Return false when out_pat is not
a PARALLEL insn.
From-SVN: r118199
Uros Bizjak [Mon, 30 Oct 2006 19:41:10 +0000 (20:41 +0100)]
MAINTAINERS: Change email address.
* MAINTAINERS: Change email address.
From-SVN: r118198
Paolo Carlini [Mon, 30 Oct 2006 18:59:00 +0000 (18:59 +0000)]
max_size.cc: Actually do test max_size().
2006-10-30 Paolo Carlini <pcarlini@suse.de>
* testsuite/tr1/6_containers/array/capacity/max_size.cc: Actually
do test max_size().
From-SVN: r118194
Vladimir Prus [Mon, 30 Oct 2006 18:47:33 +0000 (18:47 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2006-10-30 Vladimir Prus <vladimir@codesourcery.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r118193
Tobias Burnus [Mon, 30 Oct 2006 18:22:47 +0000 (19:22 +0100)]
re PR fortran/29452 (Keyword check for specifiers in WRITE and READ)
fortran/
2006-10-30 Tobias Burnus <burnus@net-b.de>
PR fortran/29452
* io.c (check_io_constraints): Fix keyword string comparison.
libgfortran/
2006-10-30 Tobias Burnus <burnus@net-b.de>
PR fortran/29452
* runtime/string.c (compare0): Check whether string lengths match.
testsuite/
2006-10-30 Tobias Burnus <burnus@net-b.de>
PR fortran/29452
* gfortran.dg/write_check.f90: Check run-time keyword checking.
* gfortran.dg/write_check2.f90: Check compile-time keyword checking
From-SVN: r118191
Richard Sandiford [Mon, 30 Oct 2006 18:18:03 +0000 (18:18 +0000)]
mips.md (mul<mode>3): Split into...
gcc/
* config/mips/mips.md (mul<mode>3): Split into...
(mulsi3, muldi3): ...these separate patterns.
From-SVN: r118190
Richard Sandiford [Mon, 30 Oct 2006 18:05:54 +0000 (18:05 +0000)]
linux64.h (DRIVER_SELF_SPECS): Use a single spec, but with each set of options separated by spaces.
gcc/
* config/mips/linux64.h (DRIVER_SELF_SPECS): Use a single spec,
but with each set of options separated by spaces.
From-SVN: r118189
J"orn Rennecke [Mon, 30 Oct 2006 17:55:33 +0000 (17:55 +0000)]
unwind-dw2.c (uw_init_context_1): Fix test that checks if dwarf_reg_size_table has been initialized.
* unwind-dw2.c (uw_init_context_1): Fix test that checks if
dwarf_reg_size_table has been initialized.
From-SVN: r118188
Roger Sayle [Mon, 30 Oct 2006 17:51:46 +0000 (17:51 +0000)]
builtins.c (expand_builtin_mathfn_3): Correct coding style.
* builtins.c (expand_builtin_mathfn_3): Correct coding style.
* ddg.c (print_ddg_edge): Likewise.
* dwarf2out.c (prune_unused_types_walk): Likewise.
* ifcvt.c (noce_try_cmove_arith): Likewise.
* langhooks.c (add_builtin_function): Likewise.
* reg-stack.c (subst_stack_regs_pat): Likewise.
* tree.c (expanded_location): Likewise.
* tree-dump.c (dequeue_and_dump): Likewise.
From-SVN: r118187
Andrew Pinski [Mon, 30 Oct 2006 16:15:09 +0000 (08:15 -0800)]
re PR fortran/29410 ([4.2 only] bug with TRANSFER() and -O2)
2006-10-30 Andrew Pinski <pinskia@gmail.com>
PR fortran/29410
* trans-intrinsic.c (gfc_conv_intrinsic_array_transfer):
Change over to create VIEW_CONVERT_EXPR instead of using an
ADDR_EXPR, a cast and then an indirect reference
2006-10-30 Andrew Pinski <pinskia@gmail.com>
PR Fortran/29410
* gfortran.fortran-torture/execute/transfer1.f90: New test.
From-SVN: r118186
Dirk Mueller [Mon, 30 Oct 2006 14:44:45 +0000 (14:44 +0000)]
typeck.c (build_unary_op): Fix indenting.
2006-10-30 Dirk Mueller <dmueller@suse.de>
* typeck.c (build_unary_op): Fix indenting. Use G_().
From-SVN: r118185
Joseph Myers [Mon, 30 Oct 2006 14:03:05 +0000 (14:03 +0000)]
default.exp (${tool}_target_compile): Use v3_target_compile.
libstdc++-v3:
* testsuite/config/default.exp (${tool}_target_compile): Use
v3_target_compile.
gcc/testsuite:
* lib/target-supports.exp (check_function_available): Declare
function before calling.
From-SVN: r118182
David Daney [Mon, 30 Oct 2006 08:25:25 +0000 (08:25 +0000)]
* config/mips/linux.h (NO_SHARED_SPECS): Correct syntax error.
From-SVN: r118179
Jakub Jelinek [Mon, 30 Oct 2006 08:01:28 +0000 (09:01 +0100)]
re PR tree-optimization/29637 (Endless recursion in make_vector_type)
PR tree-optimization/29637
* tree.c (make_vector_type): Don't recurse if TYPE_MAIN_VARIANT
of the innertype is the innertype itself.
* gcc.dg/pr29637.c: New test.
From-SVN: r118175
Mike Stump [Mon, 30 Oct 2006 05:56:18 +0000 (05:56 +0000)]
Fix whitespacing.
From-SVN: r118173
Danny Smith [Mon, 30 Oct 2006 03:18:57 +0000 (03:18 +0000)]
dwarf2out.c (file_name_acquire): Correct typo.
* dwarf2out.c (file_name_acquire): Correct typo.
Formatting tweak to earlier ChangeLog entry.
From-SVN: r118171
Roger Sayle [Mon, 30 Oct 2006 02:46:11 +0000 (02:46 +0000)]
fold-compare-1.c: Update to reflect recent changes in tree canonicalization.
* gcc.dg/fold-compare-1.c: Update to reflect recent changes in
tree canonicalization.
From-SVN: r118170
Daniel Berlin [Mon, 30 Oct 2006 01:58:42 +0000 (01:58 +0000)]
tree.h (tree_value_handle): Remove struct value_set declaration.
2006-10-29 Daniel Berlin <dberlin@dberlin.org>
* tree.h (tree_value_handle): Remove struct value_set declaration.
Change value_set to bitmap_set.
* tree-pretty-print.c (dump_generic_node): Use has_stmt_ann.
* tree-vn.c (get_value_handle): Made inline and moved to
tree-flow-inline.h.
* tree-flow-inline.h: (has_stmt_ann): New function.
* tree-ssa-pre.c (expressions): New variable.
(next_expression_id): Ditto.
(alloc_expression_id): New function.
(struct value_set): Remove.
(get_expression_id): New function.
(get_or_alloc_expression_id): Ditto.
(expression_for_id): Ditto.
(clear_expression_ids): Ditto.
(FOR_EACH_EXPR_ID_IN_SET): New macro.
(bb_value_sets): Renamed to bb_bitmap_sets.
All value sets replaced with bitmap_sets.
Add visited member.
(BB_VISITED): New macro.
(postorder): New variable.
(add_to_value): Removed.
(value_exists_in_set_bitmap): Ditto.
(value_insert_into_set_bitmap): Ditto.
(set_new): Ditto.
(set_copy): Ditto.
(set_remove): Ditto.
(set_contains_value): Ditto.
(insert_into_set): Ditto.
(set_equal): Ditto.
(find_leader): Ditto.
(bitmap_set_subtract_from_value_set): Ditto.
(value_insert_into_set): Ditto.
(print_value_set): Ditto.
(debug_value_set): Ditto.
(constant_expr_p): New function.
(bitmap_remove_from_set): Ditto.
(bitmap_insert_into_set): Ditto.
(bitmap_set_free): Ditto.
(vh_compare): Ditto.
(sorted_array_from_bitmap_set): Ditto.
(bitmap_set_subtract): Ditto.
(bitmap_set_equal): Ditto.
(debug_bitmap_set): Ditto.
(find_leader_in_sets): Ditto.
(bitmap_set_replace_value): Modify for bitmapped sets.
(phi_translate): Ditto.
(phi_translate_set): Ditto.
(bitmap_find_leader): Ditto.
(valid_in_sets): Ditto.
(union_contains_value): Ditto.
(clean): Ditto.
(compute_antic_aux): Ditto. Mark changed blocks.
(compute_antic): Ditto. Iterate in postorder and only over
changing blocks.
(compute_rvuse_and_antic_safe): Reuse postorder.
(create_component_ref_by_pieces): Modify for bitmapped sets.
(find_or_generate_expression): Ditto.
(create_expression_by_pieces): Ditto.
(insert_into_preds_of_block): Ditto.
(changed_blocks): New variable.
(do_regular_insertion): Broken out from insert_aux.
(insert_aux): Modified for bitmapped sets.
(find_existing_value_expr): New function.
(create_value_expr_from): Use it.
(insert_extra_phis): Removed.
(print_bitmap_set): Renamed from bitmap_print_value_set.
(compute_avail): Handle RETURN_EXPR.
(init_pre): Modify for bitmapped sets.
* tree-flow.h (has_stmt_ann): New function.
From-SVN: r118169
Roger Sayle [Mon, 30 Oct 2006 01:14:37 +0000 (01:14 +0000)]
builtins.c (fold_builtin_floor): Check for the availability of the C99 trunc function before transforming floor...
* builtins.c (fold_builtin_floor): Check for the availability of
the C99 trunc function before transforming floor into trunc.
From-SVN: r118168
GCC Administrator [Mon, 30 Oct 2006 00:17:44 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r118165
Kaveh R. Ghazi [Sun, 29 Oct 2006 23:08:23 +0000 (23:08 +0000)]
builtins.c (fold_builtin_hypot): Rearrange recursive transformation before others, and also do ABS_EXPR.
* builtins.c (fold_builtin_hypot): Rearrange recursive
transformation before others, and also do ABS_EXPR. When
necessary, check flag_unsafe_math_optimizations. When necessary,
add fabs.
testsuite:
* gcc.dg/builtins-20.c: Add more hypot tests.
From-SVN: r118160
Paolo Carlini [Sun, 29 Oct 2006 21:50:23 +0000 (21:50 +0000)]
debug.cc (_Safe_sequence_base::_M_revalidate_singular): Fix pasto, advance __iter only once per iteration.
2006-10-29 Paolo Carlini <pcarlini@suse.de>
* src/debug.cc (_Safe_sequence_base::_M_revalidate_singular): Fix
pasto, advance __iter only once per iteration.
From-SVN: r118159
Roger Sayle [Sun, 29 Oct 2006 21:41:48 +0000 (21:41 +0000)]
fold-const.c (fold_comparison): Fold ~X op ~Y as Y op X.
* fold-const.c (fold_comparison): Fold ~X op ~Y as Y op X.
Fold ~X op C as X op' ~C, where op' is the swapped comparison.
(fold_binary): ~X eq/ne C is now handled in fold_comparison.
Fold -X eq/ne -Y as X eq/ne Y.
* gcc.dg/fold-compare-1.c: New test case.
From-SVN: r118158
Dirk Mueller [Sun, 29 Oct 2006 19:52:52 +0000 (19:52 +0000)]
re PR c++/29089 (Words substituted for %s in a sentence can not be translated)
PR c++/29089
* typeck.c (build_unary_op): Duplicate warning message
for easier translation.
From-SVN: r118156
Dirk Mueller [Sun, 29 Oct 2006 18:46:49 +0000 (18:46 +0000)]
fix testcase
From-SVN: r118155
Dirk Mueller [Sun, 29 Oct 2006 18:38:26 +0000 (18:38 +0000)]
re PR c++/16307 (-Wchar-subscripts does not warn on pointers)
2006-10-29 Dirk Mueller <dmueller@suse.de>
PR c++/16307
* typeck.c (build_array_ref): Warn for char subscriptions
on pointers.
* g++.dg/warn/Wchar-subscripts-2.C: New testcase.
From-SVN: r118154
Richard Sandiford [Sun, 29 Oct 2006 18:20:45 +0000 (18:20 +0000)]
mips.md (mul<mode>3): Check ISA_HAS_MUL3 rather than GENERATE_MULT3_<MODE>.
gcc/
* config/mips/mips.md (mul<mode>3): Check ISA_HAS_MUL3 rather than
GENERATE_MULT3_<MODE>. Restrict the test to SImode. Use ISA_HAS_MUL3
rather than GENERATE_MULT3_SI in the various define_peephole2s.
(mulsi3_mult3): Depend on ISA_HAS_MUL3 rather than GENERATE_MULT3_SI.
Use an inclusive test for "mult" rather than "mul".
(rotr<mode>3): Depend on ISA_HAS_ROR.
* config/mips/mips.h (GENERATE_MULT3_SI): Delete in favor of
ISA_HAS_MUL3.
(GENERATE_MULT3_DI): Delete.
(ISA_HAS_64BIT_REGS): Use consistent formatting.
(ISA_HAS_MUL3): New macro.
(ISA_HAS_CONDMOVE, ISA_HAS_8CC): Use consistent formatting.
(ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB): Likewise.
(ISA_HAS_CLZ_CLO): Likewise.
(ISA_HAS_DCLZ_DCLO): Delete.
(ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC): Require !TARGET_MIPS16.
(ISA_HAS_MACC): Require !TARGET_MIPS16 for all ISAs, not just
the VR4120 and VR4130.
(ISA_HAS_MACCHI): Use consistent formatting.
(ISA_HAS_ROTR_SI, ISA_HAS_ROTR_DI): Delete in favor of...
(ISA_HAS_ROR): ...this new macro.
(ISA_HAS_PREFETCH, ISA_HAS_PREFETCHX): Use consistent formatting.
(ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS): Likewise.
(ISA_HAS_LOAD_DELAY): Use ISA_MIPS1.
From-SVN: r118153
Roger Sayle [Sun, 29 Oct 2006 17:51:07 +0000 (17:51 +0000)]
re PR tree-optimization/15458 (Combine ~ and ^.)
PR tree-optimization/15458
* fold-const.c (fold_binary): Optimize ~X ^ C as X ^ ~C, where C
is a constant.
* gcc.dg/fold-xornot-1.c: New test case.
From-SVN: r118152
Francois-Xavier Coudert [Sun, 29 Oct 2006 17:05:37 +0000 (18:05 +0100)]
trans-intrinsic.c (gfc_conv_intrinsic_loc): Make LOC return a signed integer node.
* trans-intrinsic.c (gfc_conv_intrinsic_loc): Make LOC return a
signed integer node.
From-SVN: r118151
Jerry DeLisle [Sun, 29 Oct 2006 16:43:48 +0000 (16:43 +0000)]
re PR fortran/17741 (ICE in gfc_free_namespace, at fortran/symbol.c:2208)
2006-10-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/17741
* decl.c (get_proc_name): Bump current namespace refs count.
From-SVN: r118149
Richard Guenther [Sun, 29 Oct 2006 16:43:21 +0000 (16:43 +0000)]
i386-protos.h (ix86_expand_trunc): Declare.
2006-10-29 Richard Guenther <rguenther@suse.de>
* config/i386/i386-protos.h (ix86_expand_trunc): Declare.
(ix86_expand_truncdf_32): Likewise.
* config/i386/i386.c (ix86_expand_trunc): New function expanding
trunc inline for SSE math and -fno-trapping-math and if not
optimizing for size.
(ix86_expand_truncdf_32): Same for DFmode on 32bit archs.
* config/i386/i386.md (btruncsf2, btruncdf2): Adjust expanders
for expanding btrunc inline for SSE math.
* gcc.target/i386/math-torture/trunc.c: New testcase.
From-SVN: r118148
Joseph Myers [Sun, 29 Oct 2006 16:35:50 +0000 (16:35 +0000)]
config.gcc (i[34567]86-*-linux*): Handle --enable-targets=all.
gcc:
* config.gcc (i[34567]86-*-linux*): Handle --enable-targets=all.
Handle tuning for bi-arch i[34567]86-*-linux* like that for
i[34567]86-*-solaris2.1[0-9]*.
* config/i386/linux64.h (TARGET_VERSION, MULTILIB_DEFAULTS):
Define conditionally depending on TARGET_64BIT_DEFAULT.
(SPEC_32, SPEC_64): Define.
(LINK_SPEC): Use them.
* doc/install.texi (--enable-targets=all): Document for x86-linux.
libcpp:
* configure.ac (need_64bit_hwint): Set for i[34567]86-*-linux*
depending on --enable-targets=all.
* configure: Regenerate.
fixincludes:
* inclhack.def (AAB_fd_zero_asm_posix_types_h): Bypass on x86_64.
* fixincl.x: Regenerate.
From-SVN: r118147
Richard Guenther [Sun, 29 Oct 2006 16:33:36 +0000 (16:33 +0000)]
i386-protos.h (ix86_expand_round): Declare.
2006-10-29 Richard Guenther <rguenther@suse.de>
* config/i386/i386-protos.h (ix86_expand_round): Declare.
(ix86_expand_rounddf_32): Likewise.
* config/i386/i386.c (ix86_expand_round): New function expanding
round inline for SSE math and -fno-trapping-math and if not
optimizing for size.
(ix86_expand_rounddf_32): Same for DFmode on 32bit archs.
* config/i386/i386.md (rounddf2, roundsf2): New pattern expanding
round via ix86_expand_round.
* gcc.target/i386/math-torture/round.c: New testcase.
From-SVN: r118146
Richard Guenther [Sun, 29 Oct 2006 16:28:40 +0000 (16:28 +0000)]
i386-protos.h (ix86_expand_floorceil): Declare.
2006-10-29 Richard Guenther <rguenther@suse.de>
* config/i386/i386-protos.h (ix86_expand_floorceil): Declare.
(ix86_expand_floorceildf_32): Likewise.
* config/i386/i386.c (ix86_expand_sse_compare_mask): New
static helper function.
(ix86_expand_floorceil): Expander for floor and ceil to SSE
math.
(ix86_expand_floorceildf_32): Same for DFmode on 32bit archs.
* config/i386/i386.md (floordf2): Adjust to enable floor
expansion via ix86_expand_floorceil if TARGET_SSE_MATH and
-fno-trapping-math is enabled and if not optimizing for size.
(floorsf2, ceildf2, ceilsf2): Likewise.
* config/i386/sse.md (sse_maskcmpsf3): New insn.
(sse2_maskcmpdf3): Likewise.
* gcc.target/i386/math-torture/ceil.c: New testcase.
* gcc.target/i386/math-torture/floor.c: Likewise.
From-SVN: r118145
Richard Guenther [Sun, 29 Oct 2006 15:25:52 +0000 (15:25 +0000)]
builtins.c (expand_builtin_mathfn): Expand nearbyint as rint in case -fno-trapping-math is enabled.
2006-10-29 Richard Guenther <rguenther@suse.de>
* builtins.c (expand_builtin_mathfn): Expand nearbyint as
rint in case -fno-trapping-math is enabled.
* config/i386/i386-protos.h (ix86_expand_rint): Declare.
* config/i386/i386.c (ix86_gen_TWO52): New static helper function.
(ix86_expand_sse_fabs): Likewise.
(ix86_expand_rint): New function expanding rint to x87 or SSE math.
* config/i386/i386.md (rintdf2): Enable for SSE math if
-fno-trapping-math is enabled, use ix86_expand_rint for expansion.
(rintsf2): Likewise.
* gcc.target/i386/math-torture/rint.c: New testcase.
* gcc.target/i386/math-torture/nearbyint.c: Likewise.
From-SVN: r118144
Richard Guenther [Sun, 29 Oct 2006 15:18:24 +0000 (15:18 +0000)]
genopinit.c (optabs): Change lfloor_optab and lceil_optab to conversion optabs.
2006-10-29 Richard Guenther <rguenther@suse.de>
* genopinit.c (optabs): Change lfloor_optab and lceil_optab
to conversion optabs.
* optabs.c (init_optabs): Initialize lfloor_optab and lceil_optab
as conversion optab.
* optabs.h (enum optab_index): Remove OTI_lfloor and OTI_lceil.
(enum convert_optab_index): Add COI_lfloor and COI_lceil.
(lfloor_optab, lceil_optab): Adjust defines.
* builtins.c (expand_builtin_int_roundingfn): Adjust for
lfloor and lceil optabs now being conversion optabs.
* config/i386/i386-protos.h (ix86_expand_lfloorceil): Declare.
* config/i386/i386.c (ix86_expand_sse_compare_and_jump):
New static helper function.
(ix86_expand_lfloorceil): New function to expand lfloor and
lceil inline.
* config/i386/i386.md (lfloor<mode>2): Split into ...
(lfloorxf<mode>2): ... x87 variant
(lfloor<mode>di2, lfloor<mode>si2): ... and SSE variants
using ix86_expand_lfloorceil.
(lceil<mode>2, lceilxf<mode>2, lceil<mode>di2, lceil<mode>si2):
Likewise.
* doc/md.texi (lfloorMN, lceilMN): Document.
* gcc.target/i386/math-torture/lfloor.c: New testcase.
* gcc.target/i386/math-torture/lceil.c: Likewise.
From-SVN: r118143
Tobias Burnus [Sun, 29 Oct 2006 11:56:56 +0000 (12:56 +0100)]
re PR libfortran/24313 (complex sqrt function does not return principal value)
2006-10-28 Tobias Burnus <burnus@net-b.de>
PR libgfortran/24313
* gfortran.dg/csqrt_2.f: Remove xfail *-*-linux-gnu.
From-SVN: r118142
Francois-Xavier Coudert [Sun, 29 Oct 2006 11:34:53 +0000 (12:34 +0100)]
configure: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
From-SVN: r118140
Richard Sandiford [Sun, 29 Oct 2006 11:13:14 +0000 (11:13 +0000)]
configure.ac (HAVE_AS_NO_SHARED): New AC_DEFINE.
gcc/
* configure.ac (HAVE_AS_NO_SHARED): New AC_DEFINE. Test for the
-mno-shared assembler option on mips targets.
* configure, config.in: Regenerate.
* config/mips/linux.h (NO_SHARED_SPECS): New macro.
(DRIVER_SELF_SPECS): Define to NO_SHARED_SPECS if non-empty.
* config/mips/linux64.h (DRIVER_SELF_SPECS): Include NO_SHARED_SPECS.
From-SVN: r118138
Richard Sandiford [Sun, 29 Oct 2006 11:00:08 +0000 (11:00 +0000)]
mips.c (mips_classify_symbol): Test DECL_WEAK as well as TREE_PUBLIC when deciding whether to return...
gcc/
* config/mips/mips.c (mips_classify_symbol): Test DECL_WEAK as well
as TREE_PUBLIC when deciding whether to return SYMBOL_GOT_GLOBAL.
From-SVN: r118137
Paolo Carlini [Sun, 29 Oct 2006 10:49:07 +0000 (10:49 +0000)]
re PR libstdc++/29520 (tr1: discrete_distributions vs large floating point values)
2006-10-29 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/29520
* include/tr1/random (geometric_distribution<>::
operator()(_UniformRandomNumberGenerator&)): Only declare.
* include/tr1/random.tcc (geometric_distribution<>::
operator()(_UniformRandomNumberGenerator&),
poisson_distribution<>::operator()(_UniformRandomNumberGenerator&),
binomial_distribution<>::operator()(_UniformRandomNumberGenerator&)):
Reject candidate floating point values not convertible to the
result_type.
From-SVN: r118135
Jakub Jelinek [Sun, 29 Oct 2006 10:27:39 +0000 (11:27 +0100)]
re PR fortran/29629 (ICE on OpenMP-enabled program (gfc_conv_variable, at fortran/trans-expr.c:404))
PR fortran/29629
* trans-openmp.c (gfc_trans_omp_array_reduction): Set attr.flavor
of init_val_sym and outer_sym to FL_VARIABLE.
* testsuite/libgomp.fortran/pr29629.f90: New test.
From-SVN: r118134
Kazu Hirata [Sun, 29 Oct 2006 04:46:24 +0000 (04:46 +0000)]
darwin.c, [...]: Fix comment typos.
* config/darwin.c, config/darwin.opt, config/ia64/itanium1.md,
config/ia64/itanium2.md, real.c, tree-ssa-structalias.c: Fix
comment typos.
From-SVN: r118133
Kazu Hirata [Sun, 29 Oct 2006 04:43:45 +0000 (04:43 +0000)]
20020118-1.c, [...]: Fix comment typos.
* gcc.c-torture/execute/
20020118-1.c,
gcc.c-torture/execute/builtins/strlen.c,
gcc.c-torture/execute/pr23135.c, lib/fortran-torture.exp: Fix
comment typos.
From-SVN: r118132
Kazu Hirata [Sun, 29 Oct 2006 04:41:10 +0000 (04:41 +0000)]
* intrinsic.texi: Fix a typo.
From-SVN: r118131
Kazu Hirata [Sun, 29 Oct 2006 04:38:03 +0000 (04:38 +0000)]
* decl.c: Fix a comment typo.
From-SVN: r118130
Kaveh R. Ghazi [Sun, 29 Oct 2006 02:02:10 +0000 (02:02 +0000)]
re PR middle-end/29335 (transcendental functions with constant arguments should be resolved at compile-time)
PR middle-end/29335
* builtins.c (do_mpfr_arg2, fold_builtin_hypot): New.
(fold_builtin_pow): Evaluate constant arguments at compile-time
using MPFR.
(fold_builtin_1): Handle BUILT_IN_ATAN2 and BUILT_IN_HYPOT.
(do_mpfr_ckconv): New helper function.
(do_mpfr_arg1): Use do_mpfr_ckconv.
(do_mpfr_arg2): New.
testsuite:
* gcc.dg/builtins-20.c: Add tests for hypot.
* gcc.dg/torture/builtin-math-2.c (TESTIT2): New. Add tests for
two-argument builtins.
* gcc.dg/torture/builtin-math-3.c (TESTIT_R): Renamed from
TESTIT2. Update all callers.
(TESTIT2, TESTIT2_R): New helper macros.
Add testcases for pow, hypot and atan2.
From-SVN: r118129
Andrew Pinski [Sun, 29 Oct 2006 00:27:49 +0000 (00:27 +0000)]
re PR other/29271 (Incorrect -fdump-rtl-sched documentation)
2006-10-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR tree-opt/29271
* doc/invoke.texi (-fdump-rtl-sched2) Fix file extension number.
(-fdump-rtl-sched): Rename to ..
(-fdump-rtl-sched1): here. Also fix file extension number.
From-SVN: r118128
GCC Administrator [Sun, 29 Oct 2006 00:17:41 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r118126
Steven G. Kargl [Sat, 28 Oct 2006 23:31:22 +0000 (23:31 +0000)]
gfortran.h: Remove GFC_MPFR_TOO_OLD.
2006-10-27 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.h: Remove GFC_MPFR_TOO_OLD.
* arith.c (arctangent2): Remove function
(gfc_check_real_range): Remove subnormal kludge.
* arith.h: Remove arctangent2 prototype.
* simplify.c: (gfc_simplify_atan2): Remove use of arctangent2.
(gfc_simplify_exponent, gfc_simplify_log, gfc_simplify_nearest,
gfc_simplify_rrspacing, gfc_simplify_spacing): Remove mpfr kludges.
From-SVN: r118120
Andrew Pinski [Sat, 28 Oct 2006 23:01:59 +0000 (23:01 +0000)]
re PR c++/29295 (++ operator with bool typedef increments or operator -- with bool typedef)
2006-10-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR C++/29295
* typeck.c (build_unary_op): Use same_type_p when comparing to
boolean type.
2006-10-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR C++/29295
* g++.dg/expr/bool1.C: New test.
* g++.dg/expr/bool2.C: New test.
From-SVN: r118118
Dirk Mueller [Sat, 28 Oct 2006 22:34:06 +0000 (22:34 +0000)]
re PR c++/29033 (%s substituted with "left"/"right" can't be properly translated)
2006-10-29 Dirk Mueller <dmueller@suse.de>
PR c++/29033
* typeck.c (build_binary_op): Duplicate warning message
for better translation.
From-SVN: r118117
Paolo Carlini [Sat, 28 Oct 2006 22:02:44 +0000 (22:02 +0000)]
array (array<>::_M_at): New.
2006-10-28 Paolo Carlini <pcarlini@suse.de>
* include/tr1/array (array<>::_M_at): New.
(array<>::at): Fix off-by-one bug, use the above.
* testsuite/tr1/6_containers/array/element_access/
at_out_of_range.cc: Adjust.
* include/tr1/array (class array<>): Remove non-conforming default
for the second parameter.
* include/ext/array_allocator.h: Adjust.
* include/tr1/array (array<>::front, array<>::back): Do not return
a reference to memory not belonging to the array when _Nm == 0.
From-SVN: r118114
Tobias Burnus [Sat, 28 Oct 2006 21:59:20 +0000 (23:59 +0200)]
re PR fortran/28224 (gfortran should support namelist (nml) for internal file units)
fortran/
2006-10-28 Tobias Burnus <burnus@net-b.de>
PR fortran/28224
* io.c (check_io_constraints): Allow namelists
for internal files for Fortran 2003.
testsuite/
2006-10-28 Tobias Burnus <burnus@net-b.de>
PR fortran/28224
* gfortran.dg/io_constraints_2.f90: Use -std=f95.
* gfortran.dg/namelist_internal.f90: New test.
From-SVN: r118113
Tobias Burnus [Sat, 28 Oct 2006 21:07:19 +0000 (23:07 +0200)]
re PR fortran/29625 (Octal edit descriptors allow real variables, even with -std=f95)
2006-10-28 Tobias Burnus <burnus@net-b.de>
PR fortran/29625
* gfortran.dg/io_real_boz.f90: Add.
* gfortran.dg/io_real_boz2.f90: Add.
From-SVN: r118112
Tobias Burnus [Sat, 28 Oct 2006 21:05:42 +0000 (23:05 +0200)]
re PR fortran/29625 (Octal edit descriptors allow real variables, even with -std=f95)
2006-10-28 Tobias Burnus <burnus@net-b.de>
PR fortran/29625
* io/transfer.c (formatted_transfer_scalar): Allow binary edit
descriptors for real variables; give error for BOZ edit
descriptor for non-integers when using -std=f*.
From-SVN: r118111
Richard Guenther [Sat, 28 Oct 2006 20:36:54 +0000 (20:36 +0000)]
fold-const.c (maybe_canonicalize_comparison): Fix code to match comment.
2006-10-28 Richard Guenther <rguenther@suse.de>
* fold-const.c (maybe_canonicalize_comparison): Fix code
to match comment.
From-SVN: r118110
Uros Bizjak [Sat, 28 Oct 2006 20:25:27 +0000 (22:25 +0200)]
i386.h (GENERAL_REGNO_P): Use STACK_POINTER_REGNUM.
* config/i386/i386.h (GENERAL_REGNO_P): Use STACK_POINTER_REGNUM.
(NON_QI_REG_P): Use IN_RANGE.
(REX_INT_REGNO_P): Use IN_RANGE.
(FP_REGNO_P): Use IN_RANGE.
(SSE_REGNO_P): Use IN_RANGE.
(REX_SSE_REGNO_P): Use IN_RANGE.
(MMX_REGNO_P): Use IN_RANGE.
(STACK_REGNO_P): New macro.
(STACK_REG_P): Use STACK_REGNO_P.
(NON_STACK_REG_P): Use STACK_REGNO_P.
(REGNO_OK_FOR_INDEX_P): Use REX_INT_REGNO_P.
(REGNO_OK_FOR_BASE_P): Use GENERAL_REGNO_P.
(REG_OK_FOR_INDEX_NONSTRICT_P): Use REX_INT_REGNO_P.
(REG_OK_FOR_BASE_NONSTRICT_P): Use GENERAL_REGNO_P.
(HARD_REGNO_RENAME_OK): Use !IN_RANGE.
From-SVN: r118109
Keith Seitz [Sat, 28 Oct 2006 18:36:16 +0000 (18:36 +0000)]
Makefile.am (nat_source_files): Add natBreakpoint.cc.
* Makefile.am (nat_source_files): Add natBreakpoint.cc.
* sources.am: Regenerated.
* Makefile.in: Regenerated.
* gnu/gcj/jvmti/Breakpoint.java: New file.
* gnu/gcj/jvmti/natBreakpoint.java: New file.
From-SVN: r118108
Eric Botcazou [Sat, 28 Oct 2006 18:11:28 +0000 (18:11 +0000)]
except.h (output_function_exception_table): Add 'const char*' param.
* except.h (output_function_exception_table): Add 'const char*' param.
* except.c (switch_to_exception_section): Add 'const char*' param.
If named sections are supported and HAVE_LD_EH_GC_SECTIONS is defined
and flag_function_sections is set, use a function-specific section.
(output_function_exception_table): Add 'const char*' param.
Adjust call to switch_to_exception_section.
* final.c (rest_of_handle_final): Adjust calls to
output_function_exception_table.
* configure.ac (HAVE_LD_EH_GC_SECTIONS): New check.
* config.in: Regenerate.
* configure: Likewise.
From-SVN: r118107
Richard Guenther [Sat, 28 Oct 2006 18:03:21 +0000 (18:03 +0000)]
re PR middle-end/26899 (Fold does not fold (i0 > i1 + 1) || (i1 < i0 - 1))
2006-10-28 Richard Guenther <rguenther@suse.de>
PR middle-end/26899
* fold-const.c (maybe_canonicalize_comparison_1): Helper
for maybe_canonicalize_comparison.
(maybe_canonicalize_comparison): New function for canonicalizing
comparison trees.
(fold_comparison): Call it to canonicalize comparisons with
constants involved.
* gcc.dg/tree-ssa/pr26899.c: New testcase.
From-SVN: r118106
Richard Guenther [Sat, 28 Oct 2006 11:30:41 +0000 (11:30 +0000)]
re PR target/28806 (lround is not expanded inline to SSE conversion sequence)
2006-10-28 Richard Guenther <rguenther@suse.de>
PR target/28806
* builtins.c (expand_builtin_int_roundingfn_2): Expand
BUILT_IN_LROUND and BUILT_IN_LLROUND from here.
(expand_builtin): Adjust likewise.
* genopinit.c (optabs[]): Add lround optab.
* optabs.c (init_optabs): Initialize lround_optab.
* optabs.h (enum convert_optab_index): Add COI_lround.
(lround_optab): Define.
* config/i386/i386-protos.h (ix86_expand_lround): Declare.
* config/i386/i386.c (ix86_sse_copysign_to_positive): New
static function.
(ix86_expand_lround): New function.
* config/i386/i386.md (lround<mode>di2, lround<mode>si2):
New expanders.
* doc/md.texi (lroundMN2): Document.
* gcc.target/i386/math-torture/lround.c: New testcase.
From-SVN: r118105
Mike Stump [Sat, 28 Oct 2006 10:37:12 +0000 (10:37 +0000)]
Fixup whitespacing
From-SVN: r118104
Uros Bizjak [Sat, 28 Oct 2006 09:41:41 +0000 (11:41 +0200)]
re PR target/29377 (Build for h8300-elf crashes on 64bit hosts due to int/HWI mismatch)
PR target/29377
* config/h8300/h8300.c (h8300_emit_stack_adjustment): Change "size"
argument to HOST_WIDE_INT. Update function prototype.
(round_frame_size): Change return type to HOST_WIDE_INT. Change
"size" argument to HOST_WIDE_INT. Update function prototype.
From-SVN: r118102
Uros Bizjak [Sat, 28 Oct 2006 09:20:23 +0000 (11:20 +0200)]
i386.c (output_387_ffreep): Create output from a template string for !HAVE_AS_IX86_FFREEP.
* config/i386/i386.c (output_387_ffreep): Create output from a
template string for !HAVE_AS_IX86_FFREEP.
From-SVN: r118101
Keith Seitz [Sat, 28 Oct 2006 02:15:12 +0000 (02:15 +0000)]
java-stack.h (ncodeMap): Declare.
* include/java-stack.h (ncodeMap): Declare.
(_Jv_StackTrace): Make _Jv_GetMethodDeclaringClass friend.
* java/lang/Class.h (_Jv_GetMethodDeclaringClass): Declare.
* java/lang/natClass.cc (_Jv_GetMethodDeclaringClass): New
function.
* stacktrace.cc (ncodeMap): Redefine from file global to global
for class _Jv_StackTrace.
(_Jv_StackTrace::UpdateNCodeMap): Add interpreted classes, too,
so that _Jv_GetMethodDeclaringClass can find them all.
(_Jv_StackTrace::ClassForFrame): Exclude interpreted classes.
* jvmti.cc (_Jv_JVMTI_GetMethodDeclaringClass): New function.
(_Jv_JVMTI_Interface): Define GetMethodDeclaringClass function.
From-SVN: r118100
Eric Christopher [Sat, 28 Oct 2006 01:00:21 +0000 (01:00 +0000)]
darwin.c: Fix formatting and grammar.
2006-10-27 Eric Christopher <echristo@apple.com>
* config/darwin.c: Fix formatting and grammar.
From-SVN: r118099