Move target #pragma after arm_neon.h include Fix per android/ndk#1945 If the pragma is done before the header include, when using clang compiler attribute may apply to the functions in arm_neon.h Upstream-Status: Submitted [https://github.com/jedisct1/libsodium/pull/1321] Signed-off-by: Khem Raj --- a/thirdparty/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c +++ b/thirdparty/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c @@ -19,12 +19,6 @@ #define __vectorcall #endif -#ifdef __clang__ -#pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function) -#elif defined(__GNUC__) -#pragma GCC target("+simd+crypto") -#endif - #ifndef __ARM_FEATURE_CRYPTO #define __ARM_FEATURE_CRYPTO 1 #endif @@ -34,6 +28,12 @@ #include +#ifdef __clang__ +#pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function) +#elif defined(__GNUC__) +#pragma GCC target("+simd+crypto") +#endif + #define ABYTES crypto_aead_aes256gcm_ABYTES #define NPUBBYTES crypto_aead_aes256gcm_NPUBBYTES #define KEYBYTES crypto_aead_aes256gcm_KEYBYTES