Bug #80524 Many -Wunused-local-typedef warnings from Boost in keyring plugin
Submitted: 26 Feb 2016 9:45 Modified: 19 May 2017 18:35
Reporter: Laurynas Biveinis (OCA) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:5.7.11 OS:MacOS
Assigned to: CPU Architecture:Any
Tags: compilation warning

[26 Feb 2016 9:45] Laurynas Biveinis
Description:
The Boost use in the keyring plugin causes numerous warnings, at least on clang-700.1.81 on Mac:

n file included from /Users/laurynas/percona/mysql-server/plugin/keyring/keyring_key.cc:16:
In file included from /Users/laurynas/percona/mysql-server/plugin/keyring/keyring_key.h:22:
In file included from /Users/laurynas/percona/mysql-boost/boost_1_59_0/boost/move/unique_ptr.hpp:25:
/Users/laurynas/percona/mysql-boost/boost_1_59_0/boost/move/default_delete.hpp:144:7: warning: unused typedef 'boost_static_assert_typedef_144' [-Wunused-local-typedef]
      BOOST_STATIC_ASSERT(( !::boost::move_upmu::missing_virtual_destructor<default_delete, U>::value ));
      ^
/Users/laurynas/percona/mysql-boost/boost_1_59_0/boost/static_assert.hpp:170:16: note: expanded from macro 'BOOST_STATIC_ASSERT'
               BOOST_JOIN(boost_static_assert_typedef_, __LINE__) BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE
               ^
/Users/laurynas/percona/mysql-boost/boost_1_59_0/boost/config/suffix.hpp:544:28: note: expanded from macro 'BOOST_JOIN'
#define BOOST_JOIN( X, Y ) BOOST_DO_JOIN( X, Y )
                           ^
/Users/laurynas/percona/mysql-boost/boost_1_59_0/boost/config/suffix.hpp:545:31: note: expanded from macro 'BOOST_DO_JOIN'
#define BOOST_DO_JOIN( X, Y ) BOOST_DO_JOIN2(X,Y)
                              ^
/Users/laurynas/percona/mysql-boost/boost_1_59_0/boost/config/suffix.hpp:546:32: note: expanded from macro 'BOOST_DO_JOIN2'
#define BOOST_DO_JOIN2( X, Y ) X##Y
                               ^
<scratch space>:335:1: note: expanded from here
boost_static_assert_typedef_144
^
... etc ...

How to repeat:
cmake ... -DBUILD_CONFIG=mysql_release -DWITH_DEBUG=ON -DWITH_ASAN=ON -DWITH_BOOST=... -DDOWNLOAD_BOOST=ON -DENABLE_DOWNLOADS=ON
make

Suggested fix:
Add -Wno-unused-local-typedef like for other Boost-using code in the server (geometry etc)
[26 Feb 2016 14:26] MySQL Verification Team
warnings

Attachment: 5711.txt (text/plain), 144.09 KiB.

[26 Feb 2016 14:27] MySQL Verification Team
Thank you for the bug report.
[19 May 2017 18:35] Paul DuBois
Posted by developer:
 
Noted in 5.7.19, 8.0.2 changelogs.

Compiler flags were adjusted to eliminate numerous warnings that
occurred when compiling the keyring_file plugin using Clang.