Skip to content

Commit 4306b57

Browse files
authored
Merge pull request swiftlang#79109 from eeckstein/workaround-clang-crash
Sema: don't use `llvm::StringSwitch` for runtime function names
2 parents c95c452 + ed4863f commit 4306b57

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

lib/Sema/TypeCheckAttr.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -2520,14 +2520,14 @@ static bool canDeclareSymbolName(StringRef symbol, ModuleDecl *fromModule) {
25202520
// to predict ways. Warn when code attempts to do so; hopefully we can
25212521
// promote this to an error after a while.
25222522

2523-
return llvm::StringSwitch<bool>(symbol)
25242523
#define FUNCTION(_, Module, Name, ...) \
2525-
.Case(#Name, false) \
2526-
.Case("_" #Name, false) \
2527-
.Case(#Name "_", false) \
2528-
.Case("_" #Name "_", false)
2524+
if (symbol == #Name) { return false; } \
2525+
if (symbol == "_" #Name) { return false; } \
2526+
if (symbol == #Name "_") { return false; } \
2527+
if (symbol == "_" #Name "_") { return false; }
25292528
#include "swift/Runtime/RuntimeFunctions.def"
2530-
.Default(true);
2529+
2530+
return true;
25312531
}
25322532

25332533
void AttributeChecker::visitCDeclAttr(CDeclAttr *attr) {

0 commit comments

Comments
 (0)