https://bugs.kde.org/show_bug.cgi?id=441125

ol...@gmx.de changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|FIXED                       |---
             Status|RESOLVED                    |REOPENED
     Ever confirmed|0                           |1

--- Comment #3 from ol...@gmx.de ---
Thanks for the fixes! Did some tests just now:

- the change in trace_libunwind.cpp doesn't work yet; apparently cinttypes must
be included before libunwind.h.
I guess that libunwind.h includes inttypes.h on its own and therefore any later
inclusion of that file is ignored.


- with the default CentOS 7.2 compiler (g++ 4.8.5) there are several build
errors:

1)
/work/og/inst/heaptrack/src/track/libheaptrack.cpp:170:61: error: parameter
packs not expanded with ‘...’:
  - this looks like https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47226, ie. a
GCC bug


2)
/work/og/inst/heaptrack/src/analyze/accumulatedtracedata.cpp: In lambda
function:
/work/og/inst/heaptrack/src/analyze/accumulatedtracedata.cpp:219:61: error: no
matching function for call to ‘Suppression::Suppression(<brace-enclosed
initializer list>)’
                            return Suppression {pattern, 0, 0};
                                                             ^
  - incomplete C++11 support, I guess?


AFAIK GCC 4.8.5 only has partial support for C++11. I have now used GCC 7.3.1
from RedHats "Developer Toolset 7" suite instead, and after making the change
in trace_libunwind.cpp it compiles fine, and "heaptrack ls" works.

Personally I think it is not worth the trouble to support GCC 4.8.5.
I haven't found a good way though to enforce a good compiler though, apart from
a hardcoded version check like this:

if (CMAKE_COMPILER_IS_GNUCC)
    if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.3)
        message(FATAL_ERROR "Require at least GCC 7.3")
    endif()
endif()

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to