Hi, This is the 4th version of the patch for fixing PR109071.
Compared to the 3nd version: https://gcc.gnu.org/pipermail/gcc-patches/2024-October/666870.html https://gcc.gnu.org/pipermail/gcc-patches/2024-October/666872.html https://gcc.gnu.org/pipermail/gcc-patches/2024-October/666871.html The major improvements to this patch are: 1. Divide the patch into 3 parts: Part 1: Add new data structure move_history, record move_history during transformation; Part 2: In warning analysis, Use the new move_history to form a rich location with a sequence of events, to report more context info of the warnings. Part 3: Add debugging mechanism for move_history. 2. Major change to the above Part 2, completely rewritten based on David's new class lazy_diagnostic_path. 3. Fix all issues identied By Sam; A. fix PR117375 (Bug in tree-ssa-sink.cc); B. documentation clarification; C. Add all the duplicated PRs in the commit comments; 4. Bootstrap GCC with the new -fdiagnostics-details on by default (Init (1)). exposed some ICE similar as PR117375 in tree-ssa-sink.cc, fixed. bootstrapping and regression testing on both x86 and aarch64. Please let me know any comment and suggestion. Thanks. Qing Qing Zhao (3): Provide more contexts for -Warray-bounds, -Wstringop-* warning messages due to code movements from compiler transformation (Part 1) [PR109071,PR85788,PR88771,PR106762,PR108770,PR115274,PR117179] Provide more contexts for -Warray-bounds, -Wstringop-* warning messages due to code movements from compiler transformation (Part 2) [PR109071,PR85788,PR88771,PR106762,PR108770,PR115274,PR117179] Provide more contexts for -Warray-bounds, -Wstringop-* warning messages due to code movements from compiler transformation (Part 3) [PR109071,PR85788,PR88771,PR106762,PR108770,PR115274,PR117179]