Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
26758 Discussions

fpp #define case-sensitive, not explicitly in docs?

MWind2
New Contributor I
95 Views

After getting used to upper and lowercase equivalence, it took a bit to realize #define <macro> <value> was case sensitive in use as in:

do i=1, MACRO

does not work.

If right, it would have been a nice addition to fpp docs.

0 Kudos
2 Replies
jimdempseyatthecove
Black Belt
95 Views

FPP is not Fortran, you could, if you wish, use CPP to preprocess the file.

I find it helpful to make use of case sensitivity to correct bugs in the compiler/runtime library.

Assume there is a flaky RTL function (or a function currently not suitable), call it FOOBAR, which in Fortran you can use foobar (case insensitive). When I have found issues with a library function and wish to make a correction, I may choose to use fOoBaR in the source code and then by using FPP and #define or not having a #define, or not using FPP, the same code will compile and selectively choose the desired function. This done without having to insert !DIR$ IF .... conditional code, and then later going back to remove the ugliness from the code.

Make lemonade.

Jim Dempsey

MWind2
New Contributor I
95 Views

It just took me what seemed like a long time to figure out what was wrong with my first use of the ifort fpp with a simple #define IXSIZE (16)" to use in an array length and a do loop.

That is an interesting use of the fpp. Thanks.  

Reply