c-convert.c (convert): Make use of do_ubsan_in_current_function.
authorMarek Polacek <polacek@redhat.com>
Mon, 9 Mar 2015 11:57:33 +0000 (11:57 +0000)
committerMarek Polacek <mpolacek@gcc.gnu.org>
Mon, 9 Mar 2015 11:57:33 +0000 (11:57 +0000)
* c-convert.c (convert): Make use of do_ubsan_in_current_function.
* c-decl.c (grokdeclarator): Likewise.
* c-typeck.c (build_binary_op): Likewise.

From-SVN: r221278

gcc/c/ChangeLog
gcc/c/c-convert.c
gcc/c/c-decl.c
gcc/c/c-typeck.c

index 7152fc0..a5fcb35 100644 (file)
@@ -1,3 +1,9 @@
+2015-03-09  Marek Polacek  <polacek@redhat.com>
+
+       * c-convert.c (convert): Make use of do_ubsan_in_current_function.
+       * c-decl.c (grokdeclarator): Likewise.
+       * c-typeck.c (build_binary_op): Likewise.
+
 2015-02-27  Marek Polacek  <polacek@redhat.com>
 
        PR c/65228
index 2cb53f7..27fc3fc 100644 (file)
@@ -121,9 +121,7 @@ convert (tree type, tree expr)
       if (flag_sanitize & SANITIZE_FLOAT_CAST
          && TREE_CODE (TREE_TYPE (expr)) == REAL_TYPE
          && COMPLETE_TYPE_P (type)
-         && current_function_decl != NULL_TREE
-         && !lookup_attribute ("no_sanitize_undefined",
-                               DECL_ATTRIBUTES (current_function_decl)))
+         && do_ubsan_in_current_function ())
        {
          tree arg;
          if (in_late_binary_op)
index 7497858..c140837 100644 (file)
@@ -5837,10 +5837,7 @@ grokdeclarator (const struct c_declarator *declarator,
                    warn_variable_length_array (name, size);
                    if (flag_sanitize & SANITIZE_VLA
                        && decl_context == NORMAL
-                       && current_function_decl != NULL_TREE
-                       && !lookup_attribute ("no_sanitize_undefined",
-                                             DECL_ATTRIBUTES
-                                               (current_function_decl)))
+                       && do_ubsan_in_current_function ())
                      {
                        /* Evaluate the array size only once.  */
                        size = c_save_expr (size);
index a3a9c77..7c6d974 100644 (file)
@@ -11229,9 +11229,7 @@ build_binary_op (location_t location, enum tree_code code,
 
   if ((flag_sanitize & (SANITIZE_SHIFT | SANITIZE_DIVIDE
                        | SANITIZE_FLOAT_DIVIDE))
-      && current_function_decl != 0
-      && !lookup_attribute ("no_sanitize_undefined",
-                           DECL_ATTRIBUTES (current_function_decl))
+      && do_ubsan_in_current_function ()
       && (doing_div_or_mod || doing_shift))
     {
       /* OP0 and/or OP1 might have side-effects.  */