Commit b9361af2 by Olivier Hainque Committed by Eric Botcazou

re PR target/46655 (invalid '.line 0' directive emitted with -g)

	PR target/46655
	* xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
	if <= USHRT_MAX in 32-bit mode.

Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
Co-Authored-By: Michael Haubenwallner <michael.haubenwallner@salomon.at>

From-SVN: r168897
parent f4c69f53
2011-01-17 Olivier Hainque <hainque@adacore.com>
Michael Haubenwallner <michael.haubenwallner@salomon.at>
Eric Botcazou <ebotcazou@adacore.com>
PR target/46655
* xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
if <= USHRT_MAX in 32-bit mode.
2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* doc/install.texi (Configuration, Specific): Wrap long
......
......@@ -81,8 +81,15 @@ const char *xcoff_lastfile;
#define ASM_OUTPUT_LINE(FILE,LINENUM) \
do \
{ \
/* Make sure we're in a function and prevent output of .line 0, as \
line # 0 is meant for symbol addresses in xcoff. Additionally, \
line numbers are 'unsigned short' in 32-bit mode. */ \
if (xcoff_begin_function_line >= 0) \
fprintf (FILE, "\t.line\t%d\n", ABS_OR_RELATIVE_LINENO (LINENUM)); \
{ \
int lno = ABS_OR_RELATIVE_LINENO (LINENUM); \
if (lno > 0 && (TARGET_64BIT || lno <= (int)USHRT_MAX)) \
fprintf (FILE, "\t.line\t%d\n", lno); \
} \
} \
while (0)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment