Work around MinGW's macro definition of 'interface' to 'struct'

Previous attempts to rename the IBOutletCollection argument to something
other than "Interface" were undone (r127127 and r139620).  Instead of
renaming it, work around this in tablegen, so the public facing getter
can have the usual name of 'getInterface'.

Fixes PR26682

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@271305 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Kleckner 2016-05-31 17:42:56 +00:00
parent 5dc2903b4d
commit 4083a06092
1 changed files with 5 additions and 0 deletions

View File

@ -194,6 +194,11 @@ namespace {
lowerName[0] = std::tolower(lowerName[0]);
upperName[0] = std::toupper(upperName[0]);
}
// Work around MinGW's macro definition of 'interface' to 'struct'. We
// have an attribute argument called 'Interface', so only the lower case
// name conflicts with the macro definition.
if (lowerName == "interface")
lowerName = "interface_";
}
virtual ~Argument() = default;