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

fpp error

nrelhpc
Beginner
1,035 Views

Hi,

I'm trying to use Intel Fortran compiler to compile an application, which produce  an error during configure when running the following command:

fpp -P conftest.c

And the conftest.c is the following:

# include <assert.h>

The error message is

assert.h(106): #error: #if: syntax error.

I tried both intel 2018 and 2020 compiler, and the same thing happened. Does anybody happen to know what may cause this and how to solve it? Many thanks!

 

Hai

 

0 Kudos
7 Replies
Steve_Lionel
Honored Contributor III
1,030 Views

There should be no space between # and include. All fpp directives are # followed immediately by the keyword.

0 Kudos
nrelhpc
Beginner
1,028 Views

Thank you Steve for the suggestion. I deleted that space but got the same error message.

0 Kudos
nrelhpc
Beginner
1,021 Views

I found the problem is caused by the following line:

#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L

fpp doesn't like the long integer 201112 expressed with a suffix “L”. If I deleted that "L", it then passes the test. But this is a system file and I should not change it.

Hai

0 Kudos
IanH
Honored Contributor II
1,013 Views

Why are you pre-processing C source code (the file has a .c extension) with a Fortran preprocessor?

If that file actually contains Fortran source code, why is it trying to include a C standard library header?

0 Kudos
Steve_Lionel
Honored Contributor III
1,002 Views

To add to what Ian said, you aren't using a Fortran compiler at all, just a Fortran-oriented preprocessor.

0 Kudos
nrelhpc
Beginner
997 Views

Hi Steve and Ian,

Thanks for the reply. This is performed by a "configure" script, and I have no idea why it wants to do this. But since this test doesn't pass, the "configure" won't allow me to install this application.

 

Hai

0 Kudos
Steve_Lionel
Honored Contributor III
989 Views

There's an error in the configure script, then. It should not be trying to use fpp on C sources.

0 Kudos
Reply