deal with vs 2015 being pedantic about alignment issues.#1471
deal with vs 2015 being pedantic about alignment issues.#1471bdeluca wants to merge 1 commit intoAcademySoftwareFoundation:masterfrom
Conversation
It still breaks compiling tryConvert(...) as it wasnt to call tryConvert(T) rathern than tryConvert(const T&)
s:\storage\git\oiio.git\src\include\openimageio\tinyformat.h(178): error C2718: 'const OpenImageIO::v1_7::simd::int4': actual parameter with requested alignment of 16 won't be aligned
s:\storage\git\oiio.git\src\include\openimageio\tinyformat.h(600): note: see reference to class template instantiation 'tinyformat::detail::is_convertible<const T &,int>' being compiled
with
[
T=OpenImageIO::v1_7::simd::int4
]
s:\storage\git\oiio.git\src\include\openimageio\tinyformat.h(883): note: see reference to function template instantiation 'void tinyformat::detail::FormatIterator::accept<T1>(const T &)' being compiled
with
[
T1=OpenImageIO::v1_7::simd::int4,
T=OpenImageIO::v1_7::simd::int4
]
s:\storage\git\oiio.git\src\include\openimageio\tinyformat.h(944): note: see reference to function template instantiation 'void tinyformat::detail::format<T1,T2>(tinyformat::detail::FormatIterator &,const T1 &,const T2 &)' being compiled
with
[
T1=OpenImageIO::v1_7::simd::int4,
T2=OpenImageIO::v1_7::simd::int4
]
S:\storage\git\oiio.git\src\include\OpenImageIO/strutil.h(91): note: see reference to function template instantiation 'void tinyformat::format<T1,T2>(std::ostream &,const char *,const T1 &,const T2 &)' being compiled
with
[
T1=OpenImageIO::v1_7::simd::int4,
T2=OpenImageIO::v1_7::simd::int4
]
S:\storage\git\oiio.git\src\libutil\simd_test.cpp(420): note: see reference to function template instantiation 'std::string OpenImageIO::v1_7::Strutil::format<OpenImageIO::v1_7::simd::int4,OpenImageIO::v1_7::simd::int4>(const char *,const T1 &,const T2 &)' being compiled
with
[
T1=OpenImageIO::v1_7::simd::int4,
T2=OpenImageIO::v1_7::simd::int4
]
|
This builds on windows in appveyor here and fails in linux/osx |
|
I don't quite understand why this should be an error. Are aligned types not allowed to be passed as value (stack) parameters? |
|
its a little bit over my head, but I think there is no guarantee that the copied value is aligned. it seems to have been triggered by me trying to use boost 1.60 there is some more about it here https://datastax-oss.atlassian.net/browse/CPP-341 |
|
Are you compiling for a 32 bit target? Why do my appveyor builds succeed? |
|
I don't think It was a 32 bit target but with nmake It was hard to be 100% sure. Next week I can come back to trying it with 1.60 again and confirm it was this. All my cpu is compiling other stuff today. |
…SoftwareFoundation#1471) * Remove OpenColorIOHeaders target Signed-off-by: Rémi Achard <remiachard@gmail.com> * Avoid hardcoding install paths Signed-off-by: Rémi Achard <remiachard@gmail.com> * Update remaining hardcoded install paths Signed-off-by: Rémi Achard <remiachard@gmail.com> * Replace LIB_SUFFIX by CMAKE_INSTALL_LIBDIR Signed-off-by: Rémi Achard <remiachard@gmail.com> Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
It still breaks compiling tryConvert(...) as it wasnt to call tryConvert(T) rathern than tryConvert(const T&)