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
327 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
Black Belt Retired Employee
322 Views

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

nrelhpc
Beginner
320 Views

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

nrelhpc
Beginner
313 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

IanH
Black Belt
305 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?

Steve_Lionel
Black Belt Retired Employee
294 Views

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

nrelhpc
Beginner
289 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

Steve_Lionel
Black Belt Retired Employee
281 Views

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

Reply