- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Hello,
Our program is a combination of C++ and Fortran. Recently, we upgraded the Fortran compiler to ifx2024 or ifx2025. We encountered an issue that seems to be related to the Fortran Preprocessor (fpp) starting from oneAPI2024, which was not present in oneAPI2023 and earlier versions.
Bug Description and Steps to Reproduce:
We have simplified the steps to reproduce the bug. Create two files, Defines.h and main.f, with the following content:
Defines.h
#define some_var 1
#ifdef __cplusplus
#ifdef another_condition
#ifdef _WIN32
#define var_cpp_1 1
typedef _int64 GlobalID;
#endif
#endif /* another_condition */
#endif /* __cplusplus */main.f
PROGRAM MAIN
#include "Defines.h"
PRINT *, some_var
ENDThen, execute the command:
ifx -fpp main.f -o main
This issue occurs with both ifx and ifort in oneAPI2024, as well as with ifx in oneAPI2025.
Based on my observations, the bug appears under the following conditions:
- There is a nested #ifdef closure (at least three levels)
- C++ syntax code is present within the 3-level nested section.
Could Intel experts please provide assistance with this issue? Any fixes or workarounds would be greatly appreciated. Thank you for your help!
Best regards,
Shuhui
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
The documentation says (and has always said), "All fpp preprocessor directives start with the number sign (#) as the first character on a line. White space (blank or tab characters) can appear after the initial # for indentation."
Link kopiert
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Can someone please take a look and verify if it is a bug?
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Intel fpp requires the "#" to be in column 1
Jim Dempsey
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Thank you, Jim. I guess it is a new requirement introduced in oneapi2024.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
The documentation says (and has always said), "All fpp preprocessor directives start with the number sign (#) as the first character on a line. White space (blank or tab characters) can appear after the initial # for indentation."
- RSS-Feed abonnieren
- Thema als neu kennzeichnen
- Thema als gelesen kennzeichnen
- Diesen Thema für aktuellen Benutzer floaten
- Lesezeichen
- Abonnieren
- Drucker-Anzeigeseite