Blob Blame History Raw
From 17748a3dfdddf0bc5e7a8948967547ab899dc700 Mon Sep 17 00:00:00 2001
From: Larry Gritz <lg@larrygritz.com>
Date: Thu, 18 Jul 2013 19:09:27 -0700
Subject: [PATCH 1/3] Fix compiler warning about unused local typedef

---
 src/field3d.imageio/field3dinput.cpp | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/field3d.imageio/field3dinput.cpp b/src/field3d.imageio/field3dinput.cpp
index eeeac12..4df7158 100644
--- a/src/field3d.imageio/field3dinput.cpp
+++ b/src/field3d.imageio/field3dinput.cpp
@@ -145,7 +145,6 @@ inline int blocksize (FieldRes::Ptr &f)
     typename SparseField<T>::Ptr sf (field_dynamic_cast<SparseField<T> >(f));
     if (sf)
         return sf->blockSize();
-    typedef FIELD3D_VEC3_T<T> VecData_T;
     typename SparseField<T>::Ptr vsf (field_dynamic_cast<SparseField<T> >(f));
     if (vsf)
         return vsf->blockSize();
-- 
1.8.1.6


From 27439302e32cdaacf7137f4e80eaf1c8a86cf862 Mon Sep 17 00:00:00 2001
From: Larry Gritz <lg@larrygritz.com>
Date: Thu, 18 Jul 2013 19:57:55 -0700
Subject: [PATCH 2/3] Make it work for big endian

---
 src/libtexture/texture3d.cpp | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/libtexture/texture3d.cpp b/src/libtexture/texture3d.cpp
index 34a57d6..2ba64f0 100644
--- a/src/libtexture/texture3d.cpp
+++ b/src/libtexture/texture3d.cpp
@@ -378,10 +378,9 @@
 //    bool svalid[2], tvalid[2], rvalid[2];  // Valid texels?  false means black border
     union { bool bvalid[6]; unsigned long long ivalid; } valid_storage;
     valid_storage.ivalid = 0;
-    DASSERT (sizeof(valid_storage) >= 6*sizeof(bool));
+    DASSERT (sizeof(valid_storage) == 8);
     const unsigned long long none_valid = 0;
-    const unsigned long long all_valid = 0x010101010101LL;
-    DASSERT (__LITTLE_ENDIAN__ && "this trick won't work with big endian");
+    const unsigned long long all_valid = littleendian() ? 0x010101010101LL : 0x01010101010100LL;
     bool *svalid = valid_storage.bvalid;
     bool *tvalid = valid_storage.bvalid + 2;
     bool *rvalid = valid_storage.bvalid + 4;
-- 
1.8.1.6


From 7fc6e497326cdcdd72904cda3d48ed9c1f87ac69 Mon Sep 17 00:00:00 2001
From: Larry Gritz <lg@larrygritz.com>
Date: Thu, 18 Jul 2013 19:58:45 -0700
Subject: [PATCH 3/3] Fix compile problem with gcc but on platforms with no
 'pause'

---
 src/include/thread.h | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/include/thread.h b/src/include/thread.h
index cf3717e..8a31dfc 100644
--- a/src/include/thread.h
+++ b/src/include/thread.h
@@ -318,16 +318,17 @@ class thread_specific_ptr {
 inline void
 pause (int delay)
 {
-#if defined(__GNUC__)
-    for (int i = 0; i < delay; ++i) {
-#if defined __arm__ || defined __s390__
-        __asm__ __volatile__("NOP;");
-#else
+#if defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__))
+    for (int i = 0; i < delay; ++i)
         __asm__ __volatile__("pause;");
-#endif
-    }
+
+#elif defined(__GNUC__) && (defined(__arm__) || defined(__s390__))
+    for (int i = 0; i < delay; ++i)
+        __asm__ __volatile__("NOP;");
+
 #elif USE_TBB
     __TBB_Pause(delay);
+
 #elif defined(_MSC_VER)
     for (int i = 0; i < delay; ++i) {
 #if defined (_WIN64)
@@ -336,6 +337,7 @@ class thread_specific_ptr {
         _asm  pause
 #endif /* _WIN64 */
     }
+
 #else
     // No pause on this platform, just punt
     for (int i = 0; i < delay; ++i) ;
-- 
1.8.1.6

From db797a45b9060294ef02a879fde66c4265a90a14 Mon Sep 17 00:00:00 2001
From: Larry Gritz <lg@larrygritz.com>
Date: Fri, 12 Jul 2013 10:51:13 -0700
Subject: [PATCH] Fix compiler warnings with large unsigned value in test

---
 src/libOpenImageIO/fmath_test.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/libOpenImageIO/fmath_test.cpp b/src/libOpenImageIO/fmath_test.cpp
index fefaac0..fdf7f4e 100644
--- a/src/libOpenImageIO/fmath_test.cpp
+++ b/src/libOpenImageIO/fmath_test.cpp
@@ -72,8 +72,8 @@ void test_bit_range_convert ()
     OIIO_CHECK_EQUAL ((bit_range_convert<2,20>(3)), 1048575);
     OIIO_CHECK_EQUAL ((bit_range_convert<20,2>(1048575)), 3);
     OIIO_CHECK_EQUAL ((bit_range_convert<20,21>(1048575)), 2097151);
-    OIIO_CHECK_EQUAL ((bit_range_convert<32,32>(4294967295)), 4294967295);
-    OIIO_CHECK_EQUAL ((bit_range_convert<32,16>(4294967295)), 65535);
+    OIIO_CHECK_EQUAL ((bit_range_convert<32,32>(4294967295U)), 4294967295U);
+    OIIO_CHECK_EQUAL ((bit_range_convert<32,16>(4294967295U)), 65535);
 // These are not expected to work, since bit_range_convert only takes a
 // regular 'unsigned int' as parameter.  If we need >32 bit conversion,
 // we need to add a uint64_t version of bit_range_convert.
-- 
1.8.1.6