autofdo: source_info.h:56:19: error: ‘getBaseDiscriminatorFromDiscriminator’ is not a member of ‘llvm::DILocation’

sys-devel/llvm-3.9.1-r1 sys-devel/gcc-5.4.0-r3

I’m trying to compile the tool under gentoo and facing the following compilation error:

mv -f $depbase.Tpo $depbase.Po
depbase=`echo module_grouper.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -std=gnu++11 -g -O2 -std=gnu++11 -MT module_grouper.o -MD -MP -MF $depbase.Tpo -c -o module_grouper.o module_grouper.cc &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo profile_creator.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -std=gnu++11 -g -O2 -std=gnu++11 -MT profile_creator.o -MD -MP -MF $depbase.Tpo -c -o profile_creator.o profile_creator.cc &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo profile_writer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -std=gnu++11 -g -O2 -std=gnu++11 -MT profile_writer.o -MD -MP -MF $depbase.Tpo -c -o profile_writer.o profile_writer.cc &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo sample_reader.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -std=gnu++11 -g -O2 -std=gnu++11 -MT sample_reader.o -MD -MP -MF $depbase.Tpo -c -o sample_reader.o sample_reader.cc &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo source_info.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -std=gnu++11 -g -O2 -std=gnu++11 -MT source_info.o -MD -MP -MF $depbase.Tpo -c -o source_info.o source_info.cc &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo symbol_map.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -std=gnu++11 -g -O2 -std=gnu++11 -MT symbol_map.o -MD -MP -MF $depbase.Tpo -c -o symbol_map.o symbol_map.cc &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo profile.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -std=gnu++11 -g -O2 -std=gnu++11 -MT profile.o -MD -MP -MF $depbase.Tpo -c -o profile.o profile.cc &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo create_gcov.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -std=gnu++11 -g -O2 -std=gnu++11 -MT create_gcov.o -MD -MP -MF $depbase.Tpo -c -o create_gcov.o create_gcov.cc &&\
mv -f $depbase.Tpo $depbase.Po
g++ -std=gnu++11 -g -O2 -std=gnu++11   -o create_gcov addr2line.o gcov.o instruction_map.o module_grouper.o profile_creator.o profile_writer.o sample_reader.o source_info.o symbol_map.o profile.o create_gcov.o libquipper.a libglog.a libsymbolize.a libgflags.a -lz -lcrypto 
depbase=`echo profile_reader.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -std=gnu++11 -g -O2 -std=gnu++11 -MT profile_reader.o -MD -MP -MF $depbase.Tpo -c -o profile_reader.o profile_reader.cc &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo dump_gcov.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -std=gnu++11 -g -O2 -std=gnu++11 -MT dump_gcov.o -MD -MP -MF $depbase.Tpo -c -o dump_gcov.o dump_gcov.cc &&\
mv -f $depbase.Tpo $depbase.Po
g++ -std=gnu++11 -g -O2 -std=gnu++11   -o dump_gcov profile_reader.o symbol_map.o module_grouper.o gcov.o dump_gcov.o libglog.a libgflags.a libsymbolize.a -lz -lcrypto 
depbase=`echo sample_merger.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -std=gnu++11 -g -O2 -std=gnu++11 -MT sample_merger.o -MD -MP -MF $depbase.Tpo -c -o sample_merger.o sample_merger.cc &&\
mv -f $depbase.Tpo $depbase.Po
g++ -std=gnu++11 -g -O2 -std=gnu++11   -o sample_merger addr2line.o gcov.o instruction_map.o module_grouper.o profile_creator.o profile_writer.o sample_reader.o source_info.o symbol_map.o profile.o sample_merger.o libquipper.a libglog.a libsymbolize.a libgflags.a -lz -lcrypto 
depbase=`echo profile_merger.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -std=gnu++11 -g -O2 -std=gnu++11 -MT profile_merger.o -MD -MP -MF $depbase.Tpo -c -o profile_merger.o profile_merger.cc &&\
mv -f $depbase.Tpo $depbase.Po
g++ -std=gnu++11 -g -O2 -std=gnu++11   -o profile_merger addr2line.o gcov.o instruction_map.o module_grouper.o profile_creator.o profile_writer.o sample_reader.o source_info.o symbol_map.o profile.o profile_reader.o profile_merger.o libquipper.a libglog.a libsymbolize.a libgflags.a -lz -lcrypto 
depbase=`echo profile_diff.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -std=gnu++11 -g -O2 -std=gnu++11 -MT profile_diff.o -MD -MP -MF $depbase.Tpo -c -o profile_diff.o profile_diff.cc &&\
mv -f $depbase.Tpo $depbase.Po
g++ -std=gnu++11 -g -O2 -std=gnu++11   -o profile_diff addr2line.o gcov.o instruction_map.o module_grouper.o profile_creator.o profile_writer.o sample_reader.o source_info.o symbol_map.o profile.o profile_reader.o profile_diff.o libquipper.a libglog.a libsymbolize.a libgflags.a -lz -lcrypto 
depbase=`echo profile_update.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -std=gnu++11 -g -O2 -std=gnu++11 -MT profile_update.o -MD -MP -MF $depbase.Tpo -c -o profile_update.o profile_update.cc &&\
mv -f $depbase.Tpo $depbase.Po
g++ -std=gnu++11 -g -O2 -std=gnu++11   -o profile_update addr2line.o gcov.o instruction_map.o module_grouper.o profile_creator.o profile_writer.o sample_reader.o source_info.o symbol_map.o profile.o profile_reader.o profile_update.o libquipper.a libglog.a libsymbolize.a libgflags.a -lz -lcrypto 
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -I/usr/include   -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -g -O2 -std=gnu++11 -MT create_llvm_prof-addr2line.o -MD -MP -MF .deps/create_llvm_prof-addr2line.Tpo -c -o create_llvm_prof-addr2line.o `test -f 'addr2line.cc' || echo './'`addr2line.cc
mv -f .deps/create_llvm_prof-addr2line.Tpo .deps/create_llvm_prof-addr2line.Po
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -I/usr/include   -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -g -O2 -std=gnu++11 -MT create_llvm_prof-gcov.o -MD -MP -MF .deps/create_llvm_prof-gcov.Tpo -c -o create_llvm_prof-gcov.o `test -f 'gcov.cc' || echo './'`gcov.cc
mv -f .deps/create_llvm_prof-gcov.Tpo .deps/create_llvm_prof-gcov.Po
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -I/usr/include   -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -g -O2 -std=gnu++11 -MT create_llvm_prof-instruction_map.o -MD -MP -MF .deps/create_llvm_prof-instruction_map.Tpo -c -o create_llvm_prof-instruction_map.o `test -f 'instruction_map.cc' || echo './'`instruction_map.cc
mv -f .deps/create_llvm_prof-instruction_map.Tpo .deps/create_llvm_prof-instruction_map.Po
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -I/usr/include   -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -g -O2 -std=gnu++11 -MT create_llvm_prof-module_grouper.o -MD -MP -MF .deps/create_llvm_prof-module_grouper.Tpo -c -o create_llvm_prof-module_grouper.o `test -f 'module_grouper.cc' || echo './'`module_grouper.cc
mv -f .deps/create_llvm_prof-module_grouper.Tpo .deps/create_llvm_prof-module_grouper.Po
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -I/usr/include   -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -g -O2 -std=gnu++11 -MT create_llvm_prof-profile_creator.o -MD -MP -MF .deps/create_llvm_prof-profile_creator.Tpo -c -o create_llvm_prof-profile_creator.o `test -f 'profile_creator.cc' || echo './'`profile_creator.cc
mv -f .deps/create_llvm_prof-profile_creator.Tpo .deps/create_llvm_prof-profile_creator.Po
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -I/usr/include   -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -g -O2 -std=gnu++11 -MT create_llvm_prof-profile_writer.o -MD -MP -MF .deps/create_llvm_prof-profile_writer.Tpo -c -o create_llvm_prof-profile_writer.o `test -f 'profile_writer.cc' || echo './'`profile_writer.cc
mv -f .deps/create_llvm_prof-profile_writer.Tpo .deps/create_llvm_prof-profile_writer.Po
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -I/usr/include   -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -g -O2 -std=gnu++11 -MT create_llvm_prof-sample_reader.o -MD -MP -MF .deps/create_llvm_prof-sample_reader.Tpo -c -o create_llvm_prof-sample_reader.o `test -f 'sample_reader.cc' || echo './'`sample_reader.cc
mv -f .deps/create_llvm_prof-sample_reader.Tpo .deps/create_llvm_prof-sample_reader.Po
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -I/usr/include   -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -g -O2 -std=gnu++11 -MT create_llvm_prof-source_info.o -MD -MP -MF .deps/create_llvm_prof-source_info.Tpo -c -o create_llvm_prof-source_info.o `test -f 'source_info.cc' || echo './'`source_info.cc
mv -f .deps/create_llvm_prof-source_info.Tpo .deps/create_llvm_prof-source_info.Po
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -I/usr/include   -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -g -O2 -std=gnu++11 -MT create_llvm_prof-symbol_map.o -MD -MP -MF .deps/create_llvm_prof-symbol_map.Tpo -c -o create_llvm_prof-symbol_map.o `test -f 'symbol_map.cc' || echo './'`symbol_map.cc
mv -f .deps/create_llvm_prof-symbol_map.Tpo .deps/create_llvm_prof-symbol_map.Po
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -I/usr/include   -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -g -O2 -std=gnu++11 -MT create_llvm_prof-profile.o -MD -MP -MF .deps/create_llvm_prof-profile.Tpo -c -o create_llvm_prof-profile.o `test -f 'profile.cc' || echo './'`profile.cc
mv -f .deps/create_llvm_prof-profile.Tpo .deps/create_llvm_prof-profile.Po
g++ -DHAVE_CONFIG_H -I. -I./glog/src  -I. -I./glog/src  -I/usr/include   -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -g -O2 -std=gnu++11 -MT create_llvm_prof-llvm_profile_writer.o -MD -MP -MF .deps/create_llvm_prof-llvm_profile_writer.Tpo -c -o create_llvm_prof-llvm_profile_writer.o `test -f 'llvm_profile_writer.cc' || echo './'`llvm_profile_writer.cc
In file included from symbol_map.h:30:0,
                 from profile_writer.h:21,
                 from llvm_profile_writer.h:7,
                 from llvm_profile_writer.cc:30:
source_info.h: In member function ‘uint32 autofdo::SourceInfo::Offset(bool) const’:
source_info.h:56:19: error: ‘getBaseDiscriminatorFromDiscriminator’ is not a member of ‘llvm::DILocation’
                 ? llvm::DILocation::getBaseDiscriminatorFromDiscriminator(
                   ^
source_info.h: In member function ‘uint32 autofdo::SourceInfo::DuplicationFactor() const’:
source_info.h:66:12: error: ‘getDuplicationFactorFromDiscriminator’ is not a member of ‘llvm::DILocation’
     return llvm::DILocation::getDuplicationFactorFromDiscriminator(
            ^
llvm_profile_writer.cc: In member function ‘virtual void autofdo::LLVMProfileBuilder::VisitCallsite(const Callsite&)’:
llvm_profile_writer.cc:100:32: error: no match for ‘operator[]’ (operand types are ‘llvm::sampleprof::FunctionSamples’ and ‘llvm::StringRef’)
           line, discriminator))[CalleeName];
                                ^
make[1]: *** [Makefile:1055: create_llvm_prof-llvm_profile_writer.o] Error 1

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 20 (7 by maintainers)

Commits related to this issue

Most upvoted comments

I assume this is fixed? Please re-open if otherwise.