On Thu, Apr 25, 2024 at 02:34:22PM +0200, Martin Jambor wrote: > when looking at a package build issue with GCC 14, Michal Jireš noted a > different behavior of pragma GCC Target. This snippet tries to describe > the gist of the problem. I have left it in the C section even though it > is not really C specific, but could not think of a good name for a new > section for it. Ideas (and any other suggestions for improvements) > welcome, of course.
The change was more subtle. We used to define/undefine the ISA macros in C in GCC 13 and older as well, but only when using integrated preprocessor during compilation, so it didn't work that way with -save-temps or separate -E and -S/-c steps. While in C++ it behaved as if the define/undefines aren't done at all (they were done, but after preprocessing/lexing everything, so didn't affect anything). In GCC 14, it behaves in C++ the same as in C in older versions, and additionally they are defined/undefined also when using separate preprocessing, in both C and C++. Jakub