Fix warnings uncovered by building with clang-cl

Move ifdefs to avoid unused static helpers. Move alignment attribute so
that it is respected in GCC and MSVC.

llvm-svn: 265153
This commit is contained in:
Reid Kleckner 2016-04-01 17:09:12 +00:00
parent a8e5c0c200
commit 1992ac75db
2 changed files with 3 additions and 3 deletions

View File

@ -223,6 +223,7 @@ struct ThreadStartParam {
atomic_uintptr_t is_registered; atomic_uintptr_t is_registered;
}; };
#if ASAN_INTERCEPT_PTHREAD_CREATE
static thread_return_t THREAD_CALLING_CONV asan_thread_start(void *arg) { static thread_return_t THREAD_CALLING_CONV asan_thread_start(void *arg) {
ThreadStartParam *param = reinterpret_cast<ThreadStartParam *>(arg); ThreadStartParam *param = reinterpret_cast<ThreadStartParam *>(arg);
AsanThread *t = nullptr; AsanThread *t = nullptr;
@ -233,7 +234,6 @@ static thread_return_t THREAD_CALLING_CONV asan_thread_start(void *arg) {
return t->ThreadStart(GetTid(), &param->is_registered); return t->ThreadStart(GetTid(), &param->is_registered);
} }
#if ASAN_INTERCEPT_PTHREAD_CREATE
INTERCEPTOR(int, pthread_create, void *thread, INTERCEPTOR(int, pthread_create, void *thread,
void *attr, void *(*start_routine)(void*), void *arg) { void *attr, void *(*start_routine)(void*), void *arg) {
EnsureMainThreadIDIsCorrect(); EnsureMainThreadIDIsCorrect();
@ -669,12 +669,12 @@ INTERCEPTOR(long long, atoll, const char *nptr) { // NOLINT
} }
#endif // ASAN_INTERCEPT_ATOLL_AND_STRTOLL #endif // ASAN_INTERCEPT_ATOLL_AND_STRTOLL
#if ASAN_INTERCEPT___CXA_ATEXIT
static void AtCxaAtexit(void *unused) { static void AtCxaAtexit(void *unused) {
(void)unused; (void)unused;
StopInitOrderChecking(); StopInitOrderChecking();
} }
#if ASAN_INTERCEPT___CXA_ATEXIT
INTERCEPTOR(int, __cxa_atexit, void (*func)(void *), void *arg, INTERCEPTOR(int, __cxa_atexit, void (*func)(void *), void *arg,
void *dso_handle) { void *dso_handle) {
#if SANITIZER_MAC #if SANITIZER_MAC

View File

@ -74,7 +74,7 @@ void *internal_memmove(void *dest, const void *src, uptr n) {
// Semi-fast bzero for 16-aligned data. Still far from peak performance. // Semi-fast bzero for 16-aligned data. Still far from peak performance.
void internal_bzero_aligned16(void *s, uptr n) { void internal_bzero_aligned16(void *s, uptr n) {
struct S16 { u64 a, b; } ALIGNED(16); struct ALIGNED(16) S16 { u64 a, b; };
CHECK_EQ((reinterpret_cast<uptr>(s) | n) & 15, 0); CHECK_EQ((reinterpret_cast<uptr>(s) | n) & 15, 0);
for (S16 *p = reinterpret_cast<S16*>(s), *end = p + n / 16; p < end; p++) { for (S16 *p = reinterpret_cast<S16*>(s), *end = p + n / 16; p < end; p++) {
p->a = p->b = 0; p->a = p->b = 0;