Hurd: Make MIG output parsing more robust.
authorThomas Schwinge <thomas@codesourcery.com>
Mon, 6 Jan 2014 15:01:08 +0000 (16:01 +0100)
committerThomas Schwinge <thomas@codesourcery.com>
Sun, 16 Feb 2014 07:26:53 +0000 (08:26 +0100)
gdb/
* reply_mig_hack.awk: In phase 5, keep going if we have not yet
collected the type check structures.

Based on a patch by David Michael <fedora.dm0@gmail.com>.

gdb/ChangeLog
gdb/reply_mig_hack.awk

index 322e4aa85f80fd0c6270c7480dc6255bc5bbfe19..7424b1af28582c441e6f54070dc24275b19ffff9 100644 (file)
@@ -1,5 +1,8 @@
 2014-02-16  Thomas Schwinge  <thomas@codesourcery.com>
 
+       * reply_mig_hack.awk: In phase 5, keep going if we have not yet
+       collected the type check structures.
+
        * reply_mig_hack.awk: Don't expect to see the auto keyword.
 
 2014-02-14  Doug Evans  <dje@google.com>
index 6d276857ec3d40ce60de8a1ba9b40cfadc5eb052..15bfdfb09089688f8a1f7869cb699ff9cbf6fbb0 100644 (file)
@@ -92,6 +92,12 @@ parse_phase == 5 && /^[ \t]*mig_external kern_return_t/ {
 }
 
 parse_phase == 5 && /^#if[ \t]TypeCheck/ {
+  # Keep going if we have not yet collected the type check structures.
+  if (num_checks == 0)
+    {
+      print; next;
+    }
+
   # The first args type checking statement; we need to insert our chunk of
   # code that bypasses all the type checks if this is an error return, after
   # which we're done until we get to the next function.  Handily, the size