<html>
<head>
<base href="https://bugs.llvm.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - Compile error when compiling xcpt4u.c of github microsoft compiler-tests"
href="https://bugs.llvm.org/show_bug.cgi?id=50859">50859</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Compile error when compiling xcpt4u.c of github microsoft compiler-tests
</td>
</tr>
<tr>
<th>Product</th>
<td>clang
</td>
</tr>
<tr>
<th>Version</th>
<td>trunk
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Windows NT
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>enhancement
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>LLVM Codegen
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedclangbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>tao.pan@intel.com
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org, neeilans@live.com, richard-llvm@metafoo.co.uk
</td>
</tr></table>
<p>
<div>
<pre>The test file is in
<a href="https://github.com/microsoft/compiler-tests/blob/master/seh/xcpt4u.c">https://github.com/microsoft/compiler-tests/blob/master/seh/xcpt4u.c</a>
Compile error if use cl.exe
D:\llvm\compiler-tests\seh>cl.exe xcpt4u.c
Microsoft (R) C/C++ Optimizing Compiler Version 19.29.30037 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
xcpt4u.c
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(19774):
error C2143: syntax error: missing ')' before '('
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(19774):
error C2059: syntax error: ')'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(19774):
error C2143: syntax error: missing ')' before '->'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(19774):
error C2091: function returns function
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(19774):
error C2143: syntax error: missing '{' before '->'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(19774):
error C2059: syntax error: '->'
More compile error if use clang-cl.exe
$ /c/work/llvm/llvm-project-4/build/Release/bin/clang-cl.exe xcpt4u.c
-fuse-ld=lld
In file included from xcpt4u.c:51:
In file included from C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\windows.h:171:
In file included from C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\shared\windef.h:24:
In file included from C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\shared\minwindef.h:182:
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\winnt.h(19772,1): error: expected ')'
RtlRaiseException(
^
xcpt4u.c(26,21): note: expanded from macro 'RtlRaiseException'
RaiseException((x)->ExceptionCode, (x)->ExceptionFlags,
\
^
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\winnt.h(19772,1): note: to match this '('
xcpt4u.c(26,17): note: expanded from macro 'RtlRaiseException'
RaiseException((x)->ExceptionCode, (x)->ExceptionFlags,
\
^
In file included from xcpt4u.c:51:
In file included from C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\windows.h:172:
In file included from C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\winbase.h:47:
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\errhandlingapi.h(45,1): error: conflicting
types for 'RaiseException'
RaiseException(
^
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\winnt.h(19772,1): note: previous declaration is
here
RtlRaiseException(
^
xcpt4u.c(26,3): note: expanded from macro 'RtlRaiseException'
RaiseException((x)->ExceptionCode, (x)->ExceptionFlags,
\
^
xcpt4u.c(162,11): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
return;
^
xcpt4u.c(191,13): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
return;
^
xcpt4u.c(230,13): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
return;
^
xcpt4u.c(282,11): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
return;
^
xcpt4u.c(322,11): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
return;
^
xcpt4u.c(369,11): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
return;
^
xcpt4u.c(416,11): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
return;
^
xcpt4u.c(462,11): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
return;
^
xcpt4u.c(510,11): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
return;
^
xcpt4u.c(762,43): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
except(printf("Filter1 %d..", *Counter),
~~ ^~~~~~~~
%ld
xcpt4u.c(765,41): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("Handler1 %d..", *Counter);
~~ ^~~~~~~~
%ld
xcpt4u.c(769,41): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("Finally1 %d..", *Counter);
~~ ^~~~~~~~
%ld
xcpt4u.c(775,37): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("Finally2 %d..", *Counter);
~~ ^~~~~~~~
%ld
xcpt4u.c(842,17): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
return;
^
xcpt4u.c(880,9): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
goto Finish;
^
xcpt4u.c(871,11): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
goto Finish;
^
xcpt4u.c(980,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(999,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1014,5): error: too many arguments to function call, expected 1, have
4
RtlRaiseException(&ExceptionRecord);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xcpt4u.c(26,38): note: expanded from macro 'RtlRaiseException'
RaiseException((x)->ExceptionCode, (x)->ExceptionFlags,
\
~~~~~~~~~~~~~~
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\winnt.h(19772,1): note: 'RaiseException'
declared here
RtlRaiseException(
^
xcpt4u.c(26,3): note: expanded from macro 'RtlRaiseException'
RaiseException((x)->ExceptionCode, (x)->ExceptionFlags,
\
^
xcpt4u.c(1019,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1033,5): error: too many arguments to function call, expected 1, have
4
RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xcpt4u.c(24,47): note: expanded from macro 'RtlRaiseStatus'
#define RtlRaiseStatus(x) RaiseException((x), 0, 0, NULL)
~~~~~~~~~~~~~~ ^~~~~~~~~~
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\winnt.h(19772,1): note: 'RaiseException'
declared here
RtlRaiseException(
^
xcpt4u.c(26,3): note: expanded from macro 'RtlRaiseException'
RaiseException((x)->ExceptionCode, (x)->ExceptionFlags,
\
^
xcpt4u.c(1038,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1057,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1073,7): error: too many arguments to function call, expected 1, have
4
RtlRaiseException(&ExceptionRecord);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xcpt4u.c(26,38): note: expanded from macro 'RtlRaiseException'
RaiseException((x)->ExceptionCode, (x)->ExceptionFlags,
\
~~~~~~~~~~~~~~
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\winnt.h(19772,1): note: 'RaiseException'
declared here
RtlRaiseException(
^
xcpt4u.c(26,3): note: expanded from macro 'RtlRaiseException'
RaiseException((x)->ExceptionCode, (x)->ExceptionFlags,
\
^
xcpt4u.c(1088,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1119,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1142,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1165,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1189,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1213,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1238,40): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1249,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1274,40): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1285,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1315,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1342,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1373,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1400,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1419,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1438,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1460,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1487,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1517,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1536,9): error: too many arguments to function call, expected 1, have
4
RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xcpt4u.c(24,47): note: expanded from macro 'RtlRaiseStatus'
#define RtlRaiseStatus(x) RaiseException((x), 0, 0, NULL)
~~~~~~~~~~~~~~ ^~~~~~~~~~
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\winnt.h(19772,1): note: 'RaiseException'
declared here
RtlRaiseException(
^
xcpt4u.c(26,3): note: expanded from macro 'RtlRaiseException'
RaiseException((x)->ExceptionCode, (x)->ExceptionFlags,
\
^
xcpt4u.c(1550,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1572,13): error: too many arguments to function call, expected 1, have
4
RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xcpt4u.c(24,47): note: expanded from macro 'RtlRaiseStatus'
#define RtlRaiseStatus(x) RaiseException((x), 0, 0, NULL)
~~~~~~~~~~~~~~ ^~~~~~~~~~
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\winnt.h(19772,1): note: 'RaiseException'
declared here
RtlRaiseException(
^
xcpt4u.c(26,3): note: expanded from macro 'RtlRaiseException'
RaiseException((x)->ExceptionCode, (x)->ExceptionFlags,
\
^
xcpt4u.c(1590,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1622,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1660,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1682,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1705,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1757,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1785,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1819,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1852,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1872,7): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
continue;
^
xcpt4u.c(1879,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1900,9): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
continue;
^
xcpt4u.c(1911,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1936,7): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
continue;
^
xcpt4u.c(1943,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1971,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(1999,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2033,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2066,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2086,7): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
break;
^
xcpt4u.c(2093,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2114,9): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
break;
^
xcpt4u.c(2125,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2150,7): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
break;
^
xcpt4u.c(2157,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2192,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2226,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2266,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2305,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2331,7): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
break;
^
xcpt4u.c(2338,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2365,9): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
break;
^
xcpt4u.c(2376,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2407,7): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
break;
^
xcpt4u.c(2414,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2443,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2472,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2503,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2547,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2574,9): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
leave;
^
xcpt4u.c(37,15): note: expanded from macro 'leave'
#define leave __leave
^
xcpt4u.c(2587,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2603,5): error: too many arguments to function call, expected 1, have
4
RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xcpt4u.c(24,47): note: expanded from macro 'RtlRaiseStatus'
#define RtlRaiseStatus(x) RaiseException((x), 0, 0, NULL)
~~~~~~~~~~~~~~ ^~~~~~~~~~
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\winnt.h(19772,1): note: 'RaiseException'
declared here
RtlRaiseException(
^
xcpt4u.c(26,3): note: expanded from macro 'RtlRaiseException'
RaiseException((x)->ExceptionCode, (x)->ExceptionFlags,
\
^
xcpt4u.c(2617,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2646,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2667,7): error: too many arguments to function call, expected 1, have
4
RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xcpt4u.c(24,47): note: expanded from macro 'RtlRaiseStatus'
#define RtlRaiseStatus(x) RaiseException((x), 0, 0, NULL)
~~~~~~~~~~~~~~ ^~~~~~~~~~
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\winnt.h(19772,1): note: 'RaiseException'
declared here
RtlRaiseException(
^
xcpt4u.c(26,3): note: expanded from macro 'RtlRaiseException'
RaiseException((x)->ExceptionCode, (x)->ExceptionFlags,
\
^
xcpt4u.c(2682,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2698,5): error: too many arguments to function call, expected 1, have
4
RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xcpt4u.c(24,47): note: expanded from macro 'RtlRaiseStatus'
#define RtlRaiseStatus(x) RaiseException((x), 0, 0, NULL)
~~~~~~~~~~~~~~ ^~~~~~~~~~
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\winnt.h(19772,1): note: 'RaiseException'
declared here
RtlRaiseException(
^
xcpt4u.c(26,3): note: expanded from macro 'RtlRaiseException'
RaiseException((x)->ExceptionCode, (x)->ExceptionFlags,
\
^
xcpt4u.c(2703,7): error: too many arguments to function call, expected 1, have
4
RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xcpt4u.c(24,47): note: expanded from macro 'RtlRaiseStatus'
#define RtlRaiseStatus(x) RaiseException((x), 0, 0, NULL)
~~~~~~~~~~~~~~ ^~~~~~~~~~
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\winnt.h(19772,1): note: 'RaiseException'
declared here
RtlRaiseException(
^
xcpt4u.c(26,3): note: expanded from macro 'RtlRaiseException'
RaiseException((x)->ExceptionCode, (x)->ExceptionFlags,
\
^
xcpt4u.c(2709,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2728,5): error: too many arguments to function call, expected 1, have
4
RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xcpt4u.c(24,47): note: expanded from macro 'RtlRaiseStatus'
#define RtlRaiseStatus(x) RaiseException((x), 0, 0, NULL)
~~~~~~~~~~~~~~ ^~~~~~~~~~
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\winnt.h(19772,1): note: 'RaiseException'
declared here
RtlRaiseException(
^
xcpt4u.c(26,3): note: expanded from macro 'RtlRaiseException'
RaiseException((x)->ExceptionCode, (x)->ExceptionFlags,
\
^
xcpt4u.c(2733,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2749,17): warning: passing 'LONG *' (aka 'long *') to parameter of
type 'PULONG' (aka 'unsigned long *') converts between pointers to integer
types with different sign [-Wpointer-sign]
Test61Part2(&Counter);
^~~~~~~~
xcpt4u.c(105,32): note: passing argument to parameter 'Counter' here
VOID Test61Part2(IN OUT PULONG Counter);
^
xcpt4u.c(2754,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2776,3): warning: '_controlfp' is deprecated: This function or
variable may be unsafe. Consider using _controlfp_s instead. To disable
deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
[-Wdeprecated-declarations]
_controlfp(_controlfp(0, 0) & ~EM_OVERFLOW, _MCW_EM);
^
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\ucrt\float.h(236,27): note: '_controlfp' has been
explicitly marked deprecated here
_CRT_MANAGED_FP_DEPRECATE _CRT_INSECURE_DEPRECATE(_controlfp_s)
^
C:\Program Files (x86)\Microsoft Visual
Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\include\vcruntime.h(320,55):
note: expanded from macro '_CRT_INSECURE_DEPRECATE'
#define _CRT_INSECURE_DEPRECATE(_Replacement) _CRT_DEPRECATE_TEXT( \
^
C:\Program Files (x86)\Microsoft Visual
Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\include\vcruntime.h(310,47):
note: expanded from macro '_CRT_DEPRECATE_TEXT'
#define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
^
xcpt4u.c(2776,14): warning: '_controlfp' is deprecated: This function or
variable may be unsafe. Consider using _controlfp_s instead. To disable
deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
[-Wdeprecated-declarations]
_controlfp(_controlfp(0, 0) & ~EM_OVERFLOW, _MCW_EM);
^
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\ucrt\float.h(236,27): note: '_controlfp' has been
explicitly marked deprecated here
_CRT_MANAGED_FP_DEPRECATE _CRT_INSECURE_DEPRECATE(_controlfp_s)
^
C:\Program Files (x86)\Microsoft Visual
Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\include\vcruntime.h(320,55):
note: expanded from macro '_CRT_INSECURE_DEPRECATE'
#define _CRT_INSECURE_DEPRECATE(_Replacement) _CRT_DEPRECATE_TEXT( \
^
C:\Program Files (x86)\Microsoft Visual
Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\include\vcruntime.h(310,47):
note: expanded from macro '_CRT_DEPRECATE_TEXT'
#define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
^
xcpt4u.c(2791,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2803,3): warning: '_controlfp' is deprecated: This function or
variable may be unsafe. Consider using _controlfp_s instead. To disable
deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
[-Wdeprecated-declarations]
_controlfp(_controlfp(0, 0) | EM_OVERFLOW, 0xfffff);
^
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\ucrt\float.h(236,27): note: '_controlfp' has been
explicitly marked deprecated here
_CRT_MANAGED_FP_DEPRECATE _CRT_INSECURE_DEPRECATE(_controlfp_s)
^
C:\Program Files (x86)\Microsoft Visual
Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\include\vcruntime.h(320,55):
note: expanded from macro '_CRT_INSECURE_DEPRECATE'
#define _CRT_INSECURE_DEPRECATE(_Replacement) _CRT_DEPRECATE_TEXT( \
^
C:\Program Files (x86)\Microsoft Visual
Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\include\vcruntime.h(310,47):
note: expanded from macro '_CRT_DEPRECATE_TEXT'
#define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
^
xcpt4u.c(2803,14): warning: '_controlfp' is deprecated: This function or
variable may be unsafe. Consider using _controlfp_s instead. To disable
deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
[-Wdeprecated-declarations]
_controlfp(_controlfp(0, 0) | EM_OVERFLOW, 0xfffff);
^
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\ucrt\float.h(236,27): note: '_controlfp' has been
explicitly marked deprecated here
_CRT_MANAGED_FP_DEPRECATE _CRT_INSECURE_DEPRECATE(_controlfp_s)
^
C:\Program Files (x86)\Microsoft Visual
Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\include\vcruntime.h(320,55):
note: expanded from macro '_CRT_INSECURE_DEPRECATE'
#define _CRT_INSECURE_DEPRECATE(_Replacement) _CRT_DEPRECATE_TEXT( \
^
C:\Program Files (x86)\Microsoft Visual
Studio\2019\Professional\VC\Tools\MSVC\14.29.30037\include\vcruntime.h(310,47):
note: expanded from macro '_CRT_DEPRECATE_TEXT'
#define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
^
xcpt4u.c(2823,7): error: too many arguments to function call, expected 1, have
4
RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xcpt4u.c(24,47): note: expanded from macro 'RtlRaiseStatus'
#define RtlRaiseStatus(x) RaiseException((x), 0, 0, NULL)
~~~~~~~~~~~~~~ ^~~~~~~~~~
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\winnt.h(19772,1): note: 'RaiseException'
declared here
RtlRaiseException(
^
xcpt4u.c(26,3): note: expanded from macro 'RtlRaiseException'
RaiseException((x)->ExceptionCode, (x)->ExceptionFlags,
\
^
xcpt4u.c(2829,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2845,7): error: too many arguments to function call, expected 1, have
4
RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xcpt4u.c(24,47): note: expanded from macro 'RtlRaiseStatus'
#define RtlRaiseStatus(x) RaiseException((x), 0, 0, NULL)
~~~~~~~~~~~~~~ ^~~~~~~~~~
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\winnt.h(19772,1): note: 'RaiseException'
declared here
RtlRaiseException(
^
xcpt4u.c(26,3): note: expanded from macro 'RtlRaiseException'
RaiseException((x)->ExceptionCode, (x)->ExceptionFlags,
\
^
xcpt4u.c(2849,7): error: too many arguments to function call, expected 1, have
4
RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xcpt4u.c(24,47): note: expanded from macro 'RtlRaiseStatus'
#define RtlRaiseStatus(x) RaiseException((x), 0, 0, NULL)
~~~~~~~~~~~~~~ ^~~~~~~~~~
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\winnt.h(19772,1): note: 'RaiseException'
declared here
RtlRaiseException(
^
xcpt4u.c(26,3): note: expanded from macro 'RtlRaiseException'
RaiseException((x)->ExceptionCode, (x)->ExceptionFlags,
\
^
xcpt4u.c(2855,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2881,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2909,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2942,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2956,7): error: too many arguments to function call, expected 1, have
4
RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xcpt4u.c(24,47): note: expanded from macro 'RtlRaiseStatus'
#define RtlRaiseStatus(x) RaiseException((x), 0, 0, NULL)
~~~~~~~~~~~~~~ ^~~~~~~~~~
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\winnt.h(19772,1): note: 'RaiseException'
declared here
RtlRaiseException(
^
xcpt4u.c(26,3): note: expanded from macro 'RtlRaiseException'
RaiseException((x)->ExceptionCode, (x)->ExceptionFlags,
\
^
xcpt4u.c(2969,7): error: too many arguments to function call, expected 1, have
4
RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xcpt4u.c(24,47): note: expanded from macro 'RtlRaiseStatus'
#define RtlRaiseStatus(x) RaiseException((x), 0, 0, NULL)
~~~~~~~~~~~~~~ ^~~~~~~~~~
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\winnt.h(19772,1): note: 'RaiseException'
declared here
RtlRaiseException(
^
xcpt4u.c(26,3): note: expanded from macro 'RtlRaiseException'
RaiseException((x)->ExceptionCode, (x)->ExceptionFlags,
\
^
xcpt4u.c(2975,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(2995,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(3009,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(3023,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(3037,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(3051,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(3065,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(3079,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(3093,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(3107,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(3121,36): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed, count = %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(3140,21): warning: 'GetVersion' is deprecated
[-Wdeprecated-declarations]
if (LOBYTE(LOWORD(GetVersion())) < 6) {
^
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\sysinfoapi.h(159,1): note: 'GetVersion' has
been explicitly marked deprecated here
NOT_BUILD_WINDOWS_DEPRECATE
^
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\sysinfoapi.h(37,49): note: expanded from macro
'NOT_BUILD_WINDOWS_DEPRECATE'
# define NOT_BUILD_WINDOWS_DEPRECATE __declspec(deprecated)
^
xcpt4u.c(3157,31): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed %d \n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(3171,10): warning: incompatible pointer types passing 'LONG *' (aka
'long *') to parameter of type 'int *' [-Wincompatible-pointer-types]
Test81(&Counter);
^~~~~~~~
xcpt4u.c(576,18): note: passing argument to parameter 'pCounter' here
void Test81(int *pCounter) {
^
xcpt4u.c(3173,29): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed %d \n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(3221,27): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(3231,27): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(3241,27): warning: format specifies type 'int' but the argument has
type 'LONG' (aka 'long') [-Wformat]
printf("failed %d\n", Counter);
~~ ^~~~~~~
%ld
xcpt4u.c(3252,3): error: non-void function 'main' should return a value
[-Wreturn-type]
return;
^
xcpt4u.c(3255,9): warning: '#pragma optimize' is not supported
[-Wignored-pragma-optimize]
#pragma optimize("a", off)
^
xcpt4u.c(1392,7): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
goto t12;
^
xcpt4u.c(1334,7): warning: jump out of __finally block has undefined behavior
[-Wjump-seh-finally]
goto t10;
^
xcpt4u.c(3260,3): error: too many arguments to function call, expected 1, have
4
RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xcpt4u.c(24,47): note: expanded from macro 'RtlRaiseStatus'
#define RtlRaiseStatus(x) RaiseException((x), 0, 0, NULL)
~~~~~~~~~~~~~~ ^~~~~~~~~~
C:\Program Files (x86)\Windows
Kits\10\Include\10.0.19041.0\um\winnt.h(19772,1): note: 'RaiseException'
declared here
RtlRaiseException(
^
xcpt4u.c(26,3): note: expanded from macro 'RtlRaiseException'
RaiseException((x)->ExceptionCode, (x)->ExceptionFlags,
\
^
xcpt4u.c(3264,9): warning: '#pragma optimize' is not supported
[-Wignored-pragma-optimize]
#pragma optimize("", on)
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
121 warnings and 20 errors generated.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>