dbxout.c (get_lang_number): New.

* dbxout.c (get_lang_number): New.
       (dbxout_init): Include lang number in N_SO  stab.
       * dbxout.h (N_SO_AS, N_SO_C, N_SO_ANSI_C, N_SO_CC, N_SO_FORTRAN,
       N_SO_PASCAL, N_SO_FORTRAN90, N_SO_OBJC, N_SO_OBJCPLUS): New #define.

testsuite
       * gcc.dg/20040813-1.c: New test.

From-SVN: r87663
This commit is contained in:
Devang Patel 2004-09-17 11:47:19 -07:00 committed by Devang Patel
parent 7eae8eb2b1
commit 0456cbf665
5 changed files with 63 additions and 2 deletions

View File

@ -1,3 +1,10 @@
2004-09-17 Devang Patel <dpatel@apple.com>
* dbxout.c (get_lang_number): New.
(dbxout_init): Include lang number in N_SO stab.
* dbxout.h (N_SO_AS, N_SO_C, N_SO_ANSI_C, N_SO_CC, N_SO_FORTRAN,
N_SO_PASCAL, N_SO_FORTRAN90, N_SO_OBJC, N_SO_OBJCPLUS): New #define.
2004-09-17 Diego Novillo <dnovillo@redhat.com>
PR tree-optimization/17273

View File

@ -343,6 +343,7 @@ static void emit_pending_bincls (void);
static inline void emit_pending_bincls_if_required (void);
static void dbxout_init (const char *);
static unsigned int get_lang_number (void);
static void dbxout_finish (const char *);
static void dbxout_start_source_file (unsigned, const char *);
static void dbxout_end_source_file (unsigned);
@ -489,6 +490,30 @@ dbxout_function_end (void)
}
#endif /* DBX_DEBUGGING_INFO */
/* Get lang description for N_SO stab. */
static unsigned int
get_lang_number (void)
{
const char *language_string = lang_hooks.name;
if (strcmp (language_string, "GNU C") == 0)
return N_SO_C;
else if (strcmp (language_string, "GNU C++") == 0)
return N_SO_CC;
else if (strcmp (language_string, "GNU F77") == 0)
return N_SO_FORTRAN;
else if (strcmp (language_string, "GNU F95") == 0)
return N_SO_FORTRAN90; /* CHECKME */
else if (strcmp (language_string, "GNU Pascal") == 0)
return N_SO_PASCAL;
else if (strcmp (language_string, "GNU Objective-C") == 0)
return N_SO_OBJC;
else
return 0;
}
/* At the beginning of compilation, start writing the symbol table.
Initialize `typevec' and output the standard data types of C. */
@ -521,7 +546,7 @@ dbxout_init (const char *input_file_name)
#else /* no DBX_OUTPUT_MAIN_SOURCE_DIRECTORY */
fprintf (asmfile, "%s", ASM_STABS_OP);
output_quoted_string (asmfile, cwd);
fprintf (asmfile, ",%d,0,0,", N_SO);
fprintf (asmfile, ",%d,0,%d,", N_SO, get_lang_number ());
assemble_name (asmfile, ltext_label_name);
fputc ('\n', asmfile);
#endif /* no DBX_OUTPUT_MAIN_SOURCE_DIRECTORY */
@ -536,7 +561,7 @@ dbxout_init (const char *input_file_name)
/* Used to put `Ltext:' before the reference, but that loses on sun 4. */
fprintf (asmfile, "%s", ASM_STABS_OP);
output_quoted_string (asmfile, input_file_name);
fprintf (asmfile, ",%d,0,0,", N_SO);
fprintf (asmfile, ",%d,0,%d,", N_SO, get_lang_number ());
assemble_name (asmfile, ltext_label_name);
fputc ('\n', asmfile);
text_section ();

View File

@ -27,4 +27,15 @@ extern void dbxout_parms (tree);
extern void dbxout_reg_parms (tree);
extern int dbxout_syms (tree);
/* Language description for N_SO stabs. */
#define N_SO_AS 1
#define N_SO_C 2
#define N_SO_ANSI_C 3
#define N_SO_CC 4 /* c++*/
#define N_SO_FORTRAN 5
#define N_SO_PASCAL 6
#define N_SO_FORTRAN90 7
#define N_SO_OBJC 50
#define N_SO_OBJCPLUS 51
#endif /* GCC_DBXOUT_H */

View File

@ -1,3 +1,7 @@
2004-09-17 Devang Patel <dpatel@apple.com>
* gcc.dg/20040813-1.c: New test.
2004-09-17 Diego Novillo <dnovillo@redhat.com>
PR tree-optimization/17273

View File

@ -0,0 +1,14 @@
/* Test lang in N_SO stab. */
/* Contributed by Devang Patel <dpatel@apple.com> */
/* { dg-do compile } */
/* { dg-options "-gstabs" } */
int
main ()
{
return 0;
}
/* { dg-final { scan-assembler ".stabs*100,0,2" } } */