From ba1a92332821228d24550c82f0ae5db268910b7c Mon Sep 17 00:00:00 2001 From: Rainer Emrich Date: Wed, 6 Feb 2013 12:01:20 +0000 Subject: [PATCH] re PR ada/52123 (gcc bootstrap with ada fails on mingw target) 2013-02-06 Rainer Emrich 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_map_SEH): Cast from pointer via FARPROC From-SVN: r195803 --- gcc/ada/ChangeLog | 15 +++++++++++++++ gcc/ada/adaint.c | 14 +++++++------- gcc/ada/initialize.c | 6 +++--- gcc/ada/seh_init.c | 2 +- 4 files changed, 26 insertions(+), 11 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index df9cde1..fbacc4f 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,18 @@ +2013-02-06 Rainer Emrich + + 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_map_SEH): Cast from pointer via FARPROC + 2013-02-06 Hristian Kirtchev * gcc-interface/Make-lang.in: Enable System.Stack_Checking.Operations diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c index 4b8ce53..dc94d63 100644 --- a/gcc/ada/adaint.c +++ b/gcc/ada/adaint.c @@ -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]); @@ -2540,9 +2540,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; @@ -2931,7 +2931,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] = ';'; @@ -2941,7 +2941,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); diff --git a/gcc/ada/initialize.c b/gcc/ada/initialize.c index 6b92d27..00c4d04 100644 --- a/gcc/ada/initialize.c +++ b/gcc/ada/initialize.c @@ -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'); } diff --git a/gcc/ada/seh_init.c b/gcc/ada/seh_init.c index 9b3c081..3a2cb51 100644 --- a/gcc/ada/seh_init.c +++ b/gcc/ada/seh_init.c @@ -91,7 +91,7 @@ __gnat_map_SEH (EXCEPTION_RECORD* ExceptionRecord, const char **msg) */ if ((ExceptionRecord->ExceptionInformation[1] & 3) != 0 || IsBadCodePtr - ((void *)(ExceptionRecord->ExceptionInformation[1] + 4096))) + ((FARPROC)(ExceptionRecord->ExceptionInformation[1] + 4096))) { *msg = "EXCEPTION_ACCESS_VIOLATION"; return &program_error; -- 2.7.4