summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorWilliam Todd Stinson <stinson@lindenlab.com>2012-08-27 18:16:47 -0700
committerWilliam Todd Stinson <stinson@lindenlab.com>2012-08-27 18:16:47 -0700
commita1a1410d25c3e4ff87e33344b416b7a827cdb1c2 (patch)
treed12e4cd51175e76f43176667b2ac7300a3bd4d68 /indra
parent99e0c35c40354a3ad4d9e6e0d92a73c15c844441 (diff)
Skipping the realloc alignment test on Linux as the ll_aligned_malloc_16() function is not implemented to ensure alignment on Linux.
Diffstat (limited to 'indra')
-rw-r--r--indra/llcommon/llmemory.h2
-rw-r--r--indra/llmath/tests/alignment_test.cpp4
2 files changed, 6 insertions, 0 deletions
diff --git a/indra/llcommon/llmemory.h b/indra/llcommon/llmemory.h
index 9dd776ff57..08e2a2caa6 100644
--- a/indra/llcommon/llmemory.h
+++ b/indra/llcommon/llmemory.h
@@ -65,6 +65,8 @@ inline void* ll_aligned_realloc_16(void* ptr, size_t size) // returned hunk MUST
#elif defined(LL_DARWIN)
return realloc(ptr,size); // default osx malloc is 16 byte aligned.
#else
+ // The realloc alignment test is skipped on Linux because the ll_aligned_realloc_16()
+ // function is not implemented to ensure alignment (see alignment_test.cpp)
return realloc(ptr,size); // FIXME not guaranteed to be aligned.
#endif
}
diff --git a/indra/llmath/tests/alignment_test.cpp b/indra/llmath/tests/alignment_test.cpp
index ac0c45ae6f..49c668d737 100644
--- a/indra/llmath/tests/alignment_test.cpp
+++ b/indra/llmath/tests/alignment_test.cpp
@@ -78,8 +78,12 @@ void alignment_test_object_t::test<1>()
align_ptr = ll_aligned_malloc_16(sizeof(MyVector4a));
ensure("ll_aligned_malloc_16 failed", is_aligned(align_ptr,16));
+#if !LL_LINUX
+ // Skipping realloc alignment test on Linux because the ll_aligned_realloc_16()
+ // function is not implemented to ensure alignment on Linux (see llmemory.h)
align_ptr = ll_aligned_realloc_16(align_ptr,2*sizeof(MyVector4a));
ensure("ll_aligned_realloc_16 failed", is_aligned(align_ptr,16));
+#endif // LL_LINUX
ll_aligned_free_16(align_ptr);