pascal

Specifies a Pascal-style calling convention in a procedure declaration

Syntax
	KeyPgSubSub name pascal [KeyPgOverloadOverload] [KeyPgAliasAlias "alias"] ( parameters )
	KeyPgFunctionFunction name pascal [KeyPgOverloadOverload] [KeyPgAliasAlias "alias"] ( parameters ) [ KeyPgByrefFunctionByRef ] 
	KeyPgAsAs return_type

Description
	In procedure declarations, pascal specifies that a procedure will use 
	the pascal calling convention. In the Pascal calling convention, any 
	parameters are to be passed (pushed onto the stack) in the same order in 
	which they are listed, that is, from left to right. The procedures need 
	not preserve the EAX, ECX or EDX registers, and must clean up the stack 
	(pop any parameters) before it returns.

	pascal is not allowed to be used with variadic procedure declarations 
	(those with the last parameter listed as "KeyPgDots...").

	pascal is the default calling convention for procedures in Microsoft 
	QuickBASIC, and is the standard convention used in the Windows 3.1 API.

	If a procedure definition has a declaration (with calling convention 
	explicit or by default) and the definition does not explicitly specify a 
	calling convention, then the calling convention is implied by the 
	declaration.

Example
	Declare Function MyFunc pascal Alias "MyFunc" (MyParm As Integer) As Integer

Differences from QB
	* New to FreeBASIC

See also
	* KeyPgCdeclcdecl, KeyPgStdcallstdcall
	* KeyPgDeclareDeclare
	* KeyPgSubSub, KeyPgFunctionFunction

