Re: Building for Clang is broken for snap-types

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 21 Oct 2016, Willem Jan Withagen wrote:
> On 20-10-2016 18:53, Gregory Farnum wrote:
> > On Thu, Oct 20, 2016 at 3:21 AM, Willem Jan Withagen <wjw@xxxxxxxxxxx> wrote:
> >> On 20-10-2016 02:49, Willem Jan Withagen wrote:
> >>> On 20-10-2016 02:21, Willem Jan Withagen wrote:
> >>>> On 19-10-2016 20:58, kefu chai wrote:
> >>>>> should have been fixed in master.
> >>>>
> >>>> Ehh,
> >>>>
> >>>> Not really.
> >>>> Just tested by running
> >>>> cd Ceph/master/ceph
> >>>> git pull
> >>>> ./do_freebsd.sh
> >>>>
> >>>> And I still get the same error.
> >>>>
> >>>> Guess I'll have to start bisecting to see where it went wrong.
> >>>
> >>> This is the actual commit going wrong
> >>>
> >>> commit c9c5235ef7d563b92f44dab63a8ac2b694e69d4f
> >>> Author: Sage Weil <sage@xxxxxxxxxx>
> >>> Date:   Wed Sep 14 13:32:20 2016 -0400
> >>>
> >>>     include/object: conditional denc_traits for snapid_t
> >>>
> >>>     Signed-off-by: Sage Weil <sage@xxxxxxxxxx>
> >>
> >> This all was in pull #11027
> >> Last commit that works is: dec0f05288dc4fce0f5ae2de7cf4dd8f9281fe1f
> >>
> >> That code is changing all kind of templates... And to be honest, I not
> >> very comfortable with that.
> >>
> >> But obviously GCC seems to able to promote type
> >>         'const vector<snapid_t>'
> >> in such a way that it can find a matching function, where as Clang is
> >> being more selective (as usual)
> > 
> > That's odd; isn't snapid_t a typedef for uint64_t?
> > There are a few things like that which are wrapped structs with
> > implicit conversions, in which case maybe it needs to be defined more
> > clearly for Clang in this case, or just give it an explicit template
> > wrapper pointing at le64 (or whichever one it's supposed to be).
> 
> The other value I see being used in dencode is indeed ceph_le64.
> 
> Although I understand what you are saying. It is not something that I
> can just pull out of my hat, since templates still are a large learning
> field for me.
> 
> So a hint would be appreciated.

It looks like clang is buggy.  At leasy, my fedora 23 version is

$ clang --version
clang version 3.7.0 (tags/RELEASE_370/final)
Target: x86_64-redhat-linux-gnu
Thread model: posix

This fixes the snapid_t compilation:

diff --git a/src/include/denc.h b/src/include/denc.h
index 59f7686..caa095b 100644
--- a/src/include/denc.h
+++ b/src/include/denc.h
@@ -722,7 +722,7 @@ struct denc_traits<
 template<typename T>
 struct denc_traits<
   std::vector<T>,
-  typename std::enable_if<denc_traits<T>::supported>::type> {
+  typename std::enable_if<denc_traits<T>::supported != 0>::type> {
   typedef denc_traits<T> traits;
 
   enum { supported = true };
@@ -831,7 +831,7 @@ struct denc_traits<
 template<typename T>
 struct denc_traits<
   std::set<T>,
-  typename std::enable_if<denc_traits<T>::supported>::type> {
+  typename std::enable_if<denc_traits<T>::supported != 0>::type> {
   typedef denc_traits<T> traits;
 
   enum { supported = true };

which, AFAICS, is nonsense... supported is either a bool or int, and in 
either case "supported" and "supported != 0" should be equivalent 
(right?).  But once I get past that clang crashes a few files later... see 
attached.

Maybe start by trying to upgrade clang?  Or submit a clang bug report? :/

(Perhaps you can use gcc for the time being?)

sage
      [ 50%] Building CXX object src/CMakeFiles/common.dir/common/lockdep.cc.o
'const ceph_msg_footer' for 1stllvm::sys::PrintStackTrace(llvm::raw_ostream&)  argument
(/usr/lib64/llvm/libLLVM-3.7.so+0x510327)
#1 0x7eff3e5c7881 (/usr/lib64/llvm/libLLVM-3.7.so+0x50f881)
[ 56%] Building CXX object src/CMakeFiles/common.dir/common/hex.cc.o
#2 0x7eff3dc94a00 __restore_rt (/lib64/libpthread.so.0+0x10a00)
#3 0x560d75652070 (/usr/bin/clang+0x10ea070)
#4 0x560d756552d1 (/usr/bin/clang+0x10ed2d1)
#5 0x560d75658e66 (/usr/bin/clang+0x10f0e66)
#6 0x560d75659857 (/usr/bin/clang+0x10f1857)
#7 0x560d756546d8 WRITE_RAW_ENCODER(ceph_msg_footer)(/usr/bin/clang+0x10ec6d8)

^
#8 0x560d756512b6 (/usr/bin/clang+0x10e92b6)
#9 0x560d756516f5 (/usr/bin/clang+0x10e96f5)
#10 0x560d756579ad (/usr/bin/clang+0x10ef9ad)
#11 0x560d756584ec (/usr/bin/clang+0x10f04ec)
#12 0x560d756598c3 (/usr/bin/clang+0x10f18c3)
/home/sage/src/ceph/src/include/encoding.h#13 0x560d75654f62 :65(/usr/bin/clang+0x10ecf62):
15#14 0x560d75654dfd :(/usr/bin/clang+0x10ecdfd) 
note#15 0x560d75655118 : (/usr/bin/clang+0x10ed118)expanded
 from#16 0x560d7565a8d7  macro(/usr/bin/clang+0x10f28d7)

      'WRITE_RAW_ENCODER'#17 0x560d74b7a2a9 
clang::CodeGen::CodeGenModule::getMangledName(clang::GlobalDecl) (/usr/bin/clang+0x6122a9)
#18 0x560d74b85ec3 clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) (/usr/bin/clang+0x61dec3)
#19 0x560d74b86918 clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) (/usr/bin/clang+0x61e918)
#20 0x560d74b0be0f (/usr/bin/clang+0x5a3e0f)
#21 0x560d74af9074 (/usr/bin/clang+0x591074)
#22 0x560d7513e315 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool) (/usr/bin/clang+0xbd6315)
#23 0x560d74f25913 clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool) (/usr/bin/clang+0x9bd913)
#24 0x560d74f2ad6e (/usr/bin/clang+0x9c2d6e)
#25 0x560d74f2af32 clang::Sema::MarkDeclRefReferenced(clang::DeclRefExpr*) (/usr/bin/clang+0x9c2f32)
#26 0x560d7503fce2 clang::Sema::FixOverloadedFunctionReference(clang::Expr*, clang::DeclAccessPair, clang::FunctionDecl*) (/usr/bin/clang+0xad7ce2)
#27 0x560d7505e51b (/usr/bin/clang+0xaf651b)
#28 0x560d7505efec   inline void encode(const type &v, bufferlist& bl, uint64_t features=0) ...
              ^
clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool) (/usr/bin/clang+0xaf6fec)
#29 0x560d74f3345f clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool) (/usr/bin/clang+0x9cb45f)
#30 0x560d74d2bdcb clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*, true>) (/usr/bin/clang+0x7c3dcb)
#31 0x560d74d2665f clang::Parser::ParseCastExpression(bool, bool, bool&, clang::Parser::TypeCastState) (/usr/bin/clang+0x7be65f)
#32 0x560d74d2939d clang::Parser::ParseCastExpression(bool, bool, clang::Parser::TypeCastState) (/usr/bin/clang+0x7c139d)
#33 0x560d74d273d1 clang::Parser::ParseCastExpression(bool, bool, bool&, clang::Parser::TypeCastState) (/usr/bin/clang+0x7bf3d1)
#34 0x560d74d2939d clang::Parser::ParseCastExpression(bool, bool, clang::Parser::TypeCastState) (/usr/bin/clang+0x7c139d)
#35 0x560d74d2942f clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) (/usr/bin/clang+0x7c142f)
#36 0x560d74d2b58a clang::Parser::ParseExpressionList(llvm::SmallVectorImpl<clang::Expr*>&, llvm::SmallVectorImpl<clang::SourceLocation>&, std::function<void ()>) (/usr/bin/clang+0x7c358a)
#37 0x560d74d2c8fd clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*, true>) (/usr/bin/clang+0x7c48fd)
/home/sage/src/ceph/src/include/types.h:#38 0x560d74d2665f 268:1: note: clang::Parser::ParseCastExpression(bool, bool, bool&, clang::Parser::TypeCastState) (/usr/bin/clang+0x7be65f)candidate 
function#39 0x560d74d2939d  clang::Parser::ParseCastExpression(bool, bool, clang::Parser::TypeCastState) not
      (/usr/bin/clang+0x7c139d)viable: 
no#40 0x560d74d2942f  clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) known (/usr/bin/clang+0x7c142f)conversion 
from#41 0x560d74d294a9  clang::Parser::ParseExpression(clang::Parser::TypeCastState) 'const std::list<__u32>' (/usr/bin/clang+0x7c14a9)to 
#42 0x560d74d66eb9 'const
clang::Parser::ParseExprStatement()       (/usr/bin/clang+0x7feeb9)ceph_msg_footer_old' for
 #43 0x560d74d6465f 1stclang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, bool, clang::SourceLocation*, clang::Parser::ParsedAttributesWithRange&)  argument
WRITE_RAW_ENCODER(ceph_msg_footer_old)(/usr/bin/clang+0x7fc65f)
#44 0x560d74d647f7 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, bool, clang::SourceLocation*) (/usr/bin/clang+0x7fc7f7)
#45 0x560d74d6492a clang::Parser::ParseStatement(clang::SourceLocation*) (/usr/bin/clang+0x7fc92a)
#46 0x560d74d67c35 clang::Parser::ParseIfStatement(clang::SourceLocation*) (/usr/bin/clang+0x7ffc35)
#47 0x560d74d6427b clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, bool, clang::SourceLocation*, clang::Parser::ParsedAttributesWithRange&) 
^(/usr/bin/clang+0x7fc27b)
/home/sage/src/ceph/src/include/encoding.h
#48 0x560d74d647f7 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, bool, clang::SourceLocation*) (/usr/bin/clang+0x7fc7f7)
#49 0x560d74d69156 clang::Parser::ParseCompoundStatementBody(bool) (/usr/bin/clang+0x801156):
65#50 0x560d74d3c7ba :15clang::Parser::ParseLambdaExpressionAfterIntroducer(clang::LambdaIntroducer&) :(/usr/bin/clang+0x7d47ba) note
: #51 0x560d74d3e42b expandedclang::Parser::ParseLambdaExpression()  from(/usr/bin/clang+0x7d642b) macro

#52 0x560d74d27a8d       clang::Parser::ParseCastExpression(bool, bool, bool&, clang::Parser::TypeCastState) 'WRITE_RAW_ENCODER'
(/usr/bin/clang+0x7bfa8d)  inline void encode(const type &v, bufferlist& bl, uint64_t features=0) ...
#53 0x560d74d2939d clang::Parser::ParseCastExpression(bool, bool, clang::Parser::TypeCastState) (/usr/bin/clang+0x7c139d)
#54 0x560d74d2942f clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) (/usr/bin/clang+0x7c142f)
#55 0x560d74d2b58a clang::Parser::ParseExpressionList(llvm::SmallVectorImpl<clang::Expr*>&, llvm::SmallVectorImpl<clang::SourceLocation>&, std::function<void ()>) (/usr/bin/clang+0x7c358a)
#56 0x560d74d2c8fd clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*, true>) (/usr/bin/clang+0x7c48fd)
#57 0x560d74d2665f clang::Parser::ParseCastExpression(bool, bool, bool&, clang::Parser::TypeCastState) 
              ^(/usr/bin/clang+0x7be65f)

/home/sage/src/ceph/src/include/types.h#58 0x560d74d2939d clang::Parser::ParseCastExpression(bool, bool, clang::Parser::TypeCastState) (/usr/bin/clang+0x7c139d)
#59 0x560d74d273d1 clang::Parser::ParseCastExpression(bool, bool, bool&, clang::Parser::TypeCastState) (/usr/bin/clang+0x7bf3d1)
#60 0x560d74d2939d clang::Parser::ParseCastExpression(bool, bool, clang::Parser::TypeCastState) (/usr/bin/clang+0x7c139d)
#61 0x560d74d2942f clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) (/usr/bin/clang+0x7c142f)
#62 0x560d74cfc7a5 clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) (/usr/bin/clang+0x7947a5)
#63 0x560d74d0abfa clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, unsigned int, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/usr/bin/clang+0x7a2bfa):
269#64 0x560d74d0dad4 :clang::Parser::ParseSimpleDeclaration(unsigned int, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&, bool, clang::Parser::ForRangeInit*) 1: (/usr/bin/clang+0x7a5ad4)note: 
candidate#65 0x560d74d0dd9d  clang::Parser::ParseDeclaration(unsigned int, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&) function (/usr/bin/clang+0x7a5d9d)not

      #66 0x560d74d645cf viable:clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, bool, clang::SourceLocation*, clang::Parser::ParsedAttributesWithRange&)  no known(/usr/bin/clang+0x7fc5cf) 
conversion#67 0x560d74d647f7  fromclang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, bool, clang::SourceLocation*)  'const std::list<__u32>'(/usr/bin/clang+0x7fc7f7) to
 #68 0x560d74d69156 'constclang::Parser::ParseCompoundStatementBody(bool) 
      (/usr/bin/clang+0x801156)ceph_mon_subscribe_item' 
for#69 0x560d74d6987e  clang::Parser::ParseCompoundStatement(bool, unsigned int) 1st (/usr/bin/clang+0x80187e)argument

WRITE_RAW_ENCODER(ceph_mon_subscribe_item)#70 0x560d74d698c2 clang::Parser::ParseCompoundStatement(bool) (/usr/bin/clang+0x8018c2)
#71 0x560d74d643da clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, bool, clang::SourceLocation*, clang::Parser::ParsedAttributesWithRange&) (/usr/bin/clang+0x7fc3da)
#72 0x560d74d647f7 
clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, bool, clang::SourceLocation*) ^
(/usr/bin/clang+0x7fc7f7)/home/sage/src/ceph/src/include/encoding.h
#73 0x560d74d6492a clang::Parser::ParseStatement(clang::SourceLocation*) :(/usr/bin/clang+0x7fc92a)65:
15#74 0x560d74d67c35 : clang::Parser::ParseIfStatement(clang::SourceLocation*) note: (/usr/bin/clang+0x7ffc35)expanded 
from#75 0x560d74d6427b  clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, bool, clang::SourceLocation*, clang::Parser::ParsedAttributesWithRange&) macro
(/usr/bin/clang+0x7fc27b)      'WRITE_RAW_ENCODER'

#76 0x560d74d647f7   inline void encode(const type &v, bufferlist& bl, uint64_t features=0) ...clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, bool, clang::SourceLocation*) (/usr/bin/clang+0x7fc7f7)
#77 0x560d74d69156 clang::Parser::ParseCompoundStatementBody(bool) (/usr/bin/clang+0x801156)
#78 0x560d74d6b8f6 clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) (/usr/bin/clang+0x8038f6)
#79 0x560d74cf0bfe clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) (/usr/bin/clang+0x788bfe)

#80 0x560d74d0b1c1               ^clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, unsigned int, clang::SourceLocation*, clang::Parser::ForRangeInit*) 
/home/sage/src/ceph/src/include/types.h(/usr/bin/clang+0x7a31c1)
#81 0x560d74ced402 clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/usr/bin/clang+0x785402)
#82 0x560d74ced9c3 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/usr/bin/clang+0x7859c3)
:#83 0x560d74cf36cd 271clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) :1:(/usr/bin/clang+0x78b6cd) 
note: #84 0x560d74cf4052 candidateclang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&)  function(/usr/bin/clang+0x78c052) not

#85 0x560d74ce931b       viable:clang::ParseAST(clang::Sema&, bool, bool)  (/usr/bin/clang+0x78131b)no 
known#86 0x560d74af9d81  clang::CodeGenAction::ExecuteAction() conversion (/usr/bin/clang+0x591d81)from 
'const std::list<__u32>'#87 0x560d749434ce  clang::FrontendAction::Execute() to
(/usr/bin/clang+0x3db4ce)      
'const ceph_mon_statfs'#88 0x560d74916381  forclang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/bin/clang+0x3ae381) 1st argument

WRITE_RAW_ENCODER(ceph_mon_statfs)#89 0x560d748fcae1 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/bin/clang+0x394ae1)
#90 0x560d748f62b8 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang+0x38e2b8)
#91 0x560d748f2bf2 main (/usr/bin/clang+0x38abf2)
#92 0x7eff3cb5d580 __libc_start_main (/lib64/libc.so.6+0x20580)

^#93 0x560d748f5179 
/home/sage/src/ceph/src/include/encoding.h_start (/usr/bin/clang+0x38d179)
Stack dump:
:65:15: note: expanded from macro
      'WRITE_RAW_ENCODER'
  inline void encode(const type &v, bufferlist& bl, uint64_t features=0) ...0.	Program arguments: /usr/bin/clang -cc1 -triple x86_64-redhat-linux-gnu -emit-obj -disable-free -disable-llvm-verifier -main-file-name AsyncConnection.cc
               ^-mrelocation-model
 pic/home/sage/src/ceph/src/include/types.h -pic-level 2 -mthread-model posix -relaxed-aliasing -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -target-linker-version 2.25 -momit-leaf-frame-pointer -g -dwarf-column-info -coverage-file /home/sage/src/ceph/build.clang/src/CMakeFiles/common.dir/msg/async/AsyncConnection.cc.o -resource-dir: 272/usr/bin/../lib/clang/3.7.0 :-D1 :CEPH_LIBDIR="/usr/local/lib64"  note-D:  candidateCEPH_PKGLIBDIR="/usr/local/lib64/ceph"  -Dfunction  __linux__not 
-D       viable:HAVE_CONFIG_H  no-D  known__CEPH__  -Dconversion  _REENTRANTfrom  -D'const std::list<__u32>' _THREAD_SAFE  to-D  'const__STDC_FORMAT_MACROS
       -Iceph_mon_statfs_reply'  /home/sage/src/ceph/build.clang/src/includefor  -I1st  /home/sage/src/ceph/srcargument -I
 WRITE_RAW_ENCODER(ceph_mon_statfs_reply)/home/sage/src/ceph/build.clang/include -I /home/sage/src/ceph/src/xxHash -I /usr/include/nss3 -I /usr/include/nspr4 
-internal-isystem^ /usr/bin/../lib/gcc/x86_64-redhat-linux/5.3.1/../../../../include/c++/5.3.1
/home/sage/src/ceph/src/include/encoding.h -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/5.3.1/../../../../include/c++/5.3.1/x86_64-redhat-linux :-internal-isystem65 :/usr/bin/../lib/gcc/x86_64-redhat-linux/5.3.1/../../../../include/c++/5.3.1/backward15 :-internal-isystem  note/usr/local/include:  expanded-internal-isystem  from/usr/bin/../lib/clang/3.7.0/include  -internal-externc-isystemmacro 
/include       -internal-externc-isystem'WRITE_RAW_ENCODER' 
/usr/include  inline void encode(const type &v, bufferlist& bl, uint64_t features=0) ... -O2 -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -Wno-inconsistent-missing-override -Wno-mismatched-tags -Wno-unused-function -Wno-unused-local-typedef -Wno-inconsistent-missing-override -Wno-unused-private-field 
-Wno-varargs              ^ -Wno-gnu-designator
 /home/sage/src/ceph/src/include/types.h-Wno-mismatched-tags -Wno-missing-braces -Wno-parentheses -Wno-deprecated-register -Wno-invalid-offsetof -Wnon-virtual-dtor -std=c++11 -fdeprecated-macro -fdebug-compilation-dir: 298/home/sage/src/ceph/build.clang/src: 1-ftemplate-depth:  note1024 : -ferror-limitcandidate  19function -fmessage-length  not81
       viable:-mstackrealign  -fobjc-runtime=gccno  -fcxx-exceptionsknown  -fexceptionsconversion  -fdiagnostics-show-optionfrom  -vectorize-loops'const std::list<__u32>'  -vectorize-slpto 
-o       CMakeFiles/common.dir/msg/async/AsyncConnection.cc.o'const client_t'  -xfor  c++1st  /home/sage/src/ceph/src/msg/async/AsyncConnection.ccargument 

WRITE_CLASS_ENCODER(client_t)1.	/home/sage/src/ceph/src/msg/async/AsyncConnection.cc
:^1725
:/home/sage/src/ceph/src/include/encoding.h68: current parser token ')'
2:.	153:/home/sage/src/ceph/src/msg/async/AsyncConnection.cc15: :note1444: :expanded1 : fromparsing function body  'macro
      'WRITE_CLASS_ENCODER'
handle_connect_msg  inline void encode(const cl &c, bufferlist &bl, uint64_t features=0) { \'
3.	/home/sage/src/ceph/src/msg/async/AsyncConnection.cc:1444:1: in compound statement ('{}')

              ^4.	/home/sage/src/ceph/src/msg/async/AsyncConnection.cc
/home/sage/src/ceph/src/include/types.h:1640:10: in compound statement ('{}')
5.	/home/sage/src/ceph/src/msg/async/AsyncConnection.cc:1682:9: lambda expression parsing
6.	/home/sage/src/ceph/src/msg/async/AsyncConnection.cc:1682:107: in compound statement ('{}')
7.	:474:1: note: candidate/usr/bin/../lib/gcc/x86_64-redhat-linux/5.3.1/../../../../include/c++/5.3.1/bits/move.h :function101 not
      :5viable: no known conversion:  fromLLVM IR generation of declaration 'const std::list<__u32>' ' to
      'const shard_id_t' forstd:: 1st argumentmove
'
8.	/usr/bin/../lib/gcc/x86_64-redhat-linux/5.3.1/../../../../include/c++/5.3.1/bits/move.h:101:5: Mangling declaration 'std::WRITE_CLASS_ENCODER(shard_id_t)move'

...

[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux