aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/read.c12
2 files changed, 15 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 789e035..0ac1757 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2005-08-07 Nick Clifton <nickc@redhat.com>
+
+ * read.c (s_app_line): Accept a line number of 0 for compatibility
+ with gcc's output for assembler-with-cpp files.
+
2005-08-05 Paul Brook <paul@codesourcery.com>
* config/tc-arm.c (current_it_mask, current_cc): New variables.
diff --git a/gas/read.c b/gas/read.c
index 7b66707..f6bc66f 100644
--- a/gas/read.c
+++ b/gas/read.c
@@ -1698,9 +1698,17 @@ s_app_line (int ignore ATTRIBUTE_UNUSED)
/* The given number is that of the next line. */
l = get_absolute_expression () - 1;
- if (l < 0)
+
+ if (l < -1)
/* Some of the back ends can't deal with non-positive line numbers.
- Besides, it's silly. */
+ Besides, it's silly. GCC however will generate a line number of
+ zero when it is pre-processing builtins for assembler-with-cpp files:
+
+ # 0 "<built-in>"
+
+ We do not want to barf on this, especially since such files are used
+ in the GCC and GDB testsuites. So we check for negative line numbers
+ rather than non-positive line numbers. */
as_warn (_("line numbers must be positive; line number %d rejected"),
l + 1);
else