OSDN Git Service
(root)
/
pf3gnuchains
/
gcc-fork.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
2005-05-10 Adrian Straetling <straetling@de.ibm.com>
[pf3gnuchains/gcc-fork.git]
/
gcc
/
xcoffout.c
diff --git
a/gcc/xcoffout.c
b/gcc/xcoffout.c
index
de7528f
..
f2b8a3f
100644
(file)
--- a/
gcc/xcoffout.c
+++ b/
gcc/xcoffout.c
@@
-1,5
+1,5
@@
/* Output xcoff-format symbol table information from GNU compiler.
/* Output xcoff-format symbol table information from GNU compiler.
- Copyright (C) 1992, 1994, 1995, 1997, 1998, 1999, 2000, 2002, 2003
+ Copyright (C) 1992, 1994, 1995, 1997, 1998, 1999, 2000, 2002, 2003
, 2004
Free Software Foundation, Inc.
This file is part of GCC.
Free Software Foundation, Inc.
This file is part of GCC.
@@
-77,8
+77,8
@@
const char *xcoff_lastfile;
#define ABS_OR_RELATIVE_LINENO(LINENO) \
((xcoff_inlining) ? (LINENO) : (LINENO) - xcoff_begin_function_line)
#define ABS_OR_RELATIVE_LINENO(LINENO) \
((xcoff_inlining) ? (LINENO) : (LINENO) - xcoff_begin_function_line)
-/* Output source line numbers via ".line"
rather than ".stabd"
. */
-#define ASM_OUTPUT_
SOURCE_LINE(FILE,LINENUM,COUNTER)
\
+/* Output source line numbers via ".line". */
+#define ASM_OUTPUT_
LINE(FILE,LINENUM)
\
do \
{ \
if (xcoff_begin_function_line >= 0) \
do \
{ \
if (xcoff_begin_function_line >= 0) \
@@
-156,7
+156,7
@@
xcoff_assign_fundamental_type_number (tree decl)
size_t i;
/* Do not waste time searching the list for non-intrinsic types. */
size_t i;
/* Do not waste time searching the list for non-intrinsic types. */
- if (DECL_NAME (decl) == 0 ||
DECL_SOURCE_LINE (decl) > 0
)
+ if (DECL_NAME (decl) == 0 ||
! DECL_IS_BUILTIN (decl)
)
return 0;
name = IDENTIFIER_POINTER (DECL_NAME (decl));
return 0;
name = IDENTIFIER_POINTER (DECL_NAME (decl));
@@
-327,7
+327,7
@@
xcoffout_source_line (unsigned int line, const char *filename)
xcoffout_source_file (asm_out_file, filename, inline_p);
xcoffout_source_file (asm_out_file, filename, inline_p);
- ASM_OUTPUT_
SOURCE_LINE (asm_out_file, line, 0
);
+ ASM_OUTPUT_
LINE (asm_out_file, line
);
}
\f
/* Output the symbols defined in block number DO_BLOCK.
}
\f
/* Output the symbols defined in block number DO_BLOCK.
@@
-405,22
+405,18
@@
xcoffout_end_block (unsigned int line, unsigned int n)
void
xcoffout_declare_function (FILE *file, tree decl, const char *name)
{
void
xcoffout_declare_function (FILE *file, tree decl, const char *name)
{
-
int i
;
+
size_t len
;
if (*name == '*')
name++;
if (*name == '*')
name++;
- else
- for (i = 0; name[i]; ++i)
- {
- if (name[i] == '[')
- {
- char *n = alloca (i + 1);
- strncpy (n, name, i);
- n[i] = '\0';
- name = n;
- break;
- }
- }
+ len = strlen (name);
+ if (name[len - 1] == ']')
+ {
+ char *n = alloca (len - 3);
+ memcpy (n, name, len - 4);
+ n[len - 4] = '\0';
+ name = n;
+ }
/* Any pending .bi or .ei must occur before the .function pseudo op.
Otherwise debuggers will think that the function is in the previous
/* Any pending .bi or .ei must occur before the .function pseudo op.
Otherwise debuggers will think that the function is in the previous
@@
-454,7
+450,7
@@
xcoffout_begin_prologue (unsigned int line,
xcoffout_block (DECL_INITIAL (current_function_decl), 0,
DECL_ARGUMENTS (current_function_decl));
xcoffout_block (DECL_INITIAL (current_function_decl), 0,
DECL_ARGUMENTS (current_function_decl));
- ASM_OUTPUT_
SOURCE_LINE (asm_out_file, line, 0
);
+ ASM_OUTPUT_
LINE (asm_out_file, line
);
}
/* Called at end of function (before epilogue).
}
/* Called at end of function (before epilogue).