Bug 387331

Summary: loss of data warnings in Column
Product: [Applications] LabPlot2 Reporter: uwestoehr <uwestoehr>
Component: backendAssignee: Stefan Gerlach <stefan.gerlach>
Status: RESOLVED LATER    
Severity: normal CC: stefan.gerlach
Priority: NOR    
Version First Reported In: latest   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed/Implemented In: 2.5
Sentry Crash Report:

Description uwestoehr 2017-11-27 00:05:25 UTC
I get:

2>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(536): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
2>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(536): warning C4365: 'argument': conversion from 'std::size_t' to 'int', signed/unsigned mismatch
2>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(537): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
2>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(537): warning C4365: 'argument': conversion from 'std::size_t' to 'int', signed/unsigned mismatch
2>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(539): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
2>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(539): warning C4365: 'argument': conversion from 'std::size_t' to 'int', signed/unsigned mismatch
2>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(540): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
2>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(540): warning C4365: 'argument': conversion from 'std::size_t' to 'int', signed/unsigned mismatch
2>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(559): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
2>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(559): warning C4365: 'argument': conversion from 'std::size_t' to 'int', signed/unsigned mismatch
2>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(560): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
2>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(560): warning C4365: 'argument': conversion from 'std::size_t' to 'int', signed/unsigned mismatch
2>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(765): warning C4365: 'argument': conversion from 'int' to 'std::size_t', signed/unsigned mismatch
2>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(769): warning C4365: 'argument': conversion from 'int' to 'std::size_t', signed/unsigned mismatch
2>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(855): warning C4127: conditional expression is constant
2>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(859): warning C4127: conditional expression is constant
2>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(867): warning C4127: conditional expression is constant
2>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(871): warning C4127: conditional expression is constant
2>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(931): warning C4127: conditional expression is constant
Comment 1 uwestoehr 2017-12-13 23:10:08 UTC
Now only these remain:

1>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(855): warning C4127: conditional expression is constant
1>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(859): warning C4127: conditional expression is constant
1>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(867): warning C4127: conditional expression is constant
1>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(871): warning C4127: conditional expression is constant
1>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(931): warning C4127: conditional expression is constant
Comment 2 Stefan Gerlach 2017-12-13 23:21:27 UTC
Git commit f4575a2522de591900d9247fdf70aa69c9c943c5 by Stefan Gerlach.
Committed on 13/12/2017 at 23:20.
Pushed by sgerlach into branch 'master'.

FIXED-IN: 2.5

M  +5    -5    src/backend/core/column/Column.cpp

https://commits.kde.org/labplot/f4575a2522de591900d9247fdf70aa69c9c943c5
Comment 3 uwestoehr 2017-12-13 23:32:42 UTC
Strange because now I get this:

1>C:\CraftRoot\labplot\src\backend\core\column\Column.cpp(1196): warning C4714: function 'QString QString::trimmed(void) &&' marked as __forceinline not inlined
1>  C:\Qt\Qt5.9.3\5.9.3\msvc2015_64\include\QtCore/qstring.h(407): note: see declaration of 'QString::trimmed'
Comment 4 Stefan Gerlach 2017-12-14 06:12:40 UTC
Something we can not fix ourself:

"The compiler is unable to inline a function that has a return type with a nontrivial destructor. This is a limitation of the compiler; the compiler team is looking at improving this for a future release."
from https://stackoverflow.com/questions/34331617/msvc-why-are-functions-containing-basic-qstring-operations-not-inlined
Comment 5 uwestoehr 2017-12-14 12:53:51 UTC
> Something we can not fix ourself:

Thank you for this link. This helps me with other projects where i get the same warnings.