mingw-w64: enable support for __declspec(selectany)

Add selectany as a GCC spelling for mingw-w64

Reviewers: rnk

Differential revision: https://reviews.llvm.org/D32083

llvm-svn: 300562
This commit is contained in:
Martell Malone 2017-04-18 15:56:24 +00:00
parent 855ef45602
commit 3e573bea31
3 changed files with 5 additions and 5 deletions

View File

@ -2351,9 +2351,8 @@ def DLLImport : InheritableAttr, TargetSpecificAttr<TargetWindows> {
let Documentation = [DLLImportDocs];
}
def SelectAny : InheritableAttr {
let Spellings = [Declspec<"selectany">];
let LangOpts = [MicrosoftExt];
def SelectAny : InheritableAttr, TargetSpecificAttr<TargetWindows> {
let Spellings = [Declspec<"selectany">, GCC<"selectany">];
let Documentation = [Undocumented];
}

View File

@ -1,4 +1,5 @@
// RUN: %clang_cc1 -fms-compatibility -fms-extensions -verify %s
// RUN: %clang_cc1 -triple x86_64-win32 -fdeclspec -verify %s
// RUN: %clang_cc1 -triple x86_64-mingw32 -verify %s
extern __declspec(selectany) const int x1 = 1; // no warning, const means we need extern in C++

View File

@ -1,4 +1,4 @@
// RUN: %clang_cc1 -fms-compatibility -fms-extensions -fsyntax-only -verify -std=c++11 %s
// RUN: %clang_cc1 -triple x86_64-win32 -fms-compatibility -fms-extensions -fsyntax-only -verify -std=c++11 %s
// MSVC produces similar diagnostics.
__declspec(selectany) void foo() { } // expected-error{{'selectany' can only be applied to data items with external linkage}}