-Wclass-memaccess warning
anja-sheppard opened this issue · 0 comments
anja-sheppard commented
Got this warning compiling on Ubuntu 20.04 with cuda 10.1.243 and gcc 9.3.0. This doesn't inhibit any functionality, but would be nice to clear up.
In file included from /opt/ElasticFusion/Core/src/Deformation.h:29,
from /opt/ElasticFusion/Core/src/ElasticFusion.h:30,
from /root/elasticfusion_ws/src/elastic_bridge/src/elastic_node.cpp:55:
/opt/ElasticFusion/Core/src/Ferns.h: In constructor ‘Ferns::Frame::Frame(int, int, const Matrix4f&, int, int, unsigned char*, Eigen::Vector4f*, Eigen::Vector4f*)’:
/opt/ElasticFusion/Core/src/Ferns.h:105:91: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘Eigen::Vector4f’ {aka ‘class Eigen::Matrix<float, 4, 1>’} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
105 | memcpy(this->initVerts, verts, numPixels * sizeof(Eigen::Vector4f));
| ^
In file included from /usr/include/eigen3/Eigen/Core:458,
from /opt/Pangolin/include/pangolin/display/opengl_render_state.h:40,
from /opt/Pangolin/include/pangolin/display/viewport.h:31,
from /opt/Pangolin/include/pangolin/gl/gl.h:30,
from /opt/Pangolin/include/pangolin/pangolin.h:33,
from /opt/ElasticFusion/Core/src/Utils/../GPUTexture.h:22,
from /opt/ElasticFusion/Core/src/Utils/RGBDOdometry.h:23,
from /opt/ElasticFusion/Core/src/ElasticFusion.h:22,
from /root/elasticfusion_ws/src/elastic_bridge/src/elastic_node.cpp:55:
/usr/include/eigen3/Eigen/src/Core/Matrix.h:178:7: note: ‘Eigen::Vector4f’ {aka ‘class Eigen::Matrix<float, 4, 1>’} declared here
178 | class Matrix
| ^~~~~~
In file included from /opt/ElasticFusion/Core/src/Deformation.h:29,
from /opt/ElasticFusion/Core/src/ElasticFusion.h:30,
from /root/elasticfusion_ws/src/elastic_bridge/src/elastic_node.cpp:55:
/opt/ElasticFusion/Core/src/Ferns.h:111:91: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘Eigen::Vector4f’ {aka ‘class Eigen::Matrix<float, 4, 1>’} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
111 | memcpy(this->initNorms, norms, numPixels * sizeof(Eigen::Vector4f));
| ^
In file included from /usr/include/eigen3/Eigen/Core:458,
from /opt/Pangolin/include/pangolin/display/opengl_render_state.h:40,
from /opt/Pangolin/include/pangolin/display/viewport.h:31,
from /opt/Pangolin/include/pangolin/gl/gl.h:30,
from /opt/Pangolin/include/pangolin/pangolin.h:33,
from /opt/ElasticFusion/Core/src/Utils/../GPUTexture.h:22,
from /opt/ElasticFusion/Core/src/Utils/RGBDOdometry.h:23,
from /opt/ElasticFusion/Core/src/ElasticFusion.h:22,
from /root/elasticfusion_ws/src/elastic_bridge/src/elastic_node.cpp:55:
/usr/include/eigen3/Eigen/src/Core/Matrix.h:178:7: note: ‘Eigen::Vector4f’ {aka ‘class Eigen::Matrix<float, 4, 1>’} declared here
178 | class Matrix