From b2ed7a03e24eec7539c7656a7aff0ea73ec73f34 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Thu, 16 Apr 2009 10:33:28 +0200 Subject: [PATCH] [multiple changes] 2009-04-16 Olivier Hainque * gnat_ugn.texi (gnatmem description): Make it explicit that gnatmem is designed to work in association with static runtime library only. 2009-04-16 Thomas Quinot * sem_type.adb: Minor reformatting 2009-04-16 Hristian Kirtchev * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment concerning return codes of gettimeofday and return value check. 2009-04-16 Ed Falis * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so body can be renaming of imported routines. 2009-04-16 Vasiliy Fofanov * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more targeted fashion. From-SVN: r146149 --- gcc/ada/ChangeLog | 25 +++++++++++++++++++++++++ gcc/ada/gnat_ugn.texi | 3 ++- gcc/ada/s-asthan-vms-alpha.adb | 9 ++++++--- gcc/ada/s-osprim-darwin.adb | 8 ++++++++ gcc/ada/s-osprim-posix.adb | 8 ++++++++ gcc/ada/s-vxwext-kernel.ads | 4 ++-- gcc/ada/sem_type.adb | 2 +- 7 files changed, 52 insertions(+), 7 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index b02eed282e56..14e369d31091 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,28 @@ +2009-04-16 Olivier Hainque + + * gnat_ugn.texi (gnatmem description): Make it explicit that + gnatmem is designed to work in association with static runtime + library only. + +2009-04-16 Thomas Quinot + + * sem_type.adb: Minor reformatting + +2009-04-16 Hristian Kirtchev + + * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment + concerning return codes of gettimeofday and return value check. + +2009-04-16 Ed Falis + + * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so + body can be renaming of imported routines. + +2009-04-16 Vasiliy Fofanov + + * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more + targeted fashion. + 2009-04-15 Hristian Kirtchev * exp_ch9.adb: Comment improvements. diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi index d45ee0fa858c..c645682bbbe2 100644 --- a/gcc/ada/gnat_ugn.texi +++ b/gcc/ada/gnat_ugn.texi @@ -19708,7 +19708,8 @@ Debug Pool info: The @code{gnatmem} utility monitors dynamic allocation and deallocation activity in a program, and displays information about incorrect deallocations and possible sources of memory leaks. -It provides three type of information: +It is designed to work in association with a static runtime library +only and in this context provides three types of information: @itemize @bullet @item General information concerning memory management, such as the total diff --git a/gcc/ada/s-asthan-vms-alpha.adb b/gcc/ada/s-asthan-vms-alpha.adb index 70f3cd8c979f..2e04081f4108 100644 --- a/gcc/ada/s-asthan-vms-alpha.adb +++ b/gcc/ada/s-asthan-vms-alpha.adb @@ -133,9 +133,6 @@ package body System.AST_Handling is type Descriptor_Type is new SSE.Storage_Array (1 .. 48); for Descriptor_Type'Alignment use Standard'Maximum_Alignment; - pragma Warnings (Off, Descriptor_Type); - -- Suppress harmless warnings about alignment. - -- Should explain why this warning is harmless ??? type Descriptor_Ref is access all Descriptor_Type; @@ -459,12 +456,18 @@ package body System.AST_Handling is Process_AST_Ptr : constant AST_Handler := Process_AST'Access; -- Reference to standard procedure descriptor for Process_AST + pragma Warnings (Off, "*alignment*"); + -- Suppress harmless warnings about alignment. + -- Should explain why this warning is harmless ??? + function To_Descriptor_Ref is new Ada.Unchecked_Conversion (AST_Handler, Descriptor_Ref); Original_Descriptor_Ref : constant Descriptor_Ref := To_Descriptor_Ref (Process_AST_Ptr); + pragma Warnings (On, "*alignment*"); + begin if ATID.Is_Terminated (Taskid) then raise Program_Error; diff --git a/gcc/ada/s-osprim-darwin.adb b/gcc/ada/s-osprim-darwin.adb index 2425cf6e6d0e..d47c608a74ee 100644 --- a/gcc/ada/s-osprim-darwin.adb +++ b/gcc/ada/s-osprim-darwin.adb @@ -78,6 +78,14 @@ package body System.OS_Primitives is pragma Unreferenced (Result); begin + -- The return codes for gettimeofday are as follows (from man pages): + -- EPERM settimeofday is called by someone other than the superuser + -- EINVAL Timezone (or something else) is invalid + -- EFAULT One of tv or tz pointed outside accessible address space + + -- None of these codes signal a potential clock skew, hence the return + -- value is never checked. + Result := gettimeofday (TV'Access, null); return Duration (TV.tv_sec) + Duration (TV.tv_usec) / 10#1#E6; end Clock; diff --git a/gcc/ada/s-osprim-posix.adb b/gcc/ada/s-osprim-posix.adb index 7042830d36e2..c02ad98380c9 100644 --- a/gcc/ada/s-osprim-posix.adb +++ b/gcc/ada/s-osprim-posix.adb @@ -78,6 +78,14 @@ package body System.OS_Primitives is pragma Unreferenced (Result); begin + -- The return codes for gettimeofday are as follows (from man pages): + -- EPERM settimeofday is called by someone other than the superuser + -- EINVAL Timezone (or something else) is invalid + -- EFAULT One of tv or tz pointed outside accessible address space + + -- None of these codes signal a potential clock skew, hence the return + -- value is never checked. + Result := gettimeofday (TV'Access, null); return Duration (TV.tv_sec) + Duration (TV.tv_usec) / 10#1#E6; end Clock; diff --git a/gcc/ada/s-vxwext-kernel.ads b/gcc/ada/s-vxwext-kernel.ads index b0008e8e3e7b..423acab2ba9f 100644 --- a/gcc/ada/s-vxwext-kernel.ads +++ b/gcc/ada/s-vxwext-kernel.ads @@ -45,10 +45,10 @@ package System.VxWorks.Ext is type Interrupt_Vector is new System.Address; function Int_Lock return int; - pragma Inline (Int_Lock); + pragma Convention (C, Int_Lock); function Int_Unlock return int; - pragma Inline (Int_Unlock); + pragma Convention (C, Int_Unlock); function Interrupt_Connect (Vector : Interrupt_Vector; diff --git a/gcc/ada/sem_type.adb b/gcc/ada/sem_type.adb index bc9dbdbc9530..47bc6628e472 100644 --- a/gcc/ada/sem_type.adb +++ b/gcc/ada/sem_type.adb @@ -885,7 +885,7 @@ package body Sem_Type is then return True; - -- An aggregate is compatible with an array or record type. + -- An aggregate is compatible with an array or record type elsif T2 = Any_Composite and then Ekind (T1) in E_Array_Type .. E_Record_Subtype