winapi: Add some more __stdcall synonyms.
Signed-off-by: Francois Gouget <fgouget@free.fr> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
5a61202f3e
commit
b9181615a9
|
@ -37,7 +37,7 @@ use c_type;
|
||||||
my $CALL_CONVENTION="__cdecl|__stdcall|" .
|
my $CALL_CONVENTION="__cdecl|__stdcall|" .
|
||||||
"__RPC_API|__RPC_STUB|__RPC_USER|" .
|
"__RPC_API|__RPC_STUB|__RPC_USER|" .
|
||||||
"CALLBACK|CDECL|NTAPI|PASCAL|RPC_ENTRY|RPC_VAR_ENTRY|" .
|
"CALLBACK|CDECL|NTAPI|PASCAL|RPC_ENTRY|RPC_VAR_ENTRY|" .
|
||||||
"VFWAPI|VFWAPIV|WINAPI|WINAPIV|APIENTRY|";
|
"SEC_ENTRY|VFWAPI|VFWAPIV|WINGDIPAPI|WMIAPI|WINAPI|WINAPIV|APIENTRY|";
|
||||||
|
|
||||||
|
|
||||||
sub parse_c_function($$$$$);
|
sub parse_c_function($$$$$);
|
||||||
|
@ -1735,7 +1735,7 @@ sub parse_c_variable($$$$$$$)
|
||||||
$type = $self->_format_c_type($type);
|
$type = $self->_format_c_type($type);
|
||||||
|
|
||||||
last finished;
|
last finished;
|
||||||
} elsif(s/^((?:enum\s+|interface\s+|struct\s+|union\s+)?\w+\b(?:\s*\*)*\s*\(\s*(?:$CALL_CONVENTION)?(?:\s*\*)*)\s*(\w+)\s*(\)\s*\(.*?\))$//s) {
|
} elsif(s/^((?:enum\s+|interface\s+|struct\s+|union\s+)?\w+\b(?:\s*\*)*\s*\(\s*(?:$CALL_CONVENTION)?(?:\s+DECLSPEC_[A-Z]+)?(?:\s*\*)*)\s*(\w+)\s*(\)\s*\(.*?\))$//s) {
|
||||||
$type = $self->_format_c_type("$sign$1$3");
|
$type = $self->_format_c_type("$sign$1$3");
|
||||||
$name = $2;
|
$name = $2;
|
||||||
|
|
||||||
|
|
|
@ -309,7 +309,7 @@ sub calling_convention16($) {
|
||||||
} elsif(/^(?:VFWAPIV|WINAPIV)$/) {
|
} elsif(/^(?:VFWAPIV|WINAPIV)$/) {
|
||||||
if(!defined($suffix)) { return undef; }
|
if(!defined($suffix)) { return undef; }
|
||||||
return "pascal$suffix"; # FIXME: Is this correct?
|
return "pascal$suffix"; # FIXME: Is this correct?
|
||||||
} elsif(/^(?:__stdcall|__RPC_STUB|__RPC_USER|NET_API_FUNCTION|RPC_ENTRY|VFWAPI|WINAPI|CALLBACK)$/) {
|
} elsif(/^(?:__stdcall|__RPC_STUB|__RPC_USER|NET_API_FUNCTION|RPC_ENTRY|SEC_ENTRY|VFWAPI|WINGDIPAPI|WMIAPI|WINAPI|CALLBACK)$/) {
|
||||||
if(!defined($suffix)) { return undef; }
|
if(!defined($suffix)) { return undef; }
|
||||||
return "pascal$suffix";
|
return "pascal$suffix";
|
||||||
} elsif($_ eq "__asm") {
|
} elsif($_ eq "__asm") {
|
||||||
|
@ -327,7 +327,7 @@ sub calling_convention32($) {
|
||||||
return "cdecl";
|
return "cdecl";
|
||||||
} elsif(/^(?:VFWAPIV|WINAPIV)$/) {
|
} elsif(/^(?:VFWAPIV|WINAPIV)$/) {
|
||||||
return "varargs";
|
return "varargs";
|
||||||
} elsif(/^(?:__stdcall|__RPC_STUB|__RPC_USER|NET_API_FUNCTION|RPC_ENTRY|VFWAPI|WINAPI|CALLBACK)$/) {
|
} elsif(/^(?:__stdcall|__RPC_STUB|__RPC_USER|NET_API_FUNCTION|RPC_ENTRY|SEC_ENTRY|VFWAPI|WINGDIPAPI|WMIAPI|WINAPI|CALLBACK)$/) {
|
||||||
return "stdcall";
|
return "stdcall";
|
||||||
} elsif($_ eq "__asm") {
|
} elsif($_ eq "__asm") {
|
||||||
return "asm";
|
return "asm";
|
||||||
|
|
|
@ -85,7 +85,7 @@ sub _check_function($$$$$$) {
|
||||||
$implemented_calling_convention = "cdecl";
|
$implemented_calling_convention = "cdecl";
|
||||||
} elsif($calling_convention =~ /^(?:VFWAPIV|WINAPIV)$/) {
|
} elsif($calling_convention =~ /^(?:VFWAPIV|WINAPIV)$/) {
|
||||||
$implemented_calling_convention = "varargs";
|
$implemented_calling_convention = "varargs";
|
||||||
} elsif($calling_convention =~ /^(?:__stdcall|__RPC_STUB|__RPC_USER|NET_API_FUNCTION|RPC_ENTRY|VFWAPI|WINAPI|CALLBACK)$/) {
|
} elsif($calling_convention =~ /^(?:__stdcall|__RPC_STUB|__RPC_USER|NET_API_FUNCTION|RPC_ENTRY|SEC_ENTRY|VFWAPI|WINGDIPAPI|WMIAPI|WINAPI|CALLBACK)$/) {
|
||||||
if(defined($implemented_return_kind) && $implemented_return_kind =~ /^(?:s_word|word|void)$/) {
|
if(defined($implemented_return_kind) && $implemented_return_kind =~ /^(?:s_word|word|void)$/) {
|
||||||
$implemented_calling_convention = "pascal16";
|
$implemented_calling_convention = "pascal16";
|
||||||
} else {
|
} else {
|
||||||
|
@ -101,7 +101,7 @@ sub _check_function($$$$$$) {
|
||||||
$implemented_calling_convention = "cdecl";
|
$implemented_calling_convention = "cdecl";
|
||||||
} elsif($calling_convention =~ /^(?:VFWAPIV|WINAPIV)$/) {
|
} elsif($calling_convention =~ /^(?:VFWAPIV|WINAPIV)$/) {
|
||||||
$implemented_calling_convention = "varargs";
|
$implemented_calling_convention = "varargs";
|
||||||
} elsif($calling_convention =~ /^(?:__stdcall|__RPC_STUB|__RPC_USER|APIENTRY|NET_API_FUNCTION|RPC_ENTRY|VFWAPI|WINAPI|CALLBACK)$/) {
|
} elsif($calling_convention =~ /^(?:__stdcall|__RPC_STUB|__RPC_USER|APIENTRY|NET_API_FUNCTION|RPC_ENTRY|SEC_ENTRY|VFWAPI|WINGDIPAPI|WMIAPI|WINAPI|CALLBACK)$/) {
|
||||||
if(defined($implemented_return_kind) && $implemented_return_kind eq "longlong") {
|
if(defined($implemented_return_kind) && $implemented_return_kind eq "longlong") {
|
||||||
$implemented_calling_convention = "stdcall"; # FIXME: Check entry flags
|
$implemented_calling_convention = "stdcall"; # FIXME: Check entry flags
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -28,7 +28,7 @@ my $CALL_CONVENTION="__cdecl|__stdcall|" .
|
||||||
"__RPC_API|__RPC_STUB|__RPC_USER|RPC_ENTRY|" .
|
"__RPC_API|__RPC_STUB|__RPC_USER|RPC_ENTRY|" .
|
||||||
"RPC_VAR_ENTRY|STDMETHODCALLTYPE|NET_API_FUNCTION|" .
|
"RPC_VAR_ENTRY|STDMETHODCALLTYPE|NET_API_FUNCTION|" .
|
||||||
"CALLBACK|CDECL|NTAPI|PASCAL|APIENTRY|" .
|
"CALLBACK|CDECL|NTAPI|PASCAL|APIENTRY|" .
|
||||||
"VFWAPI|VFWAPIV|WINAPI|WINAPIV|";
|
"SEC_ENTRY|VFWAPI|VFWAPIV|WINGDIPAPI|WMIAPI|WINAPI|WINAPIV|";
|
||||||
|
|
||||||
sub parse_c_file($$) {
|
sub parse_c_file($$) {
|
||||||
my $file = shift;
|
my $file = shift;
|
||||||
|
|
Loading…
Reference in New Issue