Files
odfstudio/solenv/CompilerTest_compilerplugins_clang.mk
Neil Roberts 48535514d4 Add a compiler plugin to detect &*smart_pointer
Adds a compiler plugin to detect cases of dereferencing a smart
pointer (such as unique_ptr or UnoCursorPointer) and then immediately
taking the address of the reference. In that case it is better to just
call get() on the pointer. This is particularly important if the pointer
can be null because in that case the initial dereference results in
undefined behaviour.

Change-Id: Ib1cca00c9180572f446721b90f83aa7fddb88c7d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211756
Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
Tested-by: Jenkins
2026-10-07 08:42:08 +02:00

142 lines
6.2 KiB
Makefile

# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t; fill-column: 100 -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_CompilerTest_CompilerTest,compilerplugins_clang))
$(eval $(call gb_CompilerTest_add_exception_objects,compilerplugins_clang, \
compilerplugins/clang/test/badstatics \
compilerplugins/clang/test/blockblock \
compilerplugins/clang/test/bufferadd \
compilerplugins/clang/test/buriedassign \
compilerplugins/clang/test/casttovoid \
compilerplugins/clang/test/classmemaccess \
compilerplugins/clang/test/collapseif \
compilerplugins/clang/test/commaoperator \
compilerplugins/clang/test/conditionalstring \
compilerplugins/clang/test/constexprliteral \
compilerplugins/clang/test/constmethod \
compilerplugins/clang/test/constmove \
compilerplugins/clang/test/constparams \
compilerplugins/clang/test/consttobool \
compilerplugins/clang/test/cow_wrapper \
compilerplugins/clang/test/cppunitassertequals \
compilerplugins/clang/test/crosscast \
compilerplugins/clang/test/cstylecast \
compilerplugins/clang/test/datamembershadow \
compilerplugins/clang/test/dbgunhandledexception \
compilerplugins/clang/test/elidestringvar \
compilerplugins/clang/test/emptyif \
compilerplugins/clang/test/expressionalwayszero \
compilerplugins/clang/test/external \
compilerplugins/clang/test/faileddyncast \
compilerplugins/clang/test/fakebool \
compilerplugins/clang/test/fieldcast \
compilerplugins/clang/test/flatten \
compilerplugins/clang/test/fragiledestructor \
compilerplugins/clang/test/getstr \
compilerplugins/clang/test/implicitboolconversion \
compilerplugins/clang/test/implinheritancehelper \
compilerplugins/clang/test/indentation \
compilerplugins/clang/test/intvsfloat \
compilerplugins/clang/test/locking2 \
compilerplugins/clang/test/logexceptionnicely \
compilerplugins/clang/test/loopvartoosmall \
compilerplugins/clang/test/mapindex \
compilerplugins/clang/test/makeshared \
compilerplugins/clang/test/moveit \
compilerplugins/clang/test/moveparam \
compilerplugins/clang/test/mustoverride \
compilerplugins/clang/test/narrow \
compilerplugins/clang/test/noexcept \
compilerplugins/clang/test/noexceptmove \
compilerplugins/clang/test/nullptr \
compilerplugins/clang/test/optionalbool \
compilerplugins/clang/test/oslendian-1 \
compilerplugins/clang/test/oslendian-2 \
compilerplugins/clang/test/oslendian-3 \
compilerplugins/clang/test/ostr \
compilerplugins/clang/test/overridevirtual \
compilerplugins/clang/test/passparamsbyref \
compilerplugins/clang/test/passstuffbyref \
compilerplugins/clang/test/pointerbool \
compilerplugins/clang/test/rangedforcopy \
compilerplugins/clang/test/reducevarscope \
compilerplugins/clang/test/redundantcast \
compilerplugins/clang/test/redundantfcast \
compilerplugins/clang/test/redundantinline \
compilerplugins/clang/test/redundantpointerops \
compilerplugins/clang/test/redundantpreprocessor \
compilerplugins/clang/test/refcounting \
compilerplugins/clang/test/referencecasting \
compilerplugins/clang/test/reftotemp \
compilerplugins/clang/test/returnconstval \
compilerplugins/clang/test/salcall \
compilerplugins/clang/test/sallogareas \
compilerplugins/clang/test/salunicodeliteral \
compilerplugins/clang/test/selfinit \
compilerplugins/clang/test/simplifyconstruct \
compilerplugins/clang/test/simplifydynamiccast \
compilerplugins/clang/test/simplifypointertobool \
compilerplugins/clang/test/singlevalfields \
compilerplugins/clang/test/smartpointerderefaddress \
compilerplugins/clang/test/staticconstexpr \
compilerplugins/clang/test/staticconstfield \
compilerplugins/clang/test/staticdynamic \
compilerplugins/clang/test/staticmethods \
compilerplugins/clang/test/stdfunction \
compilerplugins/clang/test/stringadd \
compilerplugins/clang/test/stringconcatauto \
compilerplugins/clang/test/stringconcatliterals \
compilerplugins/clang/test/stringconstant \
compilerplugins/clang/test/stringliteralvar \
compilerplugins/clang/test/stringloop \
compilerplugins/clang/test/stringplusequal \
compilerplugins/clang/test/stringstatic \
compilerplugins/clang/test/stringview \
compilerplugins/clang/test/stringviewdangle \
compilerplugins/clang/test/stringviewparam \
compilerplugins/clang/test/stringviewvar \
compilerplugins/clang/test/trivialconstructor \
compilerplugins/clang/test/trivialdestructor \
compilerplugins/clang/test/typedefparam \
compilerplugins/clang/test/typeidcomparison \
compilerplugins/clang/test/unnecessarycatchthrow \
compilerplugins/clang/test/unnecessarygetstr \
compilerplugins/clang/test/unnecessaryoverride \
compilerplugins/clang/test/unnecessaryoverride-dtor \
compilerplugins/clang/test/unnecessaryparen \
compilerplugins/clang/test/unnecessarylocking \
compilerplugins/clang/test/unoaggregation \
compilerplugins/clang/test/unoany \
compilerplugins/clang/test/unoquery \
compilerplugins/clang/test/unreffun \
compilerplugins/clang/test/unsignedcompare \
compilerplugins/clang/test/unusedcapturedefault \
compilerplugins/clang/test/unusedenumconstants \
compilerplugins/clang/test/unusedfields \
compilerplugins/clang/test/unusedmember \
compilerplugins/clang/test/unusedvariablecheck \
compilerplugins/clang/test/unusedvariablemore \
compilerplugins/clang/test/unusedvarsglobal \
compilerplugins/clang/test/useuniqueptr \
compilerplugins/clang/test/vclwidgets \
compilerplugins/clang/test/weakbase \
compilerplugins/clang/test/writeonlyvars \
compilerplugins/clang/test/xmlimport \
))
$(eval $(call gb_CompilerTest_use_externals,compilerplugins_clang, \
boost_headers \
cppunit \
))
$(eval $(call gb_CompilerTest_use_udk_api,compilerplugins_clang))
# vim: set noet sw=4 ts=4: