$OpenBSD: patch-gcc_c-common_c,v 1.1.1.1 2010/10/10 17:39:06 steven Exp $ --- gcc/c-common.c.orig Mon Mar 12 19:50:38 2007 +++ gcc/c-common.c Mon Jun 14 19:23:03 2010 @@ -545,7 +545,9 @@ static tree handle_cleanup_attribute (tree *, tree, tr static tree handle_warn_unused_result_attribute (tree *, tree, tree, int, bool *); static tree handle_sentinel_attribute (tree *, tree, tree, int, bool *); +static tree handle_bounded_attribute (tree *, tree, tree, int, bool *); + static void check_function_nonnull (tree, tree); static void check_nonnull_arg (void *, tree, unsigned HOST_WIDE_INT); static bool nonnull_check_p (tree, unsigned HOST_WIDE_INT); @@ -624,6 +626,8 @@ const struct attribute_spec c_common_attribute_table[] handle_deprecated_attribute }, { "vector_size", 1, 1, false, true, false, handle_vector_size_attribute }, + { "bounded", 3, 4, false, true, false, + handle_bounded_attribute }, { "visibility", 1, 1, false, false, false, handle_visibility_attribute }, { "tls_model", 1, 1, true, false, false, @@ -5635,6 +5639,15 @@ handle_warn_unused_result_attribute (tree *node, tree } return NULL_TREE; +} + +static tree +handle_bounded_attribute (tree *ARG_UNUSED (node), tree ARG_UNUSED (name), + tree ARG_UNUSED (args), + int ARG_UNUSED (flags), bool *no_add_attrs) +{ + *no_add_attrs = true; + return NULL_TREE; } /* Handle a "sentinel" attribute. */