aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/adaint.c
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2016-07-07 15:20:30 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2016-07-07 15:20:30 +0200
commit86ec3bfb9fc3729d1e17d750e2d76be03f4f7110 (patch)
tree5f9cb4cf824f99f62768c9f881adcfe0418ff120 /gcc/ada/adaint.c
parent0640c7d139ea91870c378de96cab14d708517593 (diff)
downloadgcc-86ec3bfb9fc3729d1e17d750e2d76be03f4f7110.zip
gcc-86ec3bfb9fc3729d1e17d750e2d76be03f4f7110.tar.gz
gcc-86ec3bfb9fc3729d1e17d750e2d76be03f4f7110.tar.bz2
[multiple changes]
2016-07-07 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Expand_Internal_Init_Call): Subsidiary procedure to Expand_Protected_ Subprogram_Call, to handle properly a call to a protected function that provides the initialization expression for a private component of the same protected type. * sem_ch9.adb (Analyze_Protected_Definition): Layout must be applied to itypes generated for a private operation of a protected type that has a formal of an anonymous access to subprogram, because these itypes have no freeze nodes and are frozen in place. * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected type and it is not a current instance, do not examine the first private component of the type. 2016-07-07 Arnaud Charlet <charlet@adacore.com> * exp_imgv.adb, g-dynhta.adb, s-regexp.adb, s-fatgen.adb, s-poosiz.adb: Minor removal of extra whitespace. * einfo.ads: minor removal of repeated "as" in comment 2016-07-07 Vadim Godunko <godunko@adacore.com> * adaint.c: Complete previous change. From-SVN: r238117
Diffstat (limited to 'gcc/ada/adaint.c')
-rw-r--r--gcc/ada/adaint.c25
1 files changed, 21 insertions, 4 deletions
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c
index 9d8a438..67bdad3 100644
--- a/gcc/ada/adaint.c
+++ b/gcc/ada/adaint.c
@@ -1919,7 +1919,16 @@ __gnat_is_read_accessible_file (char *name)
S2WSC (wname, name, GNAT_MAX_PATH_LEN + 2);
- return !_access (wname, 4);
+ return !_waccess (wname, 4);
+
+#elif defined (__vxworks)
+ int fd;
+
+ if (fd = open (name, O_RDONLY, 0) < 0)
+ return 0;
+ close (fd);
+ return 1;
+
#else
return !access (name, R_OK);
#endif
@@ -1983,7 +1992,16 @@ __gnat_is_write_accessible_file (char *name)
S2WSC (wname, name, GNAT_MAX_PATH_LEN + 2);
- return !_access (wname, 2);
+ return !_waccess (wname, 2);
+
+#elif defined (__vxworks)
+ int fd;
+
+ if (fd = open (name, O_WRONLY, 0) < 0)
+ return 0;
+ close (fd);
+ return 1;
+
#else
return !access (name, W_OK);
#endif
@@ -3291,7 +3309,6 @@ __gnat_kill (int pid, int sig, int close ATTRIBUTE_UNUSED)
void __gnat_killprocesstree (int pid, int sig_num)
{
#if defined(_WIN32)
- HANDLE hWnd;
PROCESSENTRY32 pe;
memset(&pe, 0, sizeof(PROCESSENTRY32));
@@ -3315,7 +3332,7 @@ void __gnat_killprocesstree (int pid, int sig_num)
while (bContinue)
{
- if (pe.th32ParentProcessID == (int)pid)
+ if (pe.th32ParentProcessID == (DWORD)pid)
__gnat_killprocesstree (pe.th32ProcessID, sig_num);
bContinue = Process32Next (hSnap, &pe);