[ITK] [ITK-dev] Clang compile error

Bill Lorensen bill.lorensen at gmail.com
Sun Nov 1 15:03:30 EST 2015


OSX 10.7.5

Apple clang version 3.0 (tags/Apple/clang-211.12) (based on LLVM 3.0svn)
Target: x86_64-apple-darwin11.4.2
Thread model: posix


On Sun, Nov 1, 2015 at 2:15 PM, Matt McCormick
<matt.mccormick at kitware.com> wrote:
> Hi Bill,
>
> What is the OSX / Clang / Xcode version?
>
> Thanks,
> Matt
>
> On Sun, Nov 1, 2015 at 11:21 AM, Bill Lorensen <bill.lorensen at gmail.com> wrote:
>> On my Mac clang build I get this:
>> In file included from
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/test/itkAtomicIntTest.cxx:32:
>> In file included from
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkAtomicInt.h:42:
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkAtomicIntDetail.h:90:33:
>> error: cannot initialize a parameter of type
>>       'volatile int *' with an lvalue of type 'ValueType *' (aka 'long long *')
>>     return __sync_add_and_fetch(ref, 1);
>>                                 ^~~
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkAtomicInt.h:93:33:
>> note: in instantiation of member function
>>       'itk::Detail::AtomicOps<8>::PreIncrement' requested here
>>     return static_cast<T>(Impl::PreIncrement(&this->m_Object));
>>                                 ^
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/test/itkAtomicIntTest.cxx:62:11:
>> note: in instantiation of member function
>>       'itk::AtomicInt<unsigned long long>::operator++' requested here
>>     idx = ++TotalAtomic64;
>>           ^
>> In file included from
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/test/itkAtomicIntTest.cxx:32:
>> In file included from
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkAtomicInt.h:42:
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkAtomicIntDetail.h:95:33:
>> error: cannot initialize a parameter of type
>>       'volatile int *' with an lvalue of type 'ValueType *' (aka 'long long *')
>>     return __sync_sub_and_fetch(ref, 1);
>>                                 ^~~
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkAtomicInt.h:103:33:
>> note: in instantiation of member function
>>       'itk::Detail::AtomicOps<8>::PreDecrement' requested here
>>     return static_cast<T>(Impl::PreDecrement(&this->m_Object));
>>                                 ^
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/test/itkAtomicIntTest.cxx:77:5:
>> note: in instantiation of member function
>>       'itk::AtomicInt<unsigned long long>::operator--' requested here
>>     --TotalAtomic64;
>>     ^
>> In file included from
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/test/itkAtomicIntTest.cxx:32:
>> In file included from
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkAtomicInt.h:42:
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkAtomicIntDetail.h:80:33:
>> error: cannot initialize a parameter of type
>>       'volatile int *' with an lvalue of type 'ValueType *' (aka 'long long *')
>>     return __sync_add_and_fetch(ref, val);
>>                                 ^~~
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkAtomicInt.h:113:33:
>> note: in instantiation of member function
>>       'itk::Detail::AtomicOps<8>::AddAndFetch' requested here
>>     return static_cast<T>(Impl::AddAndFetch(&this->m_Object,
>>                                 ^
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/test/itkAtomicIntTest.cxx:90:25:
>> note: in instantiation of member function
>>       'itk::AtomicInt<unsigned long long>::operator+=' requested here
>>     idx = TotalAtomic64 += 1;
>>                         ^
>> In file included from
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/test/itkAtomicIntTest.cxx:32:
>> In file included from
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkAtomicInt.h:42:
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkAtomicIntDetail.h:100:33:
>> error: cannot initialize a parameter of type
>>       'volatile int *' with an lvalue of type 'ValueType *' (aka 'long long *')
>>     return __sync_fetch_and_add(ref, 1);
>>                                 ^~~
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkAtomicInt.h:98:33:
>> note: in instantiation of member function
>>       'itk::Detail::AtomicOps<8>::PostIncrement' requested here
>>     return static_cast<T>(Impl::PostIncrement(&this->m_Object));
>>                                 ^
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/test/itkAtomicIntTest.cxx:106:18:
>> note: in instantiation of member function
>>       'itk::AtomicInt<unsigned long long>::operator++' requested here
>>     TotalAtomic64++;
>>                  ^
>> In file included from
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/test/itkAtomicIntTest.cxx:32:
>> In file included from
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkAtomicInt.h:42:
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkAtomicIntDetail.h:105:33:
>> error: cannot initialize a parameter of type
>>       'volatile int *' with an lvalue of type 'ValueType *' (aka 'long long *')
>>     return __sync_fetch_and_sub(ref, 1);
>>                                 ^~~
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkAtomicInt.h:108:33:
>> note: in instantiation of member function
>>       'itk::Detail::AtomicOps<8>::PostDecrement' requested here
>>     return static_cast<T>(Impl::PostDecrement(&this->m_Object));
>>                                 ^
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/test/itkAtomicIntTest.cxx:108:18:
>> note: in instantiation of member function
>>       'itk::AtomicInt<unsigned long long>::operator--' requested here
>>     TotalAtomic64--;
>>                  ^
>> In file included from
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/test/itkAtomicIntTest.cxx:32:
>> In file included from
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkAtomicInt.h:42:
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkAtomicIntDetail.h:85:33:
>> error: cannot initialize a parameter of type
>>       'volatile int *' with an lvalue of type 'ValueType *' (aka 'long long *')
>>     return __sync_sub_and_fetch(ref, val);
>>                                 ^~~
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkAtomicInt.h:119:33:
>> note: in instantiation of member function
>>       'itk::Detail::AtomicOps<8>::SubAndFetch' requested here
>>     return static_cast<T>(Impl::SubAndFetch(&this->m_Object,
>>                                 ^
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/test/itkAtomicIntTest.cxx:109:19:
>> note: in instantiation of member function
>>       'itk::AtomicInt<unsigned long long>::operator-=' requested here
>>     TotalAtomic64 -= 1;
>>                   ^
>> 6 errors generated.
>> make[2]: *** [Modules/Core/Common/test/CMakeFiles/ITKCommon2TestDriver.dir/itkAtomicIntTest.cxx.o]
>> Error 1
>> make[1]: *** [Modules/Core/Common/test/CMakeFiles/ITKCommon2TestDriver.dir/all]
>> Error 2
>> make: *** [all] Error 2
>> [ITK-clang]
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Kitware offers ITK Training Courses, for more information visit:
>> http://kitware.com/products/protraining.php
>>
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/insight-developers
>> _______________________________________________
>> Community mailing list
>> Community at itk.org
>> http://public.kitware.com/mailman/listinfo/community



-- 
Unpaid intern in BillsBasement at noware dot com
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html

Kitware offers ITK Training Courses, for more information visit:
http://kitware.com/products/protraining.php

Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/insight-developers


More information about the Community mailing list