• Stephan Bergmann's avatar
    Better heuristic to only look through implicit copy/move ctors · 37fe0f72
    Stephan Bergmann yazdı
    At least recent libc++ has a std::string ctor overload without a (defaulted)
    Allocator argument (which otherwise causes creation of a temporary Allocator
    object and thus a ExprWithCleanups), so in C++17 mode (i.e., with no implicit
    move CXXConstructExpr -> MaterializeTemporaryExpr -> CXXBindTemporaryExpr chain
    in the way) CellInfo::toString (sw/source/filter/ww8/WW8TableInfo.cxx) has a
    ReturnStmt of just
    
    > ReturnStmt
    > `-ImplicitCastExpr 'std::string':'class std::__1::basic_string<char>' <ConstructorConversion>
    >   `-CXXConstructExpr 'std::string':'class std::__1::basic_string<char>' 'void (const char *)'
    >     `-ImplicitCastExpr 'const char *' <NoOp>
    >       `-ImplicitCastExpr 'char *' <ArrayToPointerDecay>
    >         `-DeclRefExpr 'char [256]' lvalue Var 'sBuffer' 'char [256]'
    
    that erroneously triggered loplugin:passstuffbyref.
    
    Change-Id: I53c8911cb1356560692c003808280a103c399e25
    Reviewed-on: https://gerrit.libreoffice.org/45916Tested-by: 's avatarJenkins <ci@libreoffice.org>
    Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
    37fe0f72
Adı
Son kayıt (commit)
Son güncelleme
..
clang Loading commit data...
.gitignore Loading commit data...
Makefile Loading commit data...
Makefile-clang.mk Loading commit data...
Makefile.mk Loading commit data...
README Loading commit data...