Le 17/05/2019 à 21:22, Micah Kornfield a écrit : > I recently ran UBSan over parquet and arrow code bases and there are quite > a few unaligned pointer warnings (we do reinterpret casts on integer types > without checking alignment). Most of them are in Arrow itself, which > parquet calls into. > > Is this something the community would like to fix? > > I imagine adding a helper method something like: > > template<T> > T LoadUnaligned(T* pointer_to_t) { > T aligned; > memcpy(&aligned, t, sizeof(T)); > return aligned; > } > > I believe clang/GCC/MSVC should be good enough to recognize that an > unaligned load can replace the memcpy and inline it. But hopefully archery > will be able to catch any performance regressions if this isn't the case.
+1 from me. We may need a similar helper for unaligned stores. By the way, running ASan and UBSan is something that we should ideally do in CI, especially now that our Valgrind runs are disabled. Regards Antoine.