You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
MCOL-1376 Fix compiler errors in Ubuntu 18.04
Ubuntu 18.04 uses GCC 7.3 which is a little stricter than before. Fixes a few errors due to implicit includes that are no longer implicit and a ton of warnings about the implied alignment of code in utils/common/any.hpp
This commit is contained in:
@ -54,15 +54,25 @@ namespace anyimpl
|
||||
template<typename T>
|
||||
struct big_any_policy : typed_base_any_policy<T>
|
||||
{
|
||||
virtual void static_delete(void** x) { if (*x)
|
||||
delete(*reinterpret_cast<T**>(x)); *x = NULL; }
|
||||
virtual void copy_from_value(void const* src, void** dest) {
|
||||
*dest = new T(*reinterpret_cast<T const*>(src)); }
|
||||
virtual void clone(void* const* src, void** dest) {
|
||||
*dest = new T(**reinterpret_cast<T* const*>(src)); }
|
||||
virtual void move(void* const* src, void** dest) {
|
||||
(*reinterpret_cast<T**>(dest))->~T();
|
||||
**reinterpret_cast<T**>(dest) = **reinterpret_cast<T* const*>(src); }
|
||||
virtual void static_delete(void** x)
|
||||
{
|
||||
if (*x)
|
||||
delete(*reinterpret_cast<T**>(x));
|
||||
*x = NULL;
|
||||
}
|
||||
virtual void copy_from_value(void const* src, void** dest)
|
||||
{
|
||||
*dest = new T(*reinterpret_cast<T const*>(src));
|
||||
}
|
||||
virtual void clone(void* const* src, void** dest)
|
||||
{
|
||||
*dest = new T(**reinterpret_cast<T* const*>(src));
|
||||
}
|
||||
virtual void move(void* const* src, void** dest)
|
||||
{
|
||||
(*reinterpret_cast<T**>(dest))->~T();
|
||||
**reinterpret_cast<T**>(dest) = **reinterpret_cast<T* const*>(src);
|
||||
}
|
||||
virtual void* get_value(void** src) { return *src; }
|
||||
};
|
||||
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include "configcpp.h"
|
||||
#include "logger.h"
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <boost/regex.hpp>
|
||||
#ifdef _MSC_VER
|
||||
#include "unistd.h"
|
||||
|
Reference in New Issue
Block a user