]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR ada/52123 (gcc bootstrap with ada fails on mingw target)
authorRainer Emrich <rainer@emrich-ebersheim.de>
Thu, 14 Feb 2013 08:45:09 +0000 (08:45 +0000)
committerKai Tietz <ktietz@gcc.gnu.org>
Thu, 14 Feb 2013 08:45:09 +0000 (09:45 +0100)
2013-02-14  Rainer Emrich  <rainer@emrich-ebersheim.de>

        PR target/52123
        * adaint.c (__gnat_check_OWNER_ACL): Cast from pointer via
        SECURITY_DESCRIPTOR *.
        (__gnat_set_OWNER_ACL): Cast from DWORD to ACCESS_MODE.
        (__gnat_portable_spawn): Fix cast to char* const*.
        (add_handle): Cast from pointer via void **.
        (add_handle): Cast from pointer via int *.
        (__gnat_locate_exec_on_path): Cast from pointer via TCHAR *.
        (__gnat_locate_exec_on_path): Cast from pointer via char *.
        * initialize.c (append_arg): Cast from pointer via LPWSTR.
        (__gnat_initialize): Cast from pointer via LPWSTR.
        * seh_init.c (__gnat_SEH_error_handler): Cast from pointer via FARPROC.
        * tracebak.c: Cast from pointer via FARPROC.

From-SVN: r196046

gcc/ada/ChangeLog
gcc/ada/adaint.c
gcc/ada/initialize.c
gcc/ada/seh_init.c
gcc/ada/tracebak.c

index 5106c84c3b44a71bef49f9c9bc8075fd2aa42fba..34ddde52677b4ff4e9956583f23da4ec2850a31f 100644 (file)
@@ -1,3 +1,20 @@
+2013-02-14  Rainer Emrich  <rainer@emrich-ebersheim.de>
+
+       Back-port from mainline.
+       PR target/52123
+       * adaint.c (__gnat_check_OWNER_ACL): Cast from pointer via
+       SECURITY_DESCRIPTOR *.
+       (__gnat_set_OWNER_ACL): Cast from DWORD to ACCESS_MODE.
+       (__gnat_portable_spawn): Fix cast to char* const*.
+       (add_handle): Cast from pointer via void **.
+       (add_handle): Cast from pointer via int *.
+       (__gnat_locate_exec_on_path): Cast from pointer via TCHAR *.
+       (__gnat_locate_exec_on_path): Cast from pointer via char *.
+       * initialize.c (append_arg): Cast from pointer via LPWSTR.
+       (__gnat_initialize): Cast from pointer via LPWSTR.
+       * seh_init.c (__gnat_SEH_error_handler): Cast from pointer via FARPROC.
+       * tracebak.c: Cast from pointer via FARPROC.
+
 2013-02-07  Simon Wright  <simon@pushface.org>
 
        PR target/50678
index 4c96d56b1cee6ae4b6426420c6f27aa68cb92f85..83916a42f2af8fb3026092acedd17919c1ea4229 100644 (file)
@@ -1982,7 +1982,7 @@ __gnat_check_OWNER_ACL
      GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION,
      NULL, 0, &nLength);
 
-  if ((pSD = (PSECURITY_DESCRIPTOR) HeapAlloc
+  if ((pSD = (SECURITY_DESCRIPTOR *) HeapAlloc
        (GetProcessHeap (), HEAP_ZERO_MEMORY, nLength)) == NULL)
     return 0;
 
@@ -2059,7 +2059,7 @@ __gnat_set_OWNER_ACL
     return;
 
   BuildExplicitAccessWithName
-    (&ea, username, AccessPermissions, AccessMode, NO_INHERITANCE);
+    (&ea, username, AccessPermissions, (ACCESS_MODE) AccessMode, NO_INHERITANCE);
 
   if (AccessMode == SET_ACCESS)
     {
@@ -2384,7 +2384,7 @@ __gnat_portable_spawn (char *args[])
   strcat (args[0], args_0);
   strcat (args[0], "\"");
 
-  status = spawnvp (P_WAIT, args_0, (const char* const*)args);
+  status = spawnvp (P_WAIT, args_0, (char* const*)args);
 
   /* restore previous value */
   free (args[0]);
@@ -2544,9 +2544,9 @@ add_handle (HANDLE h, int pid)
     {
       plist_max_length += 1000;
       HANDLES_LIST =
-        xrealloc (HANDLES_LIST, sizeof (HANDLE) * plist_max_length);
+        (void **) xrealloc (HANDLES_LIST, sizeof (HANDLE) * plist_max_length);
       PID_LIST =
-        xrealloc (PID_LIST, sizeof (int) * plist_max_length);
+        (int *) xrealloc (PID_LIST, sizeof (int) * plist_max_length);
     }
 
   HANDLES_LIST[plist_length] = h;
@@ -2935,7 +2935,7 @@ __gnat_locate_exec_on_path (char *exec_name)
 
   #define EXPAND_BUFFER_SIZE 32767
 
-  wapath_val = alloca (EXPAND_BUFFER_SIZE);
+  wapath_val = (TCHAR *) alloca (EXPAND_BUFFER_SIZE);
 
   wapath_val [0] = '.';
   wapath_val [1] = ';';
@@ -2945,7 +2945,7 @@ __gnat_locate_exec_on_path (char *exec_name)
 
   if (!res) wapath_val [0] = _T('\0');
 
-  apath_val = alloca (EXPAND_BUFFER_SIZE);
+  apath_val = (char *) alloca (EXPAND_BUFFER_SIZE);
 
   WS2SC (apath_val, wapath_val, EXPAND_BUFFER_SIZE);
   return __gnat_locate_exec (exec_name, apath_val);
index 90f35a0a9b439771232f811d6d7c7c3d2e07e8ab..783f8af5b8654d078301497a452e3f51d8725c95 100644 (file)
@@ -88,14 +88,14 @@ append_arg (int *index, LPWSTR dir, LPWSTR value,
     {
       /* no dir prefix */
       dirlen = 0;
-      fullvalue = xmalloc ((vallen + 1) * sizeof(TCHAR));
+      fullvalue = (LPWSTR) xmalloc ((vallen + 1) * sizeof(TCHAR));
     }
   else
     {
       /* Add dir first */
       dirlen = _tcslen (dir);
 
-      fullvalue = xmalloc ((dirlen + vallen + 1) * sizeof(TCHAR));
+      fullvalue = (LPWSTR) xmalloc ((dirlen + vallen + 1) * sizeof(TCHAR));
       _tcscpy (fullvalue, dir);
     }
 
@@ -203,7 +203,7 @@ __gnat_initialize (void *eh ATTRIBUTE_UNUSED)
                     if (ldir != NULL)
                       {
                         int n = ldir - wargv[k] + 1;
-                        dir = xmalloc ((n + 1) * sizeof (TCHAR));
+                        dir = (LPWSTR) xmalloc ((n + 1) * sizeof (TCHAR));
                         _tcsncpy (dir, wargv[k], n);
                         dir[n] = _T('\0');
                       }
index 89c9ea48e090259aa574c68eec1c7c872ad93586..a7f3879577aa5d1820fbb0a6a8a7ea622e78532a 100644 (file)
@@ -90,7 +90,7 @@ __gnat_SEH_error_handler (struct _EXCEPTION_RECORD* ExceptionRecord,
       */
       if ((ExceptionRecord->ExceptionInformation[1] & 3) != 0
          || IsBadCodePtr
-         ((void *)(ExceptionRecord->ExceptionInformation[1] + 4096)))
+         ((FARPROC)(ExceptionRecord->ExceptionInformation[1] + 4096)))
        {
          exception = &program_error;
          msg = "EXCEPTION_ACCESS_VIOLATION";
index ff2a3b6cfdb0a3b04737f33d182f9dae853d7808..08c5b3bdc7c032fb0329163bf776c01397a9fdd7 100644 (file)
@@ -326,7 +326,7 @@ struct layout
 
 #if defined (__WIN32)
 #include <windows.h>
-#define IS_BAD_PTR(ptr) (IsBadCodePtr((void *)ptr))
+#define IS_BAD_PTR(ptr) (IsBadCodePtr((FARPROC)ptr))
 #elif defined (sun)
 #define IS_BAD_PTR(ptr) ((unsigned long)ptr == -1UL)
 #else