[clang] cf17561 - [NFC] Reformat isBuiltinSupported with early exit

via cfe-commits cfe-commits at lists.llvm.org
Fri Jan 20 08:20:24 PST 2023


Author: serge-sans-paille
Date: 2023-01-20T17:20:14+01:00
New Revision: cf1756146d386667a80501fb8161505d12950804

URL: https://github.com/llvm/llvm-project/commit/cf1756146d386667a80501fb8161505d12950804
DIFF: https://github.com/llvm/llvm-project/commit/cf1756146d386667a80501fb8161505d12950804.diff

LOG: [NFC] Reformat isBuiltinSupported with early exit

Added: 
    

Modified: 
    clang/lib/Basic/Builtins.cpp

Removed: 
    


################################################################################
diff  --git a/clang/lib/Basic/Builtins.cpp b/clang/lib/Basic/Builtins.cpp
index 375f474f84ad6..c9426a7b0cf6c 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


        


More information about the cfe-commits mailing list