about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-03-25 11:21:33 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-04-17 16:12:40 -0300
commit367d2d90444b50233aae754903898f4c15c181f0 (patch)
tree20ac00c494f3b9534a5adf1c8f1c8d11d4ced969
parenta221274e314e48c3bd749ba3a491b430a864d29c (diff)
downloadglibc-367d2d90444b50233aae754903898f4c15c181f0.tar.gz
glibc-367d2d90444b50233aae754903898f4c15c181f0.tar.xz
glibc-367d2d90444b50233aae754903898f4c15c181f0.zip
elf: Suppress clang warning on tst-unique4
clang warns that the instatiation of the variable is required,
but no definition is available.  They are implemented on
tst-unique4lib.so.

Checked on x86_64-linux-gnu.
-rw-r--r--elf/tst-unique4.cc6
-rw-r--r--elf/tst-unique4lib.cc2
2 files changed, 7 insertions, 1 deletions
diff --git a/elf/tst-unique4.cc b/elf/tst-unique4.cc
index 575c70d3a1..ab727b8dbb 100644
--- a/elf/tst-unique4.cc
+++ b/elf/tst-unique4.cc
@@ -2,7 +2,12 @@
 #include "tst-unique4.h"
 
 #include <cstdio>
+#include <libc-diag.h>
 
+/* clang warns that the instatiation of the variable is required, but no
+   definition is available.  They are implemented on tst-unique4lib.so.  */
+DIAG_PUSH_NEEDS_COMMENT_CLANG;
+DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wundefined-var-template");
 static int a[24] =
   {
     S<1>::i, S<2>::i, S<3>::i, S<4>::i, S<5>::i, S<6>::i, S<7>::i, S<8>::i,
@@ -10,6 +15,7 @@ static int a[24] =
     S<16>::i, S<17>::i, S<18>::i, S<19>::i, S<20>::i, S<21>::i, S<22>::i,
     S<23>::i, S<24>::i
   };
+DIAG_POP_NEEDS_COMMENT_CLANG;
 
 int
 main (void)
diff --git a/elf/tst-unique4lib.cc b/elf/tst-unique4lib.cc
index 17a7cdf567..2829e75cee 100644
--- a/elf/tst-unique4lib.cc
+++ b/elf/tst-unique4lib.cc
@@ -2,7 +2,7 @@
 #include "tst-unique4.h"
 
 template<int N>
-int S<N>::i = N;
+int S<N>::i __attribute__ ((used)) = N;
 template<int N>
 const int S<N>::j __attribute__ ((used)) = -1;