KhronosGroup / OpenCOLLADA

652 stars 251 forks source link

possibly dangling reference to a temporary #661

Open oneforall2 opened 1 year ago

oneforall2 commented 1 year ago

/tmp/OpenCOLLADA-1.6.68/DAEValidator/library/src/Dae.cpp: In member function ‘virtual void opencollada::Dae::readFile(const std::string&)’: /tmp/OpenCOLLADA-1.6.68/DAEValidator/library/src/Dae.cpp:79:30: error: possibly dangling reference to a temporary [-Werror=dangling-reference] 79 | const auto & instances = root().selectNodes( | ^~~~~ /tmp/OpenCOLLADA-1.6.68/DAEValidator/library/src/Dae.cpp:79:60: note: the temporary was destroyed at the end of the full expression ‘((opencollada::Dae*)this)->opencollada::Dae::.opencollada::XmlDoc::root().opencollada::XmlNode::selectNodes(std::operator+(cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const cxx11::basic_string<_CharT, _Traits, _Alloc>&) with _CharT = char; _Traits = char_traits; _Alloc = allocator)’ 79 | const auto & instances = root().selectNodes( | ~~~~~~^ 80 | xpath_all + Strings::instance_animation + gcc 13.1.0

hobbes1069 commented 1 year ago

I've been seeing this on Fedora as well. Unfortunately there has been no activity upstream for some time. I'm concerned I'll have to remove OpenCOLLADA from Fedora.

hobbes1069 commented 1 year ago

I got some tips from the Fedora devel list and at least got it compiling. It just ignores the errors but that code hasn't change in ages and I don't have the knowledge to fix it properly.

https://src.fedoraproject.org/rpms/openCOLLADA/blob/rawhide/f/openCOLLADA-pragma.patch

oneforall2 commented 1 year ago

I used -Wno-error=dangling-reference for now. But would be nice to see it fixed :)

oneforall2 commented 1 year ago

Already had the missing includes