Closed Bug 873649 Opened 12 years ago Closed 12 years ago

Build bustage under clang/ASan

Categories

(Core :: MFBT, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla24

People

(Reporter: ekr, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

/home/buildslave/work/ubuntu12_04_64_asan/build/obj-buildbot-auto/config/nsinstall -R -m 755 "TestWeakPtr" "../../dist/bin" In file included from /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:6: In file included from ../../dist/include/mozilla/Atomics.h:166: In file included from /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/atomic:42: /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/atomic_2.h:646:44: error: cannot initialize a parameter of type '__pointer_type' (aka 'int *') with an lvalue of type 'ptrdiff_t' (aka 'long') { return __sync_fetch_and_add(&_M_p, __d); } ^~~ /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/atomic:396:21: note: in instantiation of member function 'std::__atomic2::__atomic_base<int *>::fetch_add' requested here { return _M_b.fetch_add(__d, __m); } ^ ../../dist/include/mozilla/Atomics.h:236:18: note: in instantiation of member function 'std::atomic<int *>::fetch_add' requested here return ptr.fetch_add(fixupAddend(val), Base::OrderedOp::AtomicRMWOrder); ^ ../../dist/include/mozilla/Atomics.h:264:41: note: in instantiation of member function 'mozilla::detail::IntrinsicAddSub<int *, 2>::add' requested here return IntrinsicAddSub<T, Order>::add(ptr, 1); ^ ../../dist/include/mozilla/Atomics.h:779:41: note: in instantiation of member function 'mozilla::detail::IntrinsicIncDec<int *, 2>::inc' requested here T operator++() { return Intrinsics::inc(mValue) + 1; } ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:82:14: note: in instantiation of member function 'mozilla::detail::AtomicBase<int *, 2>::operator++' requested here MOZ_ASSERT(++atomic == array1 + 1, "Atomic increment did not work"); ^ ../../dist/include/mozilla/Assertions.h:288:23: note: expanded from macro 'MOZ_ASSERT' (__VA_ARGS__)) ^ ../../dist/include/mozilla/Assertions.h:285:35: note: expanded from macro 'MOZ_ASSERT_GLUE' # define MOZ_ASSERT_GLUE(x, y) x y ^ ../../dist/include/mozilla/Assertions.h:260:27: note: expanded from macro 'MOZ_ASSERT_HELPER2' if (MOZ_UNLIKELY(!(expr))) { \ ^ ../../dist/include/mozilla/Likely.h:16:48: note: expanded from macro 'MOZ_UNLIKELY' # define MOZ_UNLIKELY(x) (__builtin_expect(!!(x), 0)) ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:125:3: note: in instantiation of function template specialization 'TestPointerWithOrdering<int, 2>' requested here TestPointerWithOrdering<T, SequentiallyConsistent>(); ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:136:3: note: in instantiation of function template specialization 'TestPointer<int>' requested here TestPointer<int>(); ^ In file included from /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:6: In file included from ../../dist/include/mozilla/Atomics.h:166: In file included from /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/atomic:42: /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/atomic_2.h:655:44: error: cannot initialize a parameter of type '__pointer_type' (aka 'int *') with an lvalue of type 'ptrdiff_t' (aka 'long') { return __sync_fetch_and_sub(&_M_p, __d); } ^~~ /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/atomic:405:21: note: in instantiation of member function 'std::__atomic2::__atomic_base<int *>::fetch_sub' requested here { return _M_b.fetch_sub(__d, __m); } ^ ../../dist/include/mozilla/Atomics.h:239:18: note: in instantiation of member function 'std::atomic<int *>::fetch_sub' requested here return ptr.fetch_sub(fixupAddend(val), Base::OrderedOp::AtomicRMWOrder); ^ ../../dist/include/mozilla/Atomics.h:267:41: note: in instantiation of member function 'mozilla::detail::IntrinsicAddSub<int *, 2>::sub' requested here return IntrinsicAddSub<T, Order>::sub(ptr, 1); ^ ../../dist/include/mozilla/Atomics.h:780:41: note: in instantiation of member function 'mozilla::detail::IntrinsicIncDec<int *, 2>::dec' requested here T operator--() { return Intrinsics::dec(mValue) - 1; } ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:87:14: note: in instantiation of member function 'mozilla::detail::AtomicBase<int *, 2>::operator--' requested here MOZ_ASSERT(--atomic == array1 + 1, "Atomic decrement did not work"); ^ ../../dist/include/mozilla/Assertions.h:288:23: note: expanded from macro 'MOZ_ASSERT' (__VA_ARGS__)) ^ ../../dist/include/mozilla/Assertions.h:285:35: note: expanded from macro 'MOZ_ASSERT_GLUE' # define MOZ_ASSERT_GLUE(x, y) x y ^ ../../dist/include/mozilla/Assertions.h:260:27: note: expanded from macro 'MOZ_ASSERT_HELPER2' if (MOZ_UNLIKELY(!(expr))) { \ ^ ../../dist/include/mozilla/Likely.h:16:48: note: expanded from macro 'MOZ_UNLIKELY' # define MOZ_UNLIKELY(x) (__builtin_expect(!!(x), 0)) ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:125:3: note: in instantiation of function template specialization 'TestPointerWithOrdering<int, 2>' requested here TestPointerWithOrdering<T, SequentiallyConsistent>(); ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:136:3: note: in instantiation of function template specialization 'TestPointer<int>' requested here TestPointer<int>(); ^ In file included from /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:6: In file included from ../../dist/include/mozilla/Atomics.h:166: In file included from /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/atomic:42: /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/atomic_2.h:646:44: error: cannot initialize a parameter of type '__pointer_type' (aka 'float *') with an lvalue of type 'ptrdiff_t' (aka 'long') { return __sync_fetch_and_add(&_M_p, __d); } ^~~ /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/atomic:396:21: note: in instantiation of member function 'std::__atomic2::__atomic_base<float *>::fetch_add' requested here { return _M_b.fetch_add(__d, __m); } ^ ../../dist/include/mozilla/Atomics.h:236:18: note: in instantiation of member function 'std::atomic<float *>::fetch_add' requested here return ptr.fetch_add(fixupAddend(val), Base::OrderedOp::AtomicRMWOrder); ^ ../../dist/include/mozilla/Atomics.h:264:41: note: in instantiation of member function 'mozilla::detail::IntrinsicAddSub<float *, 2>::add' requested here return IntrinsicAddSub<T, Order>::add(ptr, 1); ^ ../../dist/include/mozilla/Atomics.h:779:41: note: in instantiation of member function 'mozilla::detail::IntrinsicIncDec<float *, 2>::inc' requested here T operator++() { return Intrinsics::inc(mValue) + 1; } ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:82:14: note: in instantiation of member function 'mozilla::detail::AtomicBase<float *, 2>::operator++' requested here MOZ_ASSERT(++atomic == array1 + 1, "Atomic increment did not work"); ^ ../../dist/include/mozilla/Assertions.h:288:23: note: expanded from macro 'MOZ_ASSERT' (__VA_ARGS__)) ^ ../../dist/include/mozilla/Assertions.h:285:35: note: expanded from macro 'MOZ_ASSERT_GLUE' # define MOZ_ASSERT_GLUE(x, y) x y ^ ../../dist/include/mozilla/Assertions.h:260:27: note: expanded from macro 'MOZ_ASSERT_HELPER2' if (MOZ_UNLIKELY(!(expr))) { \ ^ ../../dist/include/mozilla/Likely.h:16:48: note: expanded from macro 'MOZ_UNLIKELY' # define MOZ_UNLIKELY(x) (__builtin_expect(!!(x), 0)) ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:125:3: note: in instantiation of function template specialization 'TestPointerWithOrdering<float, 2>' requested here TestPointerWithOrdering<T, SequentiallyConsistent>(); ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:137:3: note: in instantiation of function template specialization 'TestPointer<float>' requested here TestPointer<float>(); ^ In file included from /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:6: In file included from ../../dist/include/mozilla/Atomics.h:166: In file included from /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/atomic:42: /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/atomic_2.h:655:44: error: cannot initialize a parameter of type '__pointer_type' (aka 'float *') with an lvalue of type 'ptrdiff_t' (aka 'long') { return __sync_fetch_and_sub(&_M_p, __d); } ^~~ /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/atomic:405:21: note: in instantiation of member function 'std::__atomic2::__atomic_base<float *>::fetch_sub' requested here { return _M_b.fetch_sub(__d, __m); } ^ ../../dist/include/mozilla/Atomics.h:239:18: note: in instantiation of member function 'std::atomic<float *>::fetch_sub' requested here return ptr.fetch_sub(fixupAddend(val), Base::OrderedOp::AtomicRMWOrder); ^ ../../dist/include/mozilla/Atomics.h:267:41: note: in instantiation of member function 'mozilla::detail::IntrinsicAddSub<float *, 2>::sub' requested here return IntrinsicAddSub<T, Order>::sub(ptr, 1); ^ ../../dist/include/mozilla/Atomics.h:780:41: note: in instantiation of member function 'mozilla::detail::IntrinsicIncDec<float *, 2>::dec' requested here T operator--() { return Intrinsics::dec(mValue) - 1; } ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:87:14: note: in instantiation of member function 'mozilla::detail::AtomicBase<float *, 2>::operator--' requested here MOZ_ASSERT(--atomic == array1 + 1, "Atomic decrement did not work"); ^ ../../dist/include/mozilla/Assertions.h:288:23: note: expanded from macro 'MOZ_ASSERT' (__VA_ARGS__)) ^ ../../dist/include/mozilla/Assertions.h:285:35: note: expanded from macro 'MOZ_ASSERT_GLUE' # define MOZ_ASSERT_GLUE(x, y) x y ^ ../../dist/include/mozilla/Assertions.h:260:27: note: expanded from macro 'MOZ_ASSERT_HELPER2' if (MOZ_UNLIKELY(!(expr))) { \ ^ ../../dist/include/mozilla/Likely.h:16:48: note: expanded from macro 'MOZ_UNLIKELY' # define MOZ_UNLIKELY(x) (__builtin_expect(!!(x), 0)) ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:125:3: note: in instantiation of function template specialization 'TestPointerWithOrdering<float, 2>' requested here TestPointerWithOrdering<T, SequentiallyConsistent>(); ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:137:3: note: in instantiation of function template specialization 'TestPointer<float>' requested here TestPointer<float>(); ^ In file included from /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:6: In file included from ../../dist/include/mozilla/Atomics.h:166: In file included from /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/atomic:42: /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/atomic_2.h:646:44: error: cannot initialize a parameter of type '__pointer_type' (aka 'unsigned short **') with an lvalue of type 'ptrdiff_t' (aka 'long') { return __sync_fetch_and_add(&_M_p, __d); } ^~~ /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/atomic:396:21: note: in instantiation of member function 'std::__atomic2::__atomic_base<unsigned short **>::fetch_add' requested here { return _M_b.fetch_add(__d, __m); } ^ ../../dist/include/mozilla/Atomics.h:236:18: note: in instantiation of member function 'std::atomic<unsigned short **>::fetch_add' requested here return ptr.fetch_add(fixupAddend(val), Base::OrderedOp::AtomicRMWOrder); ^ ../../dist/include/mozilla/Atomics.h:264:41: note: in instantiation of member function 'mozilla::detail::IntrinsicAddSub<unsigned short **, 2>::add' requested here return IntrinsicAddSub<T, Order>::add(ptr, 1); ^ ../../dist/include/mozilla/Atomics.h:779:41: note: in instantiation of member function 'mozilla::detail::IntrinsicIncDec<unsigned short **, 2>::inc' requested here T operator++() { return Intrinsics::inc(mValue) + 1; } ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:82:14: note: in instantiation of member function 'mozilla::detail::AtomicBase<unsigned short **, 2>::operator++' requested here MOZ_ASSERT(++atomic == array1 + 1, "Atomic increment did not work"); ^ ../../dist/include/mozilla/Assertions.h:288:23: note: expanded from macro 'MOZ_ASSERT' (__VA_ARGS__)) ^ ../../dist/include/mozilla/Assertions.h:285:35: note: expanded from macro 'MOZ_ASSERT_GLUE' # define MOZ_ASSERT_GLUE(x, y) x y ^ ../../dist/include/mozilla/Assertions.h:260:27: note: expanded from macro 'MOZ_ASSERT_HELPER2' if (MOZ_UNLIKELY(!(expr))) { \ ^ ../../dist/include/mozilla/Likely.h:16:48: note: expanded from macro 'MOZ_UNLIKELY' # define MOZ_UNLIKELY(x) (__builtin_expect(!!(x), 0)) ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:125:3: note: in instantiation of function template specialization 'TestPointerWithOrdering<unsigned short *, 2>' requested here TestPointerWithOrdering<T, SequentiallyConsistent>(); ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:138:3: note: in instantiation of function template specialization 'TestPointer<unsigned short *>' requested here TestPointer<uint16_t*>(); ^ In file included from /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:6: In file included from ../../dist/include/mozilla/Atomics.h:166: In file included from /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/atomic:42: /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/atomic_2.h:655:44: error: cannot initialize a parameter of type '__pointer_type' (aka 'unsigned short **') with an lvalue of type 'ptrdiff_t' (aka 'long') { return __sync_fetch_and_sub(&_M_p, __d); } ^~~ /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/atomic:405:21: note: in instantiation of member function 'std::__atomic2::__atomic_base<unsigned short **>::fetch_sub' requested here { return _M_b.fetch_sub(__d, __m); } ^ ../../dist/include/mozilla/Atomics.h:239:18: note: in instantiation of member function 'std::atomic<unsigned short **>::fetch_sub' requested here return ptr.fetch_sub(fixupAddend(val), Base::OrderedOp::AtomicRMWOrder); ^ ../../dist/include/mozilla/Atomics.h:267:41: note: in instantiation of member function 'mozilla::detail::IntrinsicAddSub<unsigned short **, 2>::sub' requested here return IntrinsicAddSub<T, Order>::sub(ptr, 1); ^ ../../dist/include/mozilla/Atomics.h:780:41: note: in instantiation of member function 'mozilla::detail::IntrinsicIncDec<unsigned short **, 2>::dec' requested here T operator--() { return Intrinsics::dec(mValue) - 1; } ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:87:14: note: in instantiation of member function 'mozilla::detail::AtomicBase<unsigned short **, 2>::operator--' requested here MOZ_ASSERT(--atomic == array1 + 1, "Atomic decrement did not work"); ^ ../../dist/include/mozilla/Assertions.h:288:23: note: expanded from macro 'MOZ_ASSERT' (__VA_ARGS__)) ^ ../../dist/include/mozilla/Assertions.h:285:35: note: expanded from macro 'MOZ_ASSERT_GLUE' # define MOZ_ASSERT_GLUE(x, y) x y ^ ../../dist/include/mozilla/Assertions.h:260:27: note: expanded from macro 'MOZ_ASSERT_HELPER2' if (MOZ_UNLIKELY(!(expr))) { \ ^ ../../dist/include/mozilla/Likely.h:16:48: note: expanded from macro 'MOZ_UNLIKELY' # define MOZ_UNLIKELY(x) (__builtin_expect(!!(x), 0)) ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:125:3: note: in instantiation of function template specialization 'TestPointerWithOrdering<unsigned short *, 2>' requested here TestPointerWithOrdering<T, SequentiallyConsistent>(); ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:138:3: note: in instantiation of function template specialization 'TestPointer<unsigned short *>' requested here TestPointer<uint16_t*>(); ^ In file included from /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:6: In file included from ../../dist/include/mozilla/Atomics.h:166: In file included from /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/atomic:42: /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/atomic_2.h:646:44: error: cannot initialize a parameter of type '__pointer_type' (aka 'unsigned int **') with an lvalue of type 'ptrdiff_t' (aka 'long') { return __sync_fetch_and_add(&_M_p, __d); } ^~~ /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/atomic:396:21: note: in instantiation of member function 'std::__atomic2::__atomic_base<unsigned int **>::fetch_add' requested here { return _M_b.fetch_add(__d, __m); } ^ ../../dist/include/mozilla/Atomics.h:236:18: note: in instantiation of member function 'std::atomic<unsigned int **>::fetch_add' requested here return ptr.fetch_add(fixupAddend(val), Base::OrderedOp::AtomicRMWOrder); ^ ../../dist/include/mozilla/Atomics.h:264:41: note: in instantiation of member function 'mozilla::detail::IntrinsicAddSub<unsigned int **, 2>::add' requested here return IntrinsicAddSub<T, Order>::add(ptr, 1); ^ ../../dist/include/mozilla/Atomics.h:779:41: note: in instantiation of member function 'mozilla::detail::IntrinsicIncDec<unsigned int **, 2>::inc' requested here T operator++() { return Intrinsics::inc(mValue) + 1; } ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:82:14: note: in instantiation of member function 'mozilla::detail::AtomicBase<unsigned int **, 2>::operator++' requested here MOZ_ASSERT(++atomic == array1 + 1, "Atomic increment did not work"); ^ ../../dist/include/mozilla/Assertions.h:288:23: note: expanded from macro 'MOZ_ASSERT' (__VA_ARGS__)) ^ ../../dist/include/mozilla/Assertions.h:285:35: note: expanded from macro 'MOZ_ASSERT_GLUE' # define MOZ_ASSERT_GLUE(x, y) x y ^ ../../dist/include/mozilla/Assertions.h:260:27: note: expanded from macro 'MOZ_ASSERT_HELPER2' if (MOZ_UNLIKELY(!(expr))) { \ ^ ../../dist/include/mozilla/Likely.h:16:48: note: expanded from macro 'MOZ_UNLIKELY' # define MOZ_UNLIKELY(x) (__builtin_expect(!!(x), 0)) ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:125:3: note: in instantiation of function template specialization 'TestPointerWithOrdering<unsigned int *, 2>' requested here TestPointerWithOrdering<T, SequentiallyConsistent>(); ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:139:3: note: in instantiation of function template specialization 'TestPointer<unsigned int *>' requested here TestPointer<uint32_t*>(); ^ In file included from /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:6: In file included from ../../dist/include/mozilla/Atomics.h:166: In file included from /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/atomic:42: /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/atomic_2.h:655:44: error: cannot initialize a parameter of type '__pointer_type' (aka 'unsigned int **') with an lvalue of type 'ptrdiff_t' (aka 'long') { return __sync_fetch_and_sub(&_M_p, __d); } ^~~ /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/atomic:405:21: note: in instantiation of member function 'std::__atomic2::__atomic_base<unsigned int **>::fetch_sub' requested here { return _M_b.fetch_sub(__d, __m); } ^ ../../dist/include/mozilla/Atomics.h:239:18: note: in instantiation of member function 'std::atomic<unsigned int **>::fetch_sub' requested here return ptr.fetch_sub(fixupAddend(val), Base::OrderedOp::AtomicRMWOrder); ^ ../../dist/include/mozilla/Atomics.h:267:41: note: in instantiation of member function 'mozilla::detail::IntrinsicAddSub<unsigned int **, 2>::sub' requested here return IntrinsicAddSub<T, Order>::sub(ptr, 1); ^ ../../dist/include/mozilla/Atomics.h:780:41: note: in instantiation of member function 'mozilla::detail::IntrinsicIncDec<unsigned int **, 2>::dec' requested here T operator--() { return Intrinsics::dec(mValue) - 1; } ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:87:14: note: in instantiation of member function 'mozilla::detail::AtomicBase<unsigned int **, 2>::operator--' requested here MOZ_ASSERT(--atomic == array1 + 1, "Atomic decrement did not work"); ^ ../../dist/include/mozilla/Assertions.h:288:23: note: expanded from macro 'MOZ_ASSERT' (__VA_ARGS__)) ^ ../../dist/include/mozilla/Assertions.h:285:35: note: expanded from macro 'MOZ_ASSERT_GLUE' # define MOZ_ASSERT_GLUE(x, y) x y ^ ../../dist/include/mozilla/Assertions.h:260:27: note: expanded from macro 'MOZ_ASSERT_HELPER2' if (MOZ_UNLIKELY(!(expr))) { \ ^ ../../dist/include/mozilla/Likely.h:16:48: note: expanded from macro 'MOZ_UNLIKELY' # define MOZ_UNLIKELY(x) (__builtin_expect(!!(x), 0)) ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:125:3: note: in instantiation of function template specialization 'TestPointerWithOrdering<unsigned int *, 2>' requested here TestPointerWithOrdering<T, SequentiallyConsistent>(); ^ /home/buildslave/work/ubuntu12_04_64_asan/build/mfbt/tests/TestAtomics.cpp:139:3: note: in instantiation of function template specialization 'TestPointer<unsigned int *>' requested here TestPointer<uint32_t*>(); ^ 8 errors generated. make[6]: *** [TestAtomics.o] Error 1 make[6]: *** Waiting for unfinished jobs.... make[6]: Leaving directory `/home/buildslave/work/ubuntu12_04_64_asan/build/obj-buildbot-auto/mfbt/tests' make[5]: *** [libs] Error 2 make[5]: Leaving directory `/home/buildslave/work/ubuntu12_04_64_asan/build/obj-buildbot-auto/mfbt' make[4]: *** [libs_tier_base] Error 2 make[4]: Leaving directory `/home/buildslave/work/ubuntu12_04_64_asan/build/obj-buildbot-auto' make[3]: *** [tier_base] Error 2 make[3]: Leaving directory `/home/buildslave/work/ubuntu12_04_64_asan/build/obj-buildbot-auto' make[2]: *** [default] Error 2 make[2]: Leaving directory `/home/buildslave/work/ubuntu12_04_64_asan/build/obj-buildbot-auto' make[1]: *** [realbuild] Error 2 make[1]: Leaving directory `/home/buildslave/work/ubuntu12_04_64_asan/build' make: *** [build] Error 2
No longer blocks: 732043
Depends on: 732043
Sigh, this is the same issue that required: https://hg.mozilla.org/integration/mozilla-inbound/rev/8096f5bdab92#l1.398 Since we don't include the results of configure tests in MFBT, I think this is the best we can do. Maybe once all the buildbots use GCC 4.7, we can get rid of this, but the error message wouldn't really be helpful in telling people what's wrong.
Attachment #751211 - Flags: review?(jwalden+bmo)
Blocks: 732043
No longer depends on: 732043
Eric, can you verify that this fix works?
Flags: needinfo?(ekr)
(In reply to Nathan Froyd (:froydnj) from comment #1) > Maybe once all the buildbots use GCC 4.7, we can get > rid of this, but the error message wouldn't really be helpful in telling > people what's wrong. Alternately, we could use GCC 4.8's ASAN support instead and we wouldn't have to worry about system header issues.
Note the buildbots should be using a clang that uses gcc 4.7's headers. Because we had failures with the gcc 4.5 headers already.
(In reply to Mike Hommey [:glandium] from comment #4) > Note the buildbots should be using a clang that uses gcc 4.7's headers. > Because we had failures with the gcc 4.5 headers already. Then I guess it's just a question of whether we want to keep third-party asan builders working happily with GCC < 4.7 or just make them upgrade.
(In reply to Nathan Froyd (:froydnj) from comment #5) > Then I guess it's just a question of whether we want to keep third-party > asan builders working happily with GCC < 4.7 or just make them upgrade. s/asan/clang/ And clang builds with libstdc++ headers < 4.7 are already broken.
This patch fixes the compilation problem on my system.
Flags: needinfo?(ekr)
Comment on attachment 751211 [details] [diff] [review] don't assume <atomic> is usable with clang on a Linux system Review of attachment 751211 [details] [diff] [review]: ----------------------------------------------------------------- ::: mfbt/Atomics.h @@ +32,5 @@ > + * GCC. We do not have a particularly good way to detect this sort of > + * case at this point, so just assume that if we're on a Linux system, > + * we can't use the system's <atomic>. > + */ > +# if !defined(__linux__) && \ Indent like so: /* * ... */ # if !defined(__linux__) && \ See, e.g., mfbt/Assertions.h comments.
Attachment #751211 - Flags: review?(jwalden+bmo) → review+
Anything blocking landing here?
Flags: needinfo?(nfroyd)
(In reply to Henri Sivonen (:hsivonen) from comment #9) > Anything blocking landing here? Other than a patch author who was out of town, nope! https://hg.mozilla.org/integration/mozilla-inbound/rev/3cd6e95a4d9c
Flags: needinfo?(nfroyd)
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla24
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: