Fix FTBFS problem with GCC-6 31/107131/1 accepted/tizen_common accepted/tizen_ivi accepted/tizen_mobile accepted/tizen_tv accepted/tizen_wearable accepted/tizen/4.0/unified/20170816.011347 accepted/tizen/common/20161227.192435 accepted/tizen/ivi/20161227.091323 accepted/tizen/mobile/20161227.091229 accepted/tizen/tv/20161227.091248 accepted/tizen/unified/20170309.040258 accepted/tizen/wearable/20161227.091304 submit/tizen/20161227.013022 submit/tizen/20161227.013116 submit/tizen_4.0/20170811.094300 submit/tizen_unified/20170308.100415 tizen_4.0.m1_release
authorWilliam Cohen <wcohen@redhat.com>
Fri, 5 Feb 2016 22:30:19 +0000 (17:30 -0500)
committerHyeongsik Min <hyeongsik.min@samsung.com>
Tue, 27 Dec 2016 00:52:39 +0000 (09:52 +0900)
GCC-6 is pickier about some of the type conversions causing the Fedora
24 mass rebuild the build of oprofile failed with:

make[3]: Entering directory '/builddir/build/BUILD/oprofile-1.1.0/libutil++'
g++ -DHAVE_CONFIG_H -I. -I..  -I ../libutil -I ../libop -I ../libpp   -W -Wall -fno-common -ftemplate-depth-50 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -c -o op_bfd.o op_bfd.cpp
op_bfd.cpp: In member function 'void op_bfd::get_symbol_range(symbol_index_t, long long unsigned int&, long long unsigned int&) const':
op_bfd.cpp:538:47: error: cannot convert 'std::ostream {aka std::basic_ostream<char>}' to 'const bool' in initialization
  bool const verbose = cverb << (vbfd & vlevel1);
                                               ^
op_bfd.cpp:546:7: error: in argument to unary !
  if (!verbose)
       ^~~~~~~

Avoid the intermediate bool type to make GCC-6 happy.

Change-Id: I84a535ffa30ea7c3b46682309d3881ca016910b4
Signed-off-by: William Cohen <wcohen@redhat.com>
libutil++/op_bfd.cpp

index 389c92018ad58acd172466356e31ec3ac4bf1641..f2eb42b0f749ace7a66112417e34d580a9a570a5 100644 (file)
@@ -535,15 +535,13 @@ void op_bfd::get_symbol_range(symbol_index_t sym_idx,
 {
        op_bfd_symbol const & sym = syms[sym_idx];
 
-       bool const verbose = cverb << (vbfd & vlevel1);
-
        if (anon_obj)
                start = sym.vma();
        else
                start = sym.filepos();
        end = start + sym.size();
 
-       if (!verbose)
+       if (!(cverb << (vbfd & vlevel1)))
                return;
 
        io_state state(cverb << (vbfd & vlevel1));