Don't warn about selectany on implicitly inline variables
authorReid Kleckner <rnk@google.com>
Thu, 12 Sep 2019 17:55:48 +0000 (17:55 +0000)
committerReid Kleckner <rnk@google.com>
Thu, 12 Sep 2019 17:55:48 +0000 (17:55 +0000)
commitb00a49d1b3a146b02d2277a463ef7618a9c29806
tree640098decbb3d13128c83bff24f3d793fc89ed1a
parent6943472d45aa4eda7392ee312d68d9cf2fc55f9f
Don't warn about selectany on implicitly inline variables

Summary:
This avoids a -Wignored-attribute warning on the code pattern Microsoft
recommends for integral const static data members defined in headers
here:
https://docs.microsoft.com/en-us/cpp/build/reference/microsoft-extensions-to-c-and-cpp?view=vs-2019

The attribute is redundant, but it is necessary when compiling in C++14
modes with /Za, which disables MSVC's extension that treats such
variables as implicitly inline.

Fixes PR43270

Reviewers: epastor, thakis, hans

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D67426

llvm-svn: 371749
clang/lib/Sema/SemaDecl.cpp
clang/test/SemaCXX/declspec-selectany.cpp [new file with mode: 0644]