diff options
author | serge-sans-paille <sguelton@mozilla.com> | 2023-01-20 11:33:25 +0100 |
---|---|---|
committer | serge-sans-paille <sguelton@mozilla.com> | 2023-01-20 17:20:14 +0100 |
commit | cf1756146d386667a80501fb8161505d12950804 (patch) | |
tree | 2dc40d59be7ce6c02bf713be273dbab4ee2fbc98 /clang/lib/Basic/Builtins.cpp | |
parent | ed7a46a8de77087447936965044e2faf734102e5 (diff) | |
download | llvm-cf1756146d386667a80501fb8161505d12950804.zip llvm-cf1756146d386667a80501fb8161505d12950804.tar.gz llvm-cf1756146d386667a80501fb8161505d12950804.tar.bz2 |
[NFC] Reformat isBuiltinSupported with early exit
Diffstat (limited to 'clang/lib/Basic/Builtins.cpp')
-rw-r--r-- | clang/lib/Basic/Builtins.cpp | 70 |
1 files changed, 41 insertions, 29 deletions
diff --git a/clang/lib/Basic/Builtins.cpp b/clang/lib/Basic/Builtins.cpp index 375f474..c9426a7 100644 --- a/clang/lib/Basic/Builtins.cpp +++ b/clang/lib/Basic/Builtins.cpp @@ -64,37 +64,49 @@ bool Builtin::Context::isBuiltinFunc(llvm::StringRef FuncName) { /// Is this builtin supported according to the given language options? static bool builtinIsSupported(const Builtin::Info &BuiltinInfo, const LangOptions &LangOpts) { - bool BuiltinsUnsupported = - LangOpts.NoBuiltin && strchr(BuiltinInfo.Attributes, 'f') != nullptr; - bool CorBuiltinsUnsupported = - !LangOpts.Coroutines && (BuiltinInfo.Langs & COR_LANG); - bool MathBuiltinsUnsupported = - LangOpts.NoMathBuiltin && BuiltinInfo.HeaderName && - llvm::StringRef(BuiltinInfo.HeaderName).equals("math.h"); - bool GnuModeUnsupported = !LangOpts.GNUMode && (BuiltinInfo.Langs & GNU_LANG); - bool MSModeUnsupported = - !LangOpts.MicrosoftExt && (BuiltinInfo.Langs & MS_LANG); - bool ObjCUnsupported = !LangOpts.ObjC && BuiltinInfo.Langs == OBJC_LANG; - bool OclCUnsupported = - !LangOpts.OpenCL && (BuiltinInfo.Langs & ALL_OCL_LANGUAGES); - bool OclGASUnsupported = - !LangOpts.OpenCLGenericAddressSpace && (BuiltinInfo.Langs & OCL_GAS); - bool OclPipeUnsupported = - !LangOpts.OpenCLPipes && (BuiltinInfo.Langs & OCL_PIPE); + if (bool BuiltinsUnsupported = + LangOpts.NoBuiltin && strchr(BuiltinInfo.Attributes, 'f') != nullptr) + return false; + if (bool CorBuiltinsUnsupported = + !LangOpts.Coroutines && (BuiltinInfo.Langs & COR_LANG)) + return false; + if (bool MathBuiltinsUnsupported = + LangOpts.NoMathBuiltin && BuiltinInfo.HeaderName && + llvm::StringRef(BuiltinInfo.HeaderName).equals("math.h")) + return false; + if (bool GnuModeUnsupported = + !LangOpts.GNUMode && (BuiltinInfo.Langs & GNU_LANG)) + return false; + if (bool MSModeUnsupported = + !LangOpts.MicrosoftExt && (BuiltinInfo.Langs & MS_LANG)) + return false; + if (bool ObjCUnsupported = !LangOpts.ObjC && BuiltinInfo.Langs == OBJC_LANG) + return false; + if (bool OclCUnsupported = + !LangOpts.OpenCL && (BuiltinInfo.Langs & ALL_OCL_LANGUAGES)) + return false; + if (bool OclGASUnsupported = + !LangOpts.OpenCLGenericAddressSpace && (BuiltinInfo.Langs & OCL_GAS)) + return false; + if (bool OclPipeUnsupported = + !LangOpts.OpenCLPipes && (BuiltinInfo.Langs & OCL_PIPE)) + return false; + // Device side enqueue is not supported until OpenCL 2.0. In 2.0 and higher // support is indicated with language option for blocks. - bool OclDSEUnsupported = - (LangOpts.getOpenCLCompatibleVersion() < 200 || !LangOpts.Blocks) && - (BuiltinInfo.Langs & OCL_DSE); - bool OpenMPUnsupported = !LangOpts.OpenMP && BuiltinInfo.Langs == OMP_LANG; - bool CUDAUnsupported = !LangOpts.CUDA && BuiltinInfo.Langs == CUDA_LANG; - bool CPlusPlusUnsupported = - !LangOpts.CPlusPlus && BuiltinInfo.Langs == CXX_LANG; - return !BuiltinsUnsupported && !CorBuiltinsUnsupported && - !MathBuiltinsUnsupported && !OclCUnsupported && !OclGASUnsupported && - !OclPipeUnsupported && !OclDSEUnsupported && !OpenMPUnsupported && - !GnuModeUnsupported && !MSModeUnsupported && !ObjCUnsupported && - !CPlusPlusUnsupported && !CUDAUnsupported; + if (bool OclDSEUnsupported = + (LangOpts.getOpenCLCompatibleVersion() < 200 || !LangOpts.Blocks) && + (BuiltinInfo.Langs & OCL_DSE)) + return false; + if (bool OpenMPUnsupported = + !LangOpts.OpenMP && BuiltinInfo.Langs == OMP_LANG) + return false; + if (bool CUDAUnsupported = !LangOpts.CUDA && BuiltinInfo.Langs == CUDA_LANG) + return false; + if (bool CPlusPlusUnsupported = + !LangOpts.CPlusPlus && BuiltinInfo.Langs == CXX_LANG) + return false; + return true; } /// initializeBuiltins - Mark the identifiers for all the builtins with their |