diff options
author | Zahira Ammarguellat <zahira.ammarguellat@intel.com> | 2021-05-20 12:37:26 -0700 |
---|---|---|
committer | Zahira Ammarguellat <zahira.ammarguellat@intel.com> | 2021-05-26 18:07:31 -0700 |
commit | a4b61c82cf1a45c172af2e0242f5019281de14f8 (patch) | |
tree | b58bf78a850f294160ee34d539ce7e7c4d0ab590 /clang/lib/Basic/Builtins.cpp | |
parent | 08d31ff4f45f795afb6648bc00257d60ff2f8204 (diff) | |
download | llvm-a4b61c82cf1a45c172af2e0242f5019281de14f8.zip llvm-a4b61c82cf1a45c172af2e0242f5019281de14f8.tar.gz llvm-a4b61c82cf1a45c172af2e0242f5019281de14f8.tar.bz2 |
The compiler is crashing when compiling a coroutine intrinsic without
the use of the option fcoroutines-ts. This is a patch to fix this.
Fix for https://bugs.llvm.org/show_bug.cgi?id=50406
Diffstat (limited to 'clang/lib/Basic/Builtins.cpp')
-rw-r--r-- | clang/lib/Basic/Builtins.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/clang/lib/Basic/Builtins.cpp b/clang/lib/Basic/Builtins.cpp index 8a70c7e..7118aa9 100644 --- a/clang/lib/Basic/Builtins.cpp +++ b/clang/lib/Basic/Builtins.cpp @@ -60,6 +60,8 @@ bool Builtin::Context::builtinIsSupported(const Builtin::Info &BuiltinInfo, bool BuiltinsUnsupported = (LangOpts.NoBuiltin || LangOpts.isNoBuiltinFunc(BuiltinInfo.Name)) && strchr(BuiltinInfo.Attributes, 'f'); + bool CorBuiltinsUnsupported = + !LangOpts.Coroutines && (BuiltinInfo.Langs & COR_LANG); bool MathBuiltinsUnsupported = LangOpts.NoMathBuiltin && BuiltinInfo.HeaderName && llvm::StringRef(BuiltinInfo.HeaderName).equals("math.h"); @@ -78,10 +80,11 @@ bool Builtin::Context::builtinIsSupported(const Builtin::Info &BuiltinInfo, bool CUDAUnsupported = !LangOpts.CUDA && BuiltinInfo.Langs == CUDA_LANG; bool CPlusPlusUnsupported = !LangOpts.CPlusPlus && BuiltinInfo.Langs == CXX_LANG; - return !BuiltinsUnsupported && !MathBuiltinsUnsupported && !OclCUnsupported && - !OclC1Unsupported && !OclC2Unsupported && !OpenMPUnsupported && - !GnuModeUnsupported && !MSModeUnsupported && !ObjCUnsupported && - !CPlusPlusUnsupported && !CUDAUnsupported; + return !BuiltinsUnsupported && !CorBuiltinsUnsupported && + !MathBuiltinsUnsupported && !OclCUnsupported && !OclC1Unsupported && + !OclC2Unsupported && !OpenMPUnsupported && !GnuModeUnsupported && + !MSModeUnsupported && !ObjCUnsupported && !CPlusPlusUnsupported && + !CUDAUnsupported; } /// initializeBuiltins - Mark the identifiers for all the builtins with their |