[Openmp-commits] [PATCH] D97348: [libomptarget] Fixed MSVC build fail caused by __attribute__((used)).

Vyacheslav Zakharin via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Wed Feb 24 10:00:47 PST 2021


This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG6baeeb9efa8e: [libomptarget] Fixed MSVC build fail caused by __attribute__((used)). (authored by vzakhari).
Herald added a project: OpenMP.
Herald added a subscriber: openmp-commits.

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D97348/new/

https://reviews.llvm.org/D97348

Files:
  openmp/libomptarget/include/Debug.h


Index: openmp/libomptarget/include/Debug.h
===================================================================
--- openmp/libomptarget/include/Debug.h
+++ openmp/libomptarget/include/Debug.h
@@ -53,8 +53,17 @@
   OMP_INFOTYPE_ALL = 0xffffffff,
 };
 
+#define GCC_VERSION                                                            \
+  (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
+
+#if !defined(__clang__) && defined(__GNUC__) && GCC_VERSION < 70100
+#define USED __attribute__((used))
+#else
+#define USED
+#endif
+
 // Add __attribute__((used)) to work around a bug in gcc 5/6.
-static inline uint32_t __attribute__((used)) getInfoLevel() {
+USED static inline uint32_t getInfoLevel() {
   static uint32_t InfoLevel = 0;
   static std::once_flag Flag{};
   std::call_once(Flag, []() {
@@ -66,7 +75,7 @@
 }
 
 // Add __attribute__((used)) to work around a bug in gcc 5/6.
-static inline uint32_t __attribute__((used)) getDebugLevel() {
+USED static inline uint32_t getDebugLevel() {
   static uint32_t DebugLevel = 0;
   static std::once_flag Flag{};
   std::call_once(Flag, []() {
@@ -77,6 +86,9 @@
   return DebugLevel;
 }
 
+#undef USED
+#undef GCC_VERSION
+
 #ifndef __STDC_FORMAT_MACROS
 #define __STDC_FORMAT_MACROS
 #endif


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D97348.326132.patch
Type: text/x-patch
Size: 1251 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20210224/97c7c110/attachment.bin>


More information about the Openmp-commits mailing list