test-vectors: Define test vector symbols as extern
authorMartin Willi <martin@revosec.ch>
Thu, 16 Apr 2015 07:38:14 +0000 (09:38 +0200)
committerMartin Willi <martin@revosec.ch>
Thu, 16 Apr 2015 07:38:14 +0000 (09:38 +0200)
We don't actually define a vector, but only prototype the test vector
implemented in a different file. GCC uses the correct symbol during testing,
but clang correctly complains about duplicated symbols during linking.

src/libstrongswan/plugins/test_vectors/test_vectors_plugin.c

index 5c1259c..0505e2c 100644 (file)
 #include <crypto/crypto_tester.h>
 
 /* define symbols of all test vectors */
-#define TEST_VECTOR_CRYPTER(x) crypter_test_vector_t x;
-#define TEST_VECTOR_AEAD(x) aead_test_vector_t x;
-#define TEST_VECTOR_SIGNER(x) signer_test_vector_t x;
-#define TEST_VECTOR_HASHER(x) hasher_test_vector_t x;
-#define TEST_VECTOR_PRF(x) prf_test_vector_t x;
-#define TEST_VECTOR_RNG(x) rng_test_vector_t x;
-#define TEST_VECTOR_DH(x) dh_test_vector_t x;
+#define TEST_VECTOR_CRYPTER(x) extern crypter_test_vector_t x;
+#define TEST_VECTOR_AEAD(x) extern aead_test_vector_t x;
+#define TEST_VECTOR_SIGNER(x) extern signer_test_vector_t x;
+#define TEST_VECTOR_HASHER(x) extern hasher_test_vector_t x;
+#define TEST_VECTOR_PRF(x) extern prf_test_vector_t x;
+#define TEST_VECTOR_RNG(x) extern rng_test_vector_t x;
+#define TEST_VECTOR_DH(x) extern dh_test_vector_t x;
 
 #include "test_vectors.h"