--- c-common.c~	2006-01-04 09:16:08.000000000 +0000
+++ c-common.c	2006-02-20 19:43:06.000000000 +0000
@@ -5288,8 +5288,9 @@
 
       if (!get_nonnull_operand (TREE_VALUE (args), &arg_num))
 	{
-	  error ("nonnull argument has invalid operand number (argument %lu)",
-		 (unsigned long) attr_arg_num);
+	  if (!(flags & (int) ATTR_FLAG_BUILT_IN))
+	     error ("nonnull argument has invalid operand number (argument %lu)",
+		    (unsigned long) attr_arg_num);
 	  *no_add_attrs = true;
 	  return NULL_TREE;
 	}
@@ -5307,16 +5308,18 @@
 	  if (!argument
 	      || TREE_CODE (TREE_VALUE (argument)) == VOID_TYPE)
 	    {
-	      error ("nonnull argument with out-of-range operand number (argument %lu, operand %lu)",
-		     (unsigned long) attr_arg_num, (unsigned long) arg_num);
+	      if (!(flags & (int) ATTR_FLAG_BUILT_IN))
+		 error ("nonnull argument with out-of-range operand number (argument %lu, operand %lu)",
+		       (unsigned long) attr_arg_num, (unsigned long) arg_num);
 	      *no_add_attrs = true;
 	      return NULL_TREE;
 	    }
 
 	  if (TREE_CODE (TREE_VALUE (argument)) != POINTER_TYPE)
 	    {
-	      error ("nonnull argument references non-pointer operand (argument %lu, operand %lu)",
-		   (unsigned long) attr_arg_num, (unsigned long) arg_num);
+	      if (!(flags & (int) ATTR_FLAG_BUILT_IN))
+		 error ("nonnull argument references non-pointer operand (argument %lu, operand %lu)",
+		        (unsigned long) attr_arg_num, (unsigned long) arg_num);
 	      *no_add_attrs = true;
 	      return NULL_TREE;
 	    }


syntax highlighted by Code2HTML, v. 0.9.1