Bug #1426
GCC 5.3 when -std=c++11 dosen't see isnan isinf functions
Status: | Approved | Start date: | 04/23/2016 | |
---|---|---|---|---|
Priority: | Urgent | Due date: | ||
Assignee: | - | % Done: | 0% | |
Category: | Core | Spent time: | - | |
Target version: | Release 2017.1 |
Description
Tested with Kubuntu 16.04 and GCC 5.3. In default mode everything works fine.
It seems that we have got compilation issue:
In file included from /home/klugier/upp/uppsrc/Core/Core.h:246:0, from /home/klugier/upp/uppsrc/Draw/Draw.h:6, from /home/klugier/upp/uppsrc/RichText/RichText.h:4, from /home/klugier/upp/uppsrc/CtrlCore/CtrlCore.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.icpp:1: /home/klugier/upp/uppsrc/Core/Defs.h: In function ‘bool Upp::IsNaN(double)’: /home/klugier/upp/uppsrc/Core/Defs.h:344:52: error: ‘isnan’ was not declared in this scope inline bool IsNaN(double d) { return isnan(d); } ^ /home/klugier/upp/uppsrc/Core/Defs.h:344:52: note: suggested alternative: In file included from /usr/include/c++/5/random:38:0, from /usr/include/c++/5/bits/stl_algo.h:66, from /usr/include/c++/5/algorithm:62, from /home/klugier/upp/uppsrc/Core/Core.h:219, from /home/klugier/upp/uppsrc/Draw/Draw.h:6, from /home/klugier/upp/uppsrc/RichText/RichText.h:4, from /home/klugier/upp/uppsrc/CtrlCore/CtrlCore.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.icpp:1: /usr/include/c++/5/cmath:641:5: note: ‘std::isnan’ isnan(_Tp __x) ^ In file included from /home/klugier/upp/uppsrc/Core/Core.h:246:0, from /home/klugier/upp/uppsrc/Draw/Draw.h:6, from /home/klugier/upp/uppsrc/RichText/RichText.h:4, from /home/klugier/upp/uppsrc/CtrlCore/CtrlCore.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.icpp:1: /home/klugier/upp/uppsrc/Core/Defs.h: In function ‘bool Upp::IsInf(double)’: /home/klugier/upp/uppsrc/Core/Defs.h:345:52: error: ‘isinf’ was not declared in this scope inline bool IsInf(double d) { return isinf(d); } ^ /home/klugier/upp/uppsrc/Core/Defs.h:345:52: note: suggested alternative: In file included from /usr/include/c++/5/random:38:0, from /usr/include/c++/5/bits/stl_algo.h:66, from /usr/include/c++/5/algorithm:62, from /home/klugier/upp/uppsrc/Core/Core.h:219, from /home/klugier/upp/uppsrc/Draw/Draw.h:6, from /home/klugier/upp/uppsrc/RichText/RichText.h:4, from /home/klugier/upp/uppsrc/CtrlCore/CtrlCore.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.icpp:1: /usr/include/c++/5/cmath:621:5: note: ‘std::isinf’ isinf(_Tp __x) ^ In file included from /home/klugier/upp/uppsrc/Core/Core.h:246:0, from /home/klugier/upp/uppsrc/Draw/Draw.h:6, from /home/klugier/upp/uppsrc/RichText/RichText.h:4, from /home/klugier/upp/uppsrc/CtrlCore/CtrlCore.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.h:4, from /home/klugier/upp/uppsrc/CtrlLib/ChGtk0.cpp:1: /home/klugier/upp/uppsrc/Core/Defs.h: In function ‘bool Upp::IsNaN(double)’: /home/klugier/upp/uppsrc/Core/Defs.h:344:52: error: ‘isnan’ was not declared in this scope inline bool IsNaN(double d) { return isnan(d); } ^ /home/klugier/upp/uppsrc/Core/Defs.h:344:52: note: suggested alternative: In file included from /usr/include/c++/5/random:38:0, from /usr/include/c++/5/bits/stl_algo.h:66, from /usr/include/c++/5/algorithm:62, from /home/klugier/upp/uppsrc/Core/Core.h:219, from /home/klugier/upp/uppsrc/Draw/Draw.h:6, from /home/klugier/upp/uppsrc/RichText/RichText.h:4, from /home/klugier/upp/uppsrc/CtrlCore/CtrlCore.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.h:4, from /home/klugier/upp/uppsrc/CtrlLib/ChGtk0.cpp:1: /usr/include/c++/5/cmath:641:5: note: ‘std::isnan’ isnan(_Tp __x) ^ In file included from /home/klugier/upp/uppsrc/Core/Core.h:246:0, from /home/klugier/upp/uppsrc/Draw/Draw.h:6, from /home/klugier/upp/uppsrc/RichText/RichText.h:4, from /home/klugier/upp/uppsrc/CtrlCore/CtrlCore.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.h:4, from /home/klugier/upp/uppsrc/CtrlLib/ChGtk0.cpp:1: /home/klugier/upp/uppsrc/Core/Defs.h: In function ‘bool Upp::IsInf(double)’: /home/klugier/upp/uppsrc/Core/Defs.h:345:52: error: ‘isinf’ was not declared in this scope inline bool IsInf(double d) { return isinf(d); } ^ /home/klugier/upp/uppsrc/Core/Defs.h:345:52: note: suggested alternative: In file included from /usr/include/c++/5/random:38:0, from /usr/include/c++/5/bits/stl_algo.h:66, from /usr/include/c++/5/algorithm:62, from /home/klugier/upp/uppsrc/Core/Core.h:219, from /home/klugier/upp/uppsrc/Draw/Draw.h:6, from /home/klugier/upp/uppsrc/RichText/RichText.h:4, from /home/klugier/upp/uppsrc/CtrlCore/CtrlCore.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.h:4, from /home/klugier/upp/uppsrc/CtrlLib/ChGtk0.cpp:1: /usr/include/c++/5/cmath:621:5: note: ‘std::isinf’ isinf(_Tp __x) ^ In file included from /home/klugier/upp/uppsrc/Core/Core.h:246:0, from /home/klugier/upp/uppsrc/Draw/Draw.h:6, from /home/klugier/upp/uppsrc/RichText/RichText.h:4, from /home/klugier/upp/uppsrc/CtrlCore/CtrlCore.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.h:4, from /home/klugier/upp/uppsrc/CtrlLib/ChWin32.cpp:1: /home/klugier/upp/uppsrc/Core/Defs.h: In function ‘bool Upp::IsNaN(double)’: /home/klugier/upp/uppsrc/Core/Defs.h:344:52: error: ‘isnan’ was not declared in this scope inline bool IsNaN(double d) { return isnan(d); } ^ /home/klugier/upp/uppsrc/Core/Defs.h:344:52: note: suggested alternative: In file included from /usr/include/c++/5/random:38:0, from /usr/include/c++/5/bits/stl_algo.h:66, from /usr/include/c++/5/algorithm:62, from /home/klugier/upp/uppsrc/Core/Core.h:219, from /home/klugier/upp/uppsrc/Draw/Draw.h:6, from /home/klugier/upp/uppsrc/RichText/RichText.h:4, from /home/klugier/upp/uppsrc/CtrlCore/CtrlCore.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.h:4, from /home/klugier/upp/uppsrc/CtrlLib/ChWin32.cpp:1: /usr/include/c++/5/cmath:641:5: note: ‘std::isnan’ isnan(_Tp __x) ^ In file included from /home/klugier/upp/uppsrc/Core/Core.h:246:0, from /home/klugier/upp/uppsrc/Draw/Draw.h:6, from /home/klugier/upp/uppsrc/RichText/RichText.h:4, from /home/klugier/upp/uppsrc/CtrlCore/CtrlCore.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.h:4, from /home/klugier/upp/uppsrc/CtrlLib/ChWin32.cpp:1: /home/klugier/upp/uppsrc/Core/Defs.h: In function ‘bool Upp::IsInf(double)’: /home/klugier/upp/uppsrc/Core/Defs.h:345:52: error: ‘isinf’ was not declared in this scope inline bool IsInf(double d) { return isinf(d); } ^ /home/klugier/upp/uppsrc/Core/Defs.h:345:52: note: suggested alternative: In file included from /usr/include/c++/5/random:38:0, from /usr/include/c++/5/bits/stl_algo.h:66, from /usr/include/c++/5/algorithm:62, from /home/klugier/upp/uppsrc/Core/Core.h:219, from /home/klugier/upp/uppsrc/Draw/Draw.h:6, from /home/klugier/upp/uppsrc/RichText/RichText.h:4, from /home/klugier/upp/uppsrc/CtrlCore/CtrlCore.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.h:4, from /home/klugier/upp/uppsrc/CtrlLib/ChWin32.cpp:1: /usr/include/c++/5/cmath:621:5: note: ‘std::isinf’ isinf(_Tp __x) ^ In file included from /home/klugier/upp/uppsrc/Core/Core.h:246:0, from /home/klugier/upp/uppsrc/Draw/Draw.h:6, from /home/klugier/upp/uppsrc/RichText/RichText.h:4, from /home/klugier/upp/uppsrc/CtrlCore/CtrlCore.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.h:4, from /home/klugier/upp/uppsrc/CtrlLib/ChGtk.cpp:1: /home/klugier/upp/uppsrc/Core/Defs.h: In function ‘bool Upp::IsNaN(double)’: /home/klugier/upp/uppsrc/Core/Defs.h:344:52: error: ‘isnan’ was not declared in this scope inline bool IsNaN(double d) { return isnan(d); } ^ /home/klugier/upp/uppsrc/Core/Defs.h:344:52: note: suggested alternative: In file included from /usr/include/c++/5/random:38:0, from /usr/include/c++/5/bits/stl_algo.h:66, from /usr/include/c++/5/algorithm:62, from /home/klugier/upp/uppsrc/Core/Core.h:219, from /home/klugier/upp/uppsrc/Draw/Draw.h:6, from /home/klugier/upp/uppsrc/RichText/RichText.h:4, from /home/klugier/upp/uppsrc/CtrlCore/CtrlCore.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.h:4, from /home/klugier/upp/uppsrc/CtrlLib/ChGtk.cpp:1: /usr/include/c++/5/cmath:641:5: note: ‘std::isnan’ isnan(_Tp __x) ^ In file included from /home/klugier/upp/uppsrc/Core/Core.h:246:0, from /home/klugier/upp/uppsrc/Draw/Draw.h:6, from /home/klugier/upp/uppsrc/RichText/RichText.h:4, from /home/klugier/upp/uppsrc/CtrlCore/CtrlCore.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.h:4, from /home/klugier/upp/uppsrc/CtrlLib/ChGtk.cpp:1: /home/klugier/upp/uppsrc/Core/Defs.h: In function ‘bool Upp::IsInf(double)’: /home/klugier/upp/uppsrc/Core/Defs.h:345:52: error: ‘isinf’ was not declared in this scope inline bool IsInf(double d) { return isinf(d); } ^ /home/klugier/upp/uppsrc/Core/Defs.h:345:52: note: suggested alternative: In file included from /usr/include/c++/5/random:38:0, from /usr/include/c++/5/bits/stl_algo.h:66, from /usr/include/c++/5/algorithm:62, from /home/klugier/upp/uppsrc/Core/Core.h:219, from /home/klugier/upp/uppsrc/Draw/Draw.h:6, from /home/klugier/upp/uppsrc/RichText/RichText.h:4, from /home/klugier/upp/uppsrc/CtrlCore/CtrlCore.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.h:4, from /home/klugier/upp/uppsrc/CtrlLib/ChGtk.cpp:1: /usr/include/c++/5/cmath:621:5: note: ‘std::isinf’ isinf(_Tp __x) ^ In file included from /home/klugier/upp/uppsrc/Core/Core.h:246:0, from /home/klugier/upp/uppsrc/Draw/Draw.h:6, from /home/klugier/upp/uppsrc/RichText/RichText.h:4, from /home/klugier/upp/uppsrc/CtrlCore/CtrlCore.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.h:4, from /home/klugier/upp/uppsrc/CtrlLib/LabelBase.cpp:1, from /home/klugier/.upp/_out/examples/CtrlLib/GCC.Debug.Debug_Full.Gui.Mt.Shared/$blitz.cpp:3: /home/klugier/upp/uppsrc/Core/Defs.h: In function ‘bool Upp::IsNaN(double)’: /home/klugier/upp/uppsrc/Core/Defs.h:344:52: error: ‘isnan’ was not declared in this scope inline bool IsNaN(double d) { return isnan(d); } ^ /home/klugier/upp/uppsrc/Core/Defs.h:344:52: note: suggested alternative: In file included from /usr/include/c++/5/random:38:0, from /usr/include/c++/5/bits/stl_algo.h:66, from /usr/include/c++/5/algorithm:62, from /home/klugier/upp/uppsrc/Core/Core.h:219, from /home/klugier/upp/uppsrc/Draw/Draw.h:6, from /home/klugier/upp/uppsrc/RichText/RichText.h:4, from /home/klugier/upp/uppsrc/CtrlCore/CtrlCore.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.h:4, from /home/klugier/upp/uppsrc/CtrlLib/LabelBase.cpp:1, from /home/klugier/.upp/_out/examples/CtrlLib/GCC.Debug.Debug_Full.Gui.Mt.Shared/$blitz.cpp:3: /usr/include/c++/5/cmath:641:5: note: ‘std::isnan’ isnan(_Tp __x) ^ In file included from /home/klugier/upp/uppsrc/Core/Core.h:246:0, from /home/klugier/upp/uppsrc/Draw/Draw.h:6, from /home/klugier/upp/uppsrc/RichText/RichText.h:4, from /home/klugier/upp/uppsrc/CtrlCore/CtrlCore.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.h:4, from /home/klugier/upp/uppsrc/CtrlLib/LabelBase.cpp:1, from /home/klugier/.upp/_out/examples/CtrlLib/GCC.Debug.Debug_Full.Gui.Mt.Shared/$blitz.cpp:3: /home/klugier/upp/uppsrc/Core/Defs.h: In function ‘bool Upp::IsInf(double)’: /home/klugier/upp/uppsrc/Core/Defs.h:345:52: error: ‘isinf’ was not declared in this scope inline bool IsInf(double d) { return isinf(d); } ^ /home/klugier/upp/uppsrc/Core/Defs.h:345:52: note: suggested alternative: In file included from /usr/include/c++/5/random:38:0, from /usr/include/c++/5/bits/stl_algo.h:66, from /usr/include/c++/5/algorithm:62, from /home/klugier/upp/uppsrc/Core/Core.h:219, from /home/klugier/upp/uppsrc/Draw/Draw.h:6, from /home/klugier/upp/uppsrc/RichText/RichText.h:4, from /home/klugier/upp/uppsrc/CtrlCore/CtrlCore.h:4, from /home/klugier/upp/uppsrc/CtrlLib/CtrlLib.h:4, from /home/klugier/upp/uppsrc/CtrlLib/LabelBase.cpp:1, from /home/klugier/.upp/_out/examples/CtrlLib/GCC.Debug.Debug_Full.Gui.Mt.Shared/$blitz.cpp:3: /usr/include/c++/5/cmath:621:5: note: ‘std::isinf’ isinf(_Tp __x) ^
History
#1 Updated by Zbigniew Rebacz about 7 years ago
Attention adding std:: before this two method fix this issue.
#2 Updated by Zbigniew Rebacz about 7 years ago
- Status changed from New to Approved