Skip to content

Commit

Permalink
suppress gcc11 false positive warning
Browse files Browse the repository at this point in the history
Signed-off-by: daquexian <daquexian566@gmail.com>
  • Loading branch information
daquexian committed Jun 11, 2022
1 parent 5686581 commit 69aa969
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions oneflow/core/common/cached_caller.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,17 @@ limitations under the License.
#include "oneflow/core/common/maybe.h"
#include "oneflow/core/common/tuple_hash.h"

// gcc 11 falsely reports error:
// ‘void operator delete(void*, std::size_t)’ called on unallocated object ‘cache’
// However, `DeleteAndClear` is only called after `cache` is allocated in
// if (cache == nullptr) block.
// The reason not to use #pragma GCC diagnostic push/pop is that gcc reports
// the error on the caller of `ThreadLocalCachedCall`.
// TODO: replace ThreadLocalCachedCall with ThreadLocalCached decorator?
#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ >= 11
#pragma GCC diagnostic ignored "-Wfree-nonheap-object"
#endif

namespace oneflow {

template<typename T>
Expand Down

0 comments on commit 69aa969

Please sign in to comment.