+ file = as_where (&lineno);
+
+ /* Don't emit sequences of stabs for the same line. */
+ if (prev_file == NULL)
+ {
+ /* First time through. */
+ prev_file = xstrdup (file);
+ prev_lineno = lineno;
+ }
+ else if (lineno == prev_lineno
+ && filename_cmp (file, prev_file) == 0)
+ {
+ /* Same file/line as last time. */
+ return;
+ }
+ else
+ {
+ /* Remember file/line for next time. */
+ prev_lineno = lineno;
+ if (filename_cmp (file, prev_file) != 0)
+ {
+ free (prev_file);
+ prev_file = xstrdup (file);
+ }
+ }