http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60142

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
BTW, the second line change in the function heuristics also fails for say:
#include <stdarg.h>

void bar (va_list ap);

void
foo (int a, ...)
{
  va_list ap;
  va_start (ap, a);
  bar (ap);
  va_end (ap);
}

on x86_64, even in that case we emit the second line change on the start of the
second basic block, rather than treating all the prologue and prologue-like
basic blocks as no change in the locus (well, if they are out of line, as in
the case of the varargs x86_64 function that might need saving xmm registers,
or in the -fsanitize=address case, the code conditionally jumps out of line and
then branches back, supposedly we need line directive on the out of line part
of the code).  So, does GDB have a disassemble matcher for the ... prologue, or
does that fail too?

Reply via email to