--- c-common.c.orig 2003-10-21 10:20:34.000000000 +0000 +++ c-common.c 2003-10-24 15:52:56.000000000 +0000 @@ -5375,7 +5375,8 @@ if (! get_nonnull_operand (TREE_VALUE (args), &arg_num)) { - error ("nonnull argument has invalid operand number (arg %lu)", + if (!(flags & (int) ATTR_FLAG_BUILT_IN)) + error ("nonnull argument has invalid operand number (arg %lu)", (unsigned long) attr_arg_num); *no_add_attrs = true; return NULL_TREE; @@ -5394,7 +5395,8 @@ if (! argument || TREE_CODE (TREE_VALUE (argument)) == VOID_TYPE) { - error ("nonnull argument with out-of-range operand number (arg %lu, operand %lu)", + if (!(flags & (int) ATTR_FLAG_BUILT_IN)) + error ("nonnull argument with out-of-range operand number (arg %lu, operand %lu)", (unsigned long) attr_arg_num, (unsigned long) arg_num); *no_add_attrs = true; return NULL_TREE; @@ -5402,7 +5404,8 @@ if (TREE_CODE (TREE_VALUE (argument)) != POINTER_TYPE) { - error ("nonnull argument references non-pointer operand (arg %lu, operand %lu)", + if (!(flags & (int) ATTR_FLAG_BUILT_IN)) + error ("nonnull argument references non-pointer operand (arg %lu, operand %lu)", (unsigned long) attr_arg_num, (unsigned long) arg_num); *no_add_attrs = true; return NULL_TREE;