Commit f489a272 authored by Alexandre Julliard's avatar Alexandre Julliard

Removed support for the 'forward' ordinal type.

parent 85c6ea4e
...@@ -48,7 +48,6 @@ typedef enum ...@@ -48,7 +48,6 @@ typedef enum
TYPE_CDECL, /* cdecl function (Win32) */ TYPE_CDECL, /* cdecl function (Win32) */
TYPE_VARARGS, /* varargs function (Win32) */ TYPE_VARARGS, /* varargs function (Win32) */
TYPE_EXTERN, /* external symbol (Win32) */ TYPE_EXTERN, /* external symbol (Win32) */
TYPE_FORWARD, /* forwarded function (Win32) */
TYPE_NBTYPES TYPE_NBTYPES
} ORD_TYPE; } ORD_TYPE;
......
...@@ -51,8 +51,7 @@ static const char * const TypeNames[TYPE_NBTYPES] = ...@@ -51,8 +51,7 @@ static const char * const TypeNames[TYPE_NBTYPES] =
"stdcall", /* TYPE_STDCALL */ "stdcall", /* TYPE_STDCALL */
"cdecl", /* TYPE_CDECL */ "cdecl", /* TYPE_CDECL */
"varargs", /* TYPE_VARARGS */ "varargs", /* TYPE_VARARGS */
"extern", /* TYPE_EXTERN */ "extern" /* TYPE_EXTERN */
"forward" /* TYPE_FORWARD */
}; };
static const char * const FlagNames[] = static const char * const FlagNames[] =
...@@ -302,19 +301,6 @@ static void ParseExtern( ORDDEF *odp ) ...@@ -302,19 +301,6 @@ static void ParseExtern( ORDDEF *odp )
/******************************************************************* /*******************************************************************
* ParseForward
*
* Parse a 'forward' definition.
*/
static void ParseForward( ORDDEF *odp )
{
if (SpecType == SPEC_WIN16) fatal_error( "'forward' not supported for Win16\n" );
odp->link_name = xstrdup( GetToken(0) );
odp->flags |= FLAG_FORWARD;
}
/*******************************************************************
* ParseFlags * ParseFlags
* *
* Parse the optional flags for an entry point * Parse the optional flags for an entry point
...@@ -402,9 +388,6 @@ static void ParseOrdinal(int ordinal) ...@@ -402,9 +388,6 @@ static void ParseOrdinal(int ordinal)
case TYPE_EXTERN: case TYPE_EXTERN:
ParseExtern( odp ); ParseExtern( odp );
break; break;
case TYPE_FORWARD:
ParseForward( odp );
break;
default: default:
assert( 0 ); assert( 0 );
} }
......
...@@ -168,12 +168,6 @@ static int output_exports( FILE *outfile, int nr_exports ) ...@@ -168,12 +168,6 @@ static int output_exports( FILE *outfile, int nr_exports )
else switch(odp->type) else switch(odp->type)
{ {
case TYPE_EXTERN: case TYPE_EXTERN:
if (!(odp->flags & FLAG_FORWARD))
{
fprintf( outfile, " \"\\t.long " __ASM_NAME("%s") "\\n\"\n", odp->link_name );
break;
}
/* else fall through */
case TYPE_STDCALL: case TYPE_STDCALL:
case TYPE_VARARGS: case TYPE_VARARGS:
case TYPE_CDECL: case TYPE_CDECL:
...@@ -181,12 +175,12 @@ static int output_exports( FILE *outfile, int nr_exports ) ...@@ -181,12 +175,12 @@ static int output_exports( FILE *outfile, int nr_exports )
{ {
fprintf( outfile, " \"\\t.long " __ASM_NAME("%s") "\\n\"\n", fprintf( outfile, " \"\\t.long " __ASM_NAME("%s") "\\n\"\n",
(odp->flags & FLAG_REGISTER) ? make_internal_name(odp,"regs") : odp->link_name ); (odp->flags & FLAG_REGISTER) ? make_internal_name(odp,"regs") : odp->link_name );
break;
} }
/* else fall through */ else
case TYPE_FORWARD: {
fprintf( outfile, " \"\\t.long __wine_spec_forwards+%d\\n\"\n", fwd_size ); fprintf( outfile, " \"\\t.long __wine_spec_forwards+%d\\n\"\n", fwd_size );
fwd_size += strlen(odp->link_name) + 1; fwd_size += strlen(odp->link_name) + 1;
}
break; break;
case TYPE_STUB: case TYPE_STUB:
fprintf( outfile, " \"\\t.long " __ASM_NAME("%s") "\\n\"\n", make_internal_name( odp, "stub" ) ); fprintf( outfile, " \"\\t.long " __ASM_NAME("%s") "\\n\"\n", make_internal_name( odp, "stub" ) );
...@@ -855,9 +849,6 @@ void BuildDef32File(FILE *outfile) ...@@ -855,9 +849,6 @@ void BuildDef32File(FILE *outfile)
} }
break; break;
} }
case TYPE_FORWARD:
fprintf(outfile, "=%s", odp->link_name);
break;
default: default:
assert(0); assert(0);
} }
......
...@@ -205,9 +205,6 @@ syntax is the following: ...@@ -205,9 +205,6 @@ syntax is the following:
.IB ordinal\ equate .IB ordinal\ equate
.RI [ flags ]\ exportname\ data .RI [ flags ]\ exportname\ data
.br .br
.IB ordinal\ forward
.RI [ flags ]\ exportname\ forwardname
.br
.BI #\ comments .BI #\ comments
.PP .PP
Lines whose first character is a Lines whose first character is a
...@@ -393,21 +390,6 @@ This declaration defines an ordinal as an absolute value. ...@@ -393,21 +390,6 @@ This declaration defines an ordinal as an absolute value.
will be the name available for dynamic linking. will be the name available for dynamic linking.
.I data .I data
can be a decimal number or a hex number preceeded by "0x". can be a decimal number or a hex number preceeded by "0x".
.SS "Forwarded ordinals"
Syntax:
.br
.IB ordinal\ forward
.RI [ flags ]\ exportname\ forwardname
.PP
This declaration defines an entry that is forwarded to another entry
point (kind of a symbolic link).
.I exportname
will forward to the
entry point
.I forwardname
that must be of the form
.B DLL.Function.
This declaration only works in Win32 spec files.
.SH "GLUE FUNCTIONS" .SH "GLUE FUNCTIONS"
Glue functions are used to call down to 16-bit code from a 32-bit Glue functions are used to call down to 16-bit code from a 32-bit
function. This is done by declaring a special type of function function. This is done by declaring a special type of function
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment