You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Here PP.setLastFPEvalMethod(PP.getCurrentFPEvalMethod()) saves the eval method (case PFC_NoPrecise).
PP.setCurrentFPEvalMethod(SourceLocation(), CurFPFeatures.getFPEvalMethod()) restores the eval method (case PFC_Pop).
Should it not be restored like PP.setCurrentFPEvalMethod(SourceLocation(), PP.getLastFPEvalMethod())?
Compiling a C++ snippet that did #include <numeric> (from MSVC 14, as distributed with Microsoft Visual Studio 2022) with a newly built Clang 15 produced an outpour of warnings (32-bit x86 build without SSE enabled). This was caused by the initial value 2 for the fp eval method suddenly changing to 0, an illegal value on the platform. Debugging the issue I can see the value 2 is not restored in this code, in effect just set back to a default (0), but this is not even the correct default on x86 (which is 2).