summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2014-01-20 15:21:18 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2014-01-20 15:21:18 +0000
commit0f39b5484a4eee397bbc2a2b6763df8e8b8af237 (patch)
tree939b2cc5bdbad992680347fe439897a1abb53309 /gcc
parent22b579bb66bab532c915d2205fdde9049d282bdf (diff)
downloadgcc-0f39b5484a4eee397bbc2a2b6763df8e8b8af237.tar.gz
2014-01-20 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Document that Loop_Variant is included in Statement_Assertions. * sem_prag.adb (Check_Kind): Add Loop_Variant to Statement_Assertions (Check_Applicable_Policy): Add Loop_Variant to Statement_Assertions. 2014-01-20 Doug Rupp <rupp@adacore.com> * sysdep.c (__gnat_is_file_not_found_error) [vxworks6]: Add case for errno ENOENT from RTP on NFS mounted file system. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206821 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog13
-rw-r--r--gcc/ada/gnat_rm.texi2
-rw-r--r--gcc/ada/sem_prag.adb28
-rw-r--r--gcc/ada/sysdep.c15
4 files changed, 42 insertions, 16 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index f32cb22851c..68186c39c3b 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,16 @@
+2014-01-20 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Document that Loop_Variant is included in
+ Statement_Assertions.
+ * sem_prag.adb (Check_Kind): Add Loop_Variant to
+ Statement_Assertions (Check_Applicable_Policy): Add Loop_Variant
+ to Statement_Assertions.
+
+2014-01-20 Doug Rupp <rupp@adacore.com>
+
+ * sysdep.c (__gnat_is_file_not_found_error) [vxworks6]: Add case
+ for errno ENOENT from RTP on NFS mounted file system.
+
2014-01-20 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Check_Function_Writable_Actuals): 1) Do not
diff --git a/gcc/ada/gnat_rm.texi b/gcc/ada/gnat_rm.texi
index 95e1f9a214a..465da2b0ebb 100644
--- a/gcc/ada/gnat_rm.texi
+++ b/gcc/ada/gnat_rm.texi
@@ -1431,7 +1431,7 @@ implementation defined).
The implementation defined policy @code{Statement_Assertions}
applies to @code{Assert}, @code{Assert_And_Cut},
-@code{Assume}, and @code{Loop_Invariant}.
+@code{Assume}, @code{Loop_Invariant}, and @code{Loop_Variant}.
@node Pragma Assume
@unnumberedsec Pragma Assume
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
index ebb68431477..e678c8b6860 100644
--- a/gcc/ada/sem_prag.adb
+++ b/gcc/ada/sem_prag.adb
@@ -1,4 +1,4 @@
-------------------------------------------------------------------------------
+-----------------------------------------------------------------------------
-- --
-- GNAT COMPILER COMPONENTS --
-- --
@@ -21903,14 +21903,14 @@ package body Sem_Prag is
procedure Collect_Abstract_States (States : Elist_Id) is
State_Elmt : Elmt_Id;
-
begin
- State_Elmt := First_Elmt (States);
- while Present (State_Elmt) loop
- Add_Item (Node (State_Elmt), Hidden_States);
-
- Next_Elmt (State_Elmt);
- end loop;
+ if Present (States) then
+ State_Elmt := First_Elmt (States);
+ while Present (State_Elmt) loop
+ Add_Item (Node (State_Elmt), Hidden_States);
+ Next_Elmt (State_Elmt);
+ end loop;
+ end if;
end Collect_Abstract_States;
-- Local variables
@@ -22147,7 +22147,8 @@ package body Sem_Prag is
and then Nam_In (Nam, Name_Assert,
Name_Assert_And_Cut,
Name_Assume,
- Name_Loop_Invariant))
+ Name_Loop_Invariant,
+ Name_Loop_Variant))
then
case (Chars (Get_Pragma_Arg (Last (PPA)))) is
when Name_On | Name_Check =>
@@ -22207,10 +22208,11 @@ package body Sem_Prag is
if Ename = Pnm
or else Pnm = Name_Assertion
or else (Pnm = Name_Statement_Assertions
- and then (Ename = Name_Assert or else
- Ename = Name_Assert_And_Cut or else
- Ename = Name_Assume or else
- Ename = Name_Loop_Invariant))
+ and then Nam_In (Ename, Name_Assert,
+ Name_Assert_And_Cut,
+ Name_Assume,
+ Name_Loop_Invariant,
+ Name_Loop_Variant))
then
Policy := Chars (Get_Pragma_Arg (Last (PPA)));
diff --git a/gcc/ada/sysdep.c b/gcc/ada/sysdep.c
index 58c51c01ff7..9f427077c6d 100644
--- a/gcc/ada/sysdep.c
+++ b/gcc/ada/sysdep.c
@@ -6,7 +6,7 @@
* *
* C Implementation File *
* *
- * Copyright (C) 1992-2012, Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2013, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@@ -42,6 +42,12 @@
#endif
#include "selectLib.h"
#include "vxWorks.h"
+#if defined (__RTP__)
+# include "version.h"
+# if (_WRS_VXWORKS_MAJOR == 6)
+# include "vwModNum.h"
+# endif /* _WRS_VXWORKS_MAJOR == 6 */
+#endif /* __RTP__ */
#endif
#ifdef __ANDROID__
@@ -920,11 +926,16 @@ __gnat_is_file_not_found_error (int errno_val) {
#if ! defined (__RTP__) && (! defined (VTHREADS) || defined (__VXWORKSMILS__))
case S_nfsLib_NFSERR_NOENT:
#endif
+#if defined (__RTP__) && (_WRS_VXWORKS_MAJOR == 6)
+ /* An RTP can return an NFS file not found, and the NFS bits must
+ first be masked off to check the errno. */
+ case M_nfsStat | ENOENT:
+#endif
#endif
return 1;
default:
- return 0;
+ return 0;
}
}