BUG: FOR3852 Error Function Returns Type Length Specifier

ID: Q147757

4.00    | 4.00
WINDOWS | WINDOWS NT kbprg kbbuglist

The information in this article applies to:

SYMPTOMS

Declaring a function with the return type specified in the format INTEGER FUNCTION X()*byte(s) causes the following compiler error message to be generated:

   error FOR3852: syntax error detected between ) and *

Additionally, if the function return type is specified in the format INTEGER FUNCTION X*bytes(s) (), the following compiler error and warning message are generated:

   error FOR3852: syntax error detected between ( and )

   -and-

   warning FOR4270: unused symbol

RESOLUTION

Use the INTEGER*byte(s) FUNCTION () return type format.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

The following code demonstrates the problem:

Sample Code

C Compile options needed: none

      INTEGER*4 FUNCTION A()  ! This is okay.
      A = 1
      END FUNCTION

      INTEGER FUNCTION B()*4  ! This causes a compilation error
      B = 2
      END

      INTEGER FUNCTION C*4 () ! This causes compilation error and warning
      C = 3
      END

Additional reference words: 4.00 KBCategory: kbprg kbbuglist KBSubcategory: FORTLngIss
Keywords          : kbFortranPS kbLangFortran kbbuglist
Version           : 4.00    | 4.00
Platform          : NT WINDOWS

Last Reviewed: March 3, 1996