[Openmp-commits] [PATCH] D21304: Bug fix for 26602: Remove function bodies with KMP_ASSERT(0)

Terry Wilmarth via Openmp-commits openmp-commits at lists.llvm.org
Mon Jun 13 12:47:11 PDT 2016


tlwilmar created this revision.
tlwilmar added reviewers: jlpeyton, hbae.
tlwilmar added a subscriber: openmp-commits.
tlwilmar set the repository for this revision to rL LLVM.

Fix for bugzilla https://llvm.org/bugs/show_bug.cgi?id=26602.
Removed functions body consisted of the only KMP_ASSERT(0) statement.
Thus possible runtime crash converted to compile-time error, which
looks preferable (faster possible error detection).

TODO: consider C++11 static assert as an alternative, that could
make the diagnostics better.

Patch by Andrey Churbanov

Repository:
  rL LLVM

http://reviews.llvm.org/D21304

Files:
  runtime/src/kmp_dispatch.cpp

Index: runtime/src/kmp_dispatch.cpp
===================================================================
--- runtime/src/kmp_dispatch.cpp
+++ runtime/src/kmp_dispatch.cpp
@@ -190,7 +190,7 @@
 // test_then_add template (general template should NOT be used)
 template< typename T >
 static __forceinline T
-test_then_add( volatile T *p, T d ) { KMP_ASSERT(0); };
+test_then_add( volatile T *p, T d );
 
 template<>
 __forceinline kmp_int32
@@ -213,7 +213,7 @@
 // test_then_inc_acq template (general template should NOT be used)
 template< typename T >
 static __forceinline T
-test_then_inc_acq( volatile T *p ) { KMP_ASSERT(0); };
+test_then_inc_acq( volatile T *p );
 
 template<>
 __forceinline kmp_int32
@@ -236,7 +236,7 @@
 // test_then_inc template (general template should NOT be used)
 template< typename T >
 static __forceinline T
-test_then_inc( volatile T *p ) { KMP_ASSERT(0); };
+test_then_inc( volatile T *p );
 
 template<>
 __forceinline kmp_int32
@@ -259,7 +259,7 @@
 // compare_and_swap template (general template should NOT be used)
 template< typename T >
 static __forceinline kmp_int32
-compare_and_swap( volatile T *p, T c, T s ) { KMP_ASSERT(0); };
+compare_and_swap( volatile T *p, T c, T s );
 
 template<>
 __forceinline kmp_int32


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21304.60588.patch
Type: text/x-patch
Size: 1257 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20160613/512c9e28/attachment-0001.bin>


More information about the Openmp-commits mailing list