analyzer: fix build error with clang (PR 93543)
authorDavid Malcolm <dmalcolm@redhat.com>
Tue, 28 Jan 2020 21:31:01 +0000 (16:31 -0500)
committerDavid Malcolm <dmalcolm@redhat.com>
Tue, 4 Feb 2020 15:38:56 +0000 (10:38 -0500)
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=243681 reports a build
failure with clang 9.0.1:

gcc/analyzer/engine.cc:2971:13: error:
      reinterpret_cast from 'nullptr_t' to 'function *' is not allowed
  v.m_fun = reinterpret_cast<function *> (NULL);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
engine.cc:2983:21: error:
      reinterpret_cast from 'nullptr_t' to 'function *' is not allowed
  return v.m_fun == reinterpret_cast<function *> (NULL);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The casts appears to be unnecessary; eliminate them.

gcc/analyzer/ChangeLog:
PR analyzer/93543
* engine.cc (pod_hash_traits<function_call_string>::mark_empty):
Eliminate reinterpret_cast.
(pod_hash_traits<function_call_string>::is_empty): Likewise.

gcc/analyzer/ChangeLog
gcc/analyzer/engine.cc

index 4f0d014..8089280 100644 (file)
@@ -1,3 +1,10 @@
+2020-02-04  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93543
+       * engine.cc (pod_hash_traits<function_call_string>::mark_empty):
+       Eliminate reinterpret_cast.
+       (pod_hash_traits<function_call_string>::is_empty): Likewise.
+
 2020-02-03  David Malcolm  <dmalcolm@redhat.com>
 
        * constraint-manager.cc (range::constrained_to_single_element):
index 90f7067..81b8a76 100644 (file)
@@ -2962,7 +2962,7 @@ template <>
 inline void
 pod_hash_traits<function_call_string>::mark_empty (value_type &v)
 {
-  v.m_fun = reinterpret_cast<function *> (NULL);
+  v.m_fun = NULL;
 }
 template <>
 inline bool
@@ -2974,7 +2974,7 @@ template <>
 inline bool
 pod_hash_traits<function_call_string>::is_empty (value_type v)
 {
-  return v.m_fun == reinterpret_cast<function *> (NULL);
+  return v.m_fun == NULL;
 }
 
 namespace ana {