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

fpp error

nrelhpc
Einsteiger
2.889Aufrufe

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 Antworten
Steve_Lionel
Geehrter Beitragender III
2.884Aufrufe

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

nrelhpc
Einsteiger
2.882Aufrufe

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

nrelhpc
Einsteiger
2.875Aufrufe

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
Geehrter Beitragender III
2.867Aufrufe

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
Geehrter Beitragender III
2.856Aufrufe

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

nrelhpc
Einsteiger
2.851Aufrufe

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
Geehrter Beitragender III
2.843Aufrufe

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

Antworten