Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Case sensitivity issue

Ibrahim_A_
Novice
481 Views

I am running Intel fortran in Visual Studio. The code used to be case- insensitive, but it accidently changed to be case-sensitive now. I may have changed something in the settings. How can I turn it back to case-insensitive?

0 Kudos
1 Solution
Steve_Lionel
Black Belt Retired Employee
465 Views

There is a compiler option /names. If you changed it to /names:as_is, you'll see that behavior. Remove the option. (My usual advice is to never use /names - if you need to adjust for case-sensitive external names, use BIND(C,NAME=) or an interface block with !DEC$ ATTRIBUTES ALIAS.)

View solution in original post

10 Replies
Steve_Lionel
Black Belt Retired Employee
466 Views

There is a compiler option /names. If you changed it to /names:as_is, you'll see that behavior. Remove the option. (My usual advice is to never use /names - if you need to adjust for case-sensitive external names, use BIND(C,NAME=) or an interface block with !DEC$ ATTRIBUTES ALIAS.)

Ibrahim_A_
Novice
352 Views

How can I access the names option in visual studio? I have searched it but I couldn't find it.

Arjen_Markus
Valued Contributor III
346 Views

If you open the Properties for a project or a particular source file, select the tab External Procedures - the Name Case Interpretation option is the one you want. Set it to Default.

Ibrahim_A_
Novice
343 Views

/names is set to default but the code throws an error if the case is not matching.

Arjen_Markus
Valued Contributor III
340 Views

Can it be that some part of the code has been compiled with /names set to some other value? Or are you calling C functions?

Steve_Lionel
Black Belt Retired Employee
337 Views

In the project properties, go to Fortran > Command Line. Is anything showing under Additional Options? If so, remove it. Make sure you are looking at the current configuration that you are building.

If /names shows under All Options, you have it set somewhere in the project.

Ibrahim_A_
Novice
337 Views

The value of /names is the default in the other parts of the.

Yes, I'm using interoperable C calls in this code.

Arjen_Markus
Valued Contributor III
334 Views

Then you should be aware that the names of C Functions are case-sensitive and the names of Fortran routines (in general) are not. As Steve suggested, use the BIND(C,name="...") attribute to bridge the naming confusion between C and Fortran.

Ibrahim_A_
Novice
326 Views

Steve,

I had /fpe-all:0 in the additional options. When I removed it, the code is still case-sensitive.

@Arjen_Markus ,

I had the interoperable calls commented out to deactivate them, but the code is still case-sensitive.

Steve_Lionel
Black Belt Retired Employee
309 Views

The /fpe-all is fine. Please attach a zip of 1) the source where the bad reference occurs, 2) the buildlog.htm from a rebuild of the project (in the debug or release folder, 3) the .vfproj file.

Reply