Ada removes an unnecessary overflow suppression workaround
The Ada front end removes a no-longer-needed workaround for overflow suppression.
This commit eliminates a workaround in the Ada front end related to overflow suppression. The previous mechanism is no longer necessary due to recent changes in how ‘ghost’ code — compiler-generated or ignored elements — is handled and removed. Removing this workaround simplifies the compiler’s codebase and reduces maintenance overhead.
In Details
In the GCC Ada front end, sem_prag.adb handles the analysis and processing of Ada pragmas. This commit removes a specific workaround for overflow suppression within Analyze_Pragma. The justification is that the generalized 'ignored ghost code removal' infrastructure now correctly handles the scenarios that previously necessitated this particular workaround, rendering it redundant.
For Context
Compilers often contain workarounds for specific issues that arise during their development. These are temporary solutions to fix a problem, sometimes making the compiler's code more complex. This change in the Ada part of GCC removes such a workaround, specifically one related to handling how the compiler deals with 'overflow suppression' — a directive that tells the compiler to ignore potential arithmetic overflows. The reason it can be removed is that other recent improvements in how GCC handles 'ghost code' (compiler-generated or ignored parts of your program) have made this specific workaround obsolete, resulting in cleaner and more straightforward compiler code.