https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87309
--- Comment #5 from David Malcolm <dmalcolm at gcc dot gnu.org> --- Author: dmalcolm Date: Fri Sep 21 14:17:07 2018 New Revision: 264481 URL: https://gcc.gnu.org/viewcvs?rev=264481&root=gcc&view=rev Log: dumpfile.c: fix stray dump_loc output (PR tree-optimization/87309) In r262891 I reimplemented this call: dump_printf_loc (MSG_NOTE, loc, "=== %s ===\n", name); in dump_begin_scope to use direct calls to dump_loc: if (dump_file) { dump_loc (MSG_NOTE, dump_file, loc.get_location_t ()); fprintf (dump_file, "=== %s ===\n", name); } if (alt_dump_file) { dump_loc (MSG_NOTE, alt_dump_file, loc.get_location_t ()); fprintf (alt_dump_file, "=== %s ===\n", name); } However ::dump_loc doesn't filter with pflags and alt_flags. This lead to stray output of the form: test.cpp:1:6: note: test.cpp:1:11: note: when using -fopt-info with "optimized" or "missed". This patch adds this missing filtering, eliminating the stray partial note output. gcc/ChangeLog: PR tree-optimization/87309 * dumpfile.c (dump_context::begin_scope): Filter the dump_loc calls with pflags and alt_flags. (selftest::test_capture_of_dump_calls): Add test of interaction of MSG_OPTIMIZED_LOCATIONS with AUTO_DUMP_SCOPE. gcc/testsuite/ChangeLog: PR tree-optimization/87309 * gcc.dg/pr87309.c: New test. Added: trunk/gcc/testsuite/gcc.dg/pr87309.c Modified: trunk/gcc/ChangeLog trunk/gcc/dumpfile.c trunk/gcc/testsuite/ChangeLog