The special handling of C++ special symbol
generates symbols that have no language.
Those symbols cannot be displayed correctly in the backtrace stack.
See
https://sourceware.org/bugzilla/show_bug.cgi?id=17811
for details and examples in C++ and pascal language.
The patch below fixes this issue, by
setting language of new symbol before
special handling of special C++ symbols.
2015-01-07  Pierre Muller  <muller@sourceware.org>
	PR symtab/17811
	* stabsread.c (define_symbol): Set language for C++ special symbols.
+2015-01-07  Pierre Muller  <muller@sourceware.org>
+
+       PR symtab/17811
+       * stabsread.c (define_symbol): Set language for C++ special symbols.
+
 2015-01-07  Patrick Palka  <patrick@parcs.ath.cx>
 
        * inflow.c (initial_gdb_ttystate): Tweak comment.
 
       SYMBOL_LINE (sym) = 0;   /* unknown */
     }
 
+  SYMBOL_SET_LANGUAGE (sym, current_subfile->language,
+                      &objfile->objfile_obstack);
+
   if (is_cplus_marker (string[0]))
     {
       /* Special GNU C++ names.  */
   else
     {
     normal:
-      SYMBOL_SET_LANGUAGE (sym, current_subfile->language,
-                          &objfile->objfile_obstack);
       if (SYMBOL_LANGUAGE (sym) == language_cplus)
        {
          char *name = alloca (p - string + 1);