re PR ada/52123 (gcc bootstrap with ada fails on mingw target)

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
This commit is contained in:
Rainer Emrich 2013-02-14 08:45:09 +00:00 committed by Kai Tietz
parent 99dd6ee0bc
commit be409c7c06
5 changed files with 29 additions and 12 deletions

View 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

View 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);

View 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');
}

View 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";

View 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