Remove obsolete fix tests

Bruce Korb bkorb@sco.COM
Tue Jul 11 09:42:00 GMT 2000


 
2000-07-11  Bruce Korb  <bkorb@gnu.org>

        * fixinc/fixtests.c(double_slash): obsolete
        (else_endif_label): likewise

--- fixtests.c.old	Fri May 12 08:51:55 2000
+++ fixtests.c	Tue Jul 11 08:55:54 2000
@@ -56,8 +56,6 @@
 } test_entry_t;
 
 #define FIX_TEST_TABLE \
-  _FT_( "double_slash",     double_slash_test ) \
-  _FT_( "else_endif_label", else_endif_label_test ) \
   _FT_( "machine_name",     machine_name_test )
 
 
@@ -66,207 +64,6 @@
     tCC* fname; \
     tCC* text;
 
-/*
- *  Skip over a quoted string.  Single quote strings may
- *  contain multiple characters if the first character is
- *  a backslash.  Especially a backslash followed by octal digits.
- *  We are not doing a correctness syntax check here.
- */
-static tCC*
-skip_quote( q, text )
-  char  q;
-  char* text;
-{
-  for (;;)
-    {
-      char ch = *(text++);
-      switch (ch)
-        {
-        case '\\':
-          text++; /* skip over whatever character follows */
-          break;
-
-        case '"':
-        case '\'':
-          if (ch != q)
-            break;
-          /*FALLTHROUGH*/
-
-        case '\n':
-        case NUL:
-          goto skip_done;
-        }
-    } skip_done:;
-
-  return text;
-}
-
-
-TEST_FOR_FIX_PROC_HEAD( double_slash_test )
-{
-  if (is_cxx_header (fname, text))
-    return SKIP_FIX;
-
-  /*  Now look for the comment markers in the text */
-  for (;;)
-    {
-      char ch = *(text++);
-      switch (ch)
-        {
-        case '/':
-          switch (*text) /* do not advance `text' here */
-            {
-            case '/':
-              /*
-                We found a "//" pair in open text.
-                The fix must be applied
-              */
-              return APPLY_FIX;
-
-            case '*':
-              /* We found a C-style comment.  Skip forward to the end */
-              text = strstr( text+1, "*/" );
-              if (text == (char*)NULL)
-                goto test_done;
-              text += 2;
-            }
-          break;
-
-        case NUL:
-          goto test_done;
-
-        case '"':
-        case '\'':
-          text = skip_quote( ch, text );
-        }
-
-    } test_done:;
-
-  return SKIP_FIX;
-}
-
-
-TEST_FOR_FIX_PROC_HEAD( else_endif_label_test )
-{
-  static int compiled = 0;
-  tSCC label_pat[] = "^[ \t]*#[ \t]*(else|endif)";
-  static regex_t label_re;
-
-  char ch;
-  tCC* pz_next;
-  tCC* all_text = text;
-  regmatch_t match[2];
-
-  /*
-     This routine may be run many times within a single execution.
-     Do the compile once only in that case.  In the standalone case,
-     we waste 10 bytes of memory and a test, branch and increment delay.  */
-  if (! compiled)
-    {
-      compiled++;
-      compile_re (label_pat, &label_re, 1,
-		  "label pattern", "else_endif_label_test");
-    }
-
-  for (;;) /* entire file */
-    {
-      /* Find the next else or endif in the file.  */
-      if (regexec (&label_re, text, 2, match, 0) != 0)
-	break;
-      pz_next = text + match[0].rm_eo;
-
-      /* Scan from where we are up to that position, to make sure
-	 we didn't find something in a string or comment.  */
-      while (pz_next > text)
-        {
-          /*
-            Advance the scanning pointer.  If we are at the start
-            of a quoted string or a comment, then skip the entire unit */
-          ch = *(text++);
-
-          switch (ch)
-            {
-            case '/':
-              /*
-                Skip comments */
-              if (*text == '*')
-                {
-                  text = strstr( text+1, "*/" );
-                  if (text == (char*)NULL)
-                    return SKIP_FIX;
-                  text += 2;
-                  continue;
-                }
-              break;
-
-            case '"':
-            case '\'':
-              text = skip_quote( ch, text );
-              break;
-            }
-        }
-      if (pz_next < text)
-	continue;
-
-      /* We're at the end of a real directive.  Check for bogons here.  */
-      for (;;)
-        {
-          char ch = *(pz_next++);
-	  switch (ch)
-	    {
-	    case '\n':
-	      /* It is clean.  No bogons on this directive.  */
-	      goto next_directive;
-
-            case '\\':
-              /* Skip escaped newlines.  Otherwise, we have a bogon.  */
-              if (*pz_next != '\n')
-                return APPLY_FIX;
-
-              pz_next++;
-              break;
-
-            case '/':
-              /* Skip comments.  Otherwise, we have a bogon */
-	      switch (*pz_next)
-		{
-		case '/':
-		  /* // in a C header is a bogon.  */
-                  if (! is_cxx_header( fname, all_text ))
-                    return APPLY_FIX;
-
-                  /* C++ comment is allowed in a C++ header.
-		     Skip to newline and continue. */
-                  pz_next = strchr( pz_next+1, '\n' );
-                  if (pz_next == (char*)NULL)
-                    return SKIP_FIX;
-                  pz_next++;
-                  goto next_directive;
-
-		case '*':
-                  /* A comment for either C++ or C.  Skip over it. */
-                  pz_next = strstr( pz_next+1, "*/" );
-                  if (pz_next == (char*)NULL)
-                    return SKIP_FIX;
-                  pz_next += 2;
-		  break;
-
-		default:
-		  return APPLY_FIX;
-		}
-	      break;
-
-            default:
-	      if (!isspace (ch))
-		return APPLY_FIX;
-            } /* switch (ch) */
-        } /* for (bogon check loop) */
-    next_directive:;
-      text = pz_next;
-    } /* for (entire file) loop */
-
-  return SKIP_FIX;
-}
 
 TEST_FOR_FIX_PROC_HEAD( machine_name_test )
 {


More information about the Gcc-patches mailing list