Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[clang][NFC] Format clang/lib/Sema/Sema.cpp #83974

Closed
wants to merge 1 commit into from

Conversation

atetubou
Copy link
Contributor

@atetubou atetubou commented Mar 5, 2024

This is to avoid modifying unrelated code when auto format is on in our editor.

@atetubou atetubou marked this pull request as ready for review March 5, 2024 08:36
@llvmbot llvmbot added clang Clang issues not falling into any other category clang:frontend Language frontend issues, e.g. anything involving "Sema" labels Mar 5, 2024
@llvmbot
Copy link
Collaborator

llvmbot commented Mar 5, 2024

@llvm/pr-subscribers-clang

Author: Takuto Ikuta (atetubou)

Changes

This is to avoid modifying unrelated code when auto format is on in our editor.


Patch is 25.91 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/83974.diff

1 Files Affected:

  • (modified) clang/lib/Sema/Sema.cpp (+118-105)
diff --git a/clang/lib/Sema/Sema.cpp b/clang/lib/Sema/Sema.cpp
index cfb653e665ea03..fe00dc3198fdc0 100644
--- a/clang/lib/Sema/Sema.cpp
+++ b/clang/lib/Sema/Sema.cpp
@@ -269,8 +269,8 @@ void Sema::Initialize() {
     SC->InitializeSema(*this);
 
   // Tell the external Sema source about this Sema object.
-  if (ExternalSemaSource *ExternalSema
-      = dyn_cast_or_null<ExternalSemaSource>(Context.getExternalSource()))
+  if (ExternalSemaSource *ExternalSema =
+          dyn_cast_or_null<ExternalSemaSource>(Context.getExternalSource()))
     ExternalSema->InitializeSema(*this);
 
   // This needs to happen after ExternalSemaSource::InitializeSema(this) or we
@@ -295,7 +295,6 @@ void Sema::Initialize() {
       PushOnScopeChains(Context.getUInt128Decl(), TUScope);
   }
 
-
   // Initialize predefined Objective-C types:
   if (getLangOpts().ObjC) {
     // If 'SEL' does not yet refer to any declarations, make it refer to the
@@ -361,7 +360,6 @@ void Sema::Initialize() {
       // 32-bit integer and OpenCLC v2.0, s6.1.1 int is always 32-bit wide.
       addImplicitTypedef("atomic_flag", Context.getAtomicType(Context.IntTy));
 
-
       // OpenCL v2.0 s6.13.11.6:
       // - The atomic_long and atomic_ulong types are supported if the
       //   cl_khr_int64_base_atomics and cl_khr_int64_extended_atomics
@@ -410,7 +408,6 @@ void Sema::Initialize() {
         addImplicitTypedef("atomic_long", AtomicLongT);
         addImplicitTypedef("atomic_ulong", AtomicULongT);
 
-
         if (Context.getTypeSize(Context.getSizeType()) == 64) {
           AddPointerSizeDependentTypes();
         }
@@ -425,17 +422,17 @@ void Sema::Initialize() {
   }
 
   if (Context.getTargetInfo().hasAArch64SVETypes()) {
-#define SVE_TYPE(Name, Id, SingletonId) \
-    addImplicitTypedef(Name, Context.SingletonId);
+#define SVE_TYPE(Name, Id, SingletonId)                                        \
+  addImplicitTypedef(Name, Context.SingletonId);
 #include "clang/Basic/AArch64SVEACLETypes.def"
   }
 
   if (Context.getTargetInfo().getTriple().isPPC64()) {
-#define PPC_VECTOR_MMA_TYPE(Name, Id, Size) \
-      addImplicitTypedef(#Name, Context.Id##Ty);
+#define PPC_VECTOR_MMA_TYPE(Name, Id, Size)                                    \
+  addImplicitTypedef(#Name, Context.Id##Ty);
 #include "clang/Basic/PPCTypes.def"
-#define PPC_VECTOR_VSX_TYPE(Name, Id, Size) \
-    addImplicitTypedef(#Name, Context.Id##Ty);
+#define PPC_VECTOR_VSX_TYPE(Name, Id, Size)                                    \
+  addImplicitTypedef(#Name, Context.Id##Ty);
 #include "clang/Basic/PPCTypes.def"
   }
 
@@ -467,7 +464,8 @@ Sema::~Sema() {
   assert(InstantiatingSpecializations.empty() &&
          "failed to clean up an InstantiatingTemplate?");
 
-  if (VisContext) FreeVisContext();
+  if (VisContext)
+    FreeVisContext();
 
   // Kill all the active scopes.
   for (sema::FunctionScopeInfo *FSI : FunctionScopes)
@@ -478,8 +476,8 @@ Sema::~Sema() {
     SC->ForgetSema();
 
   // Detach from the external Sema source.
-  if (ExternalSemaSource *ExternalSema
-        = dyn_cast_or_null<ExternalSemaSource>(Context.getExternalSource()))
+  if (ExternalSemaSource *ExternalSema =
+          dyn_cast_or_null<ExternalSemaSource>(Context.getExternalSource()))
     ExternalSema->ForgetSema();
 
   // Delete cached satisfactions.
@@ -517,11 +515,12 @@ void Sema::runWithSufficientStackSpace(SourceLocation Loc,
 /// context.  If we're still in a system header, and we can plausibly
 /// make the relevant declaration unavailable instead of erroring, do
 /// so and return true.
-bool Sema::makeUnavailableInSystemHeader(SourceLocation loc,
-                                      UnavailableAttr::ImplicitReason reason) {
+bool Sema::makeUnavailableInSystemHeader(
+    SourceLocation loc, UnavailableAttr::ImplicitReason reason) {
   // If we're not in a function, it's an error.
   FunctionDecl *fn = dyn_cast<FunctionDecl>(CurContext);
-  if (!fn) return false;
+  if (!fn)
+    return false;
 
   // If we're in template instantiation, it's an error.
   if (inTemplateInstantiation())
@@ -532,7 +531,8 @@ bool Sema::makeUnavailableInSystemHeader(SourceLocation loc,
     return false;
 
   // If the function is already unavailable, it's not an error.
-  if (fn->hasAttr<UnavailableAttr>()) return true;
+  if (fn->hasAttr<UnavailableAttr>())
+    return true;
 
   fn->addAttr(UnavailableAttr::CreateImplicit(Context, "", reason, loc));
   return true;
@@ -542,8 +542,8 @@ ASTMutationListener *Sema::getASTMutationListener() const {
   return getASTConsumer().GetASTMutationListener();
 }
 
-///Registers an external source. If an external source already exists,
-/// creates a multiplex external source and appends to it.
+/// Registers an external source. If an external source already exists,
+///  creates a multiplex external source and appends to it.
 ///
 ///\param[in] E - A non-null external sema source.
 ///
@@ -633,8 +633,8 @@ void Sema::diagnoseZeroToNullptrConversion(CastKind Kind, const Expr *E) {
 /// ImpCastExprToType - If Expr is not of type 'Type', insert an implicit cast.
 /// If there is already an implicit cast, merge into the existing one.
 /// The result is of the given category.
-ExprResult Sema::ImpCastExprToType(Expr *E, QualType Ty,
-                                   CastKind Kind, ExprValueKind VK,
+ExprResult Sema::ImpCastExprToType(Expr *E, QualType Ty, CastKind Kind,
+                                   ExprValueKind VK,
                                    const CXXCastPath *BasePath,
                                    CheckedConversionKind CCK) {
 #ifndef NDEBUG
@@ -716,16 +716,26 @@ ExprResult Sema::ImpCastExprToType(Expr *E, QualType Ty,
 /// to the conversion from scalar type ScalarTy to the Boolean type.
 CastKind Sema::ScalarTypeToBooleanCastKind(QualType ScalarTy) {
   switch (ScalarTy->getScalarTypeKind()) {
-  case Type::STK_Bool: return CK_NoOp;
-  case Type::STK_CPointer: return CK_PointerToBoolean;
-  case Type::STK_BlockPointer: return CK_PointerToBoolean;
-  case Type::STK_ObjCObjectPointer: return CK_PointerToBoolean;
-  case Type::STK_MemberPointer: return CK_MemberPointerToBoolean;
-  case Type::STK_Integral: return CK_IntegralToBoolean;
-  case Type::STK_Floating: return CK_FloatingToBoolean;
-  case Type::STK_IntegralComplex: return CK_IntegralComplexToBoolean;
-  case Type::STK_FloatingComplex: return CK_FloatingComplexToBoolean;
-  case Type::STK_FixedPoint: return CK_FixedPointToBoolean;
+  case Type::STK_Bool:
+    return CK_NoOp;
+  case Type::STK_CPointer:
+    return CK_PointerToBoolean;
+  case Type::STK_BlockPointer:
+    return CK_PointerToBoolean;
+  case Type::STK_ObjCObjectPointer:
+    return CK_PointerToBoolean;
+  case Type::STK_MemberPointer:
+    return CK_MemberPointerToBoolean;
+  case Type::STK_Integral:
+    return CK_IntegralToBoolean;
+  case Type::STK_Floating:
+    return CK_FloatingToBoolean;
+  case Type::STK_IntegralComplex:
+    return CK_IntegralComplexToBoolean;
+  case Type::STK_FloatingComplex:
+    return CK_FloatingComplexToBoolean;
+  case Type::STK_FixedPoint:
+    return CK_FixedPointToBoolean;
   }
   llvm_unreachable("unknown scalar type kind");
 }
@@ -812,15 +822,17 @@ bool Sema::isExternalWithNoLinkageType(const ValueDecl *VD) const {
 /// Obtains a sorted list of functions and variables that are undefined but
 /// ODR-used.
 void Sema::getUndefinedButUsed(
-    SmallVectorImpl<std::pair<NamedDecl *, SourceLocation> > &Undefined) {
+    SmallVectorImpl<std::pair<NamedDecl *, SourceLocation>> &Undefined) {
   for (const auto &UndefinedUse : UndefinedButUsed) {
     NamedDecl *ND = UndefinedUse.first;
 
     // Ignore attributes that have become invalid.
-    if (ND->isInvalidDecl()) continue;
+    if (ND->isInvalidDecl())
+      continue;
 
     // __attribute__((weakref)) is basically a definition.
-    if (ND->hasAttr<WeakRefAttr>()) continue;
+    if (ND->hasAttr<WeakRefAttr>())
+      continue;
 
     if (isa<CXXDeductionGuideDecl>(ND))
       continue;
@@ -835,8 +847,7 @@ void Sema::getUndefinedButUsed(
     if (const auto *FD = dyn_cast<FunctionDecl>(ND)) {
       if (FD->isDefined())
         continue;
-      if (FD->isExternallyVisible() &&
-          !isExternalWithNoLinkageType(FD) &&
+      if (FD->isExternallyVisible() && !isExternalWithNoLinkageType(FD) &&
           !FD->getMostRecentDecl()->isInlined() &&
           !FD->hasAttr<ExcludeFromExplicitInstantiationAttr>())
         continue;
@@ -846,8 +857,7 @@ void Sema::getUndefinedButUsed(
       const auto *VD = cast<VarDecl>(ND);
       if (VD->hasDefinition() != VarDecl::DeclarationOnly)
         continue;
-      if (VD->isExternallyVisible() &&
-          !isExternalWithNoLinkageType(VD) &&
+      if (VD->isExternallyVisible() && !isExternalWithNoLinkageType(VD) &&
           !VD->getMostRecentDecl()->isInline() &&
           !VD->hasAttr<ExcludeFromExplicitInstantiationAttr>())
         continue;
@@ -865,13 +875,15 @@ void Sema::getUndefinedButUsed(
 /// checkUndefinedButUsed - Check for undefined objects with internal linkage
 /// or that are inline.
 static void checkUndefinedButUsed(Sema &S) {
-  if (S.UndefinedButUsed.empty()) return;
+  if (S.UndefinedButUsed.empty())
+    return;
 
   // Collect all the still-undefined entities with internal linkage.
   SmallVector<std::pair<NamedDecl *, SourceLocation>, 16> Undefined;
   S.getUndefinedButUsed(Undefined);
   S.UndefinedButUsed.clear();
-  if (Undefined.empty()) return;
+  if (Undefined.empty())
+    return;
 
   for (const auto &Undef : Undefined) {
     ValueDecl *VD = cast<ValueDecl>(Undef.first);
@@ -890,7 +902,7 @@ static void checkUndefinedButUsed(Sema &S) {
       S.Diag(VD->getLocation(), isExternallyVisible(VD->getType()->getLinkage())
                                     ? diag::ext_undefined_internal_type
                                     : diag::err_undefined_internal_type)
-        << isa<VarDecl>(VD) << VD;
+          << isa<VarDecl>(VD) << VD;
     } else if (!VD->isExternallyVisible()) {
       // FIXME: We can promote this to an error. The function or variable can't
       // be defined anywhere else, so the program must necessarily violate the
@@ -936,8 +948,7 @@ void Sema::LoadExternalWeakUndeclaredIdentifiers() {
     (void)WeakUndeclaredIdentifiers[WeakID.first].insert(WeakID.second);
 }
 
-
-typedef llvm::DenseMap<const CXXRecordDecl*, bool> RecordCompleteMap;
+typedef llvm::DenseMap<const CXXRecordDecl *, bool> RecordCompleteMap;
 
 /// Returns true, if all methods and nested classes of the given
 /// CXXRecordDecl are defined in this translation unit.
@@ -952,8 +963,7 @@ static bool MethodsAndNestedClassesComplete(const CXXRecordDecl *RD,
   if (!RD->isCompleteDefinition())
     return false;
   bool Complete = true;
-  for (DeclContext::decl_iterator I = RD->decls_begin(),
-                                  E = RD->decls_end();
+  for (DeclContext::decl_iterator I = RD->decls_begin(), E = RD->decls_end();
        I != E && Complete; ++I) {
     if (const CXXMethodDecl *M = dyn_cast<CXXMethodDecl>(*I))
       Complete = M->isDefined() || M->isDefaulted() ||
@@ -964,13 +974,13 @@ static bool MethodsAndNestedClassesComplete(const CXXRecordDecl *RD,
       // performed semantic analysis on it yet, so we cannot know if the type
       // can be considered complete.
       Complete = !F->getTemplatedDecl()->isLateTemplateParsed() &&
-                  F->getTemplatedDecl()->isDefined();
+                 F->getTemplatedDecl()->isDefined();
     else if (const CXXRecordDecl *R = dyn_cast<CXXRecordDecl>(*I)) {
       if (R->isInjectedClassName())
         continue;
       if (R->hasDefinition())
-        Complete = MethodsAndNestedClassesComplete(R->getDefinition(),
-                                                   MNCComplete);
+        Complete =
+            MethodsAndNestedClassesComplete(R->getDefinition(), MNCComplete);
       else
         Complete = false;
     }
@@ -1006,7 +1016,7 @@ static bool IsRecordFullyDefined(const CXXRecordDecl *RD,
     } else {
       // Friend functions are available through the NamedDecl of FriendDecl.
       if (const FunctionDecl *FD =
-          dyn_cast<FunctionDecl>((*I)->getFriendDecl()))
+              dyn_cast<FunctionDecl>((*I)->getFriendDecl()))
         Complete = FD->isDefined();
       else
         // This is a template friend, give up.
@@ -1079,8 +1089,8 @@ void Sema::ActOnEndOfTranslationUnitFragment(TUFragmentKind Kind) {
     for (auto PII : Pending)
       if (auto Func = dyn_cast<FunctionDecl>(PII.first))
         Func->setInstantiationIsPending(true);
-    PendingInstantiations.insert(PendingInstantiations.begin(),
-                                 Pending.begin(), Pending.end());
+    PendingInstantiations.insert(PendingInstantiations.begin(), Pending.begin(),
+                                 Pending.end());
   }
 
   {
@@ -1108,8 +1118,8 @@ void Sema::ActOnEndOfTranslationUnitFragment(TUFragmentKind Kind) {
 /// translation unit when EOF is reached and all but the top-level scope is
 /// popped.
 void Sema::ActOnEndOfTranslationUnit() {
-  assert(DelayedDiagnostics.getCurrentPool() == nullptr
-         && "reached end of translation unit with a pool attached?");
+  assert(DelayedDiagnostics.getCurrentPool() == nullptr &&
+         "reached end of translation unit with a pool attached?");
 
   // If code completion is enabled, don't perform any end-of-translation-unit
   // work.
@@ -1327,8 +1337,8 @@ void Sema::ActOnEndOfTranslationUnit() {
     if (!VD || VD->isInvalidDecl() || !Seen.insert(VD).second)
       continue;
 
-    if (const IncompleteArrayType *ArrayT
-        = Context.getAsIncompleteArrayType(VD->getType())) {
+    if (const IncompleteArrayType *ArrayT =
+            Context.getAsIncompleteArrayType(VD->getType())) {
       // Set the length of the array to 1 (C99 6.9.2p5).
       Diag(VD->getLocation(), diag::warn_tentative_incomplete_array);
       llvm::APInt One(Context.getTypeSize(Context.getSizeType()), true);
@@ -1385,7 +1395,7 @@ void Sema::ActOnEndOfTranslationUnit() {
             if (FD->getStorageClass() == SC_Static &&
                 !FD->isInlineSpecified() &&
                 !SourceMgr.isInMainFile(
-                   SourceMgr.getExpansionLoc(FD->getLocation())))
+                    SourceMgr.getExpansionLoc(FD->getLocation())))
               Diag(DiagD->getLocation(),
                    diag::warn_unneeded_static_internal_decl)
                   << DiagD << DiagRange;
@@ -1446,7 +1456,7 @@ void Sema::ActOnEndOfTranslationUnit() {
       if (RD && !RD->isUnion() &&
           IsRecordFullyDefined(RD, RecordsComplete, MNCComplete)) {
         Diag(D->getLocation(), diag::warn_unused_private_field)
-              << D->getDeclName();
+            << D->getDeclName();
       }
     }
   }
@@ -1474,7 +1484,6 @@ void Sema::ActOnEndOfTranslationUnit() {
     TUScope = nullptr;
 }
 
-
 //===----------------------------------------------------------------------===//
 // Helper functions.
 //===----------------------------------------------------------------------===//
@@ -1490,7 +1499,8 @@ DeclContext *Sema::getFunctionLevelDeclContext(bool AllowLambda) const {
                cast<CXXMethodDecl>(DC)->getOverloadedOperator() == OO_Call &&
                cast<CXXRecordDecl>(DC->getParent())->isLambda()) {
       DC = DC->getParent()->getParent();
-    } else break;
+    } else
+      break;
   }
 
   return DC;
@@ -1533,8 +1543,8 @@ void Sema::EmitCurrentDiagnostic(unsigned DiagID) {
   // issue I am not seeing yet), then there should at least be a clarifying
   // comment somewhere.
   if (std::optional<TemplateDeductionInfo *> Info = isSFINAEContext()) {
-    switch (DiagnosticIDs::getDiagnosticSFINAEResponse(
-              Diags.getCurrentDiagID())) {
+    switch (
+        DiagnosticIDs::getDiagnosticSFINAEResponse(Diags.getCurrentDiagID())) {
     case DiagnosticIDs::SFINAE_Report:
       // We'll report the diagnostic below.
       break;
@@ -1548,8 +1558,9 @@ void Sema::EmitCurrentDiagnostic(unsigned DiagID) {
       // template-deduction information.
       if (*Info && !(*Info)->hasSFINAEDiagnostic()) {
         Diagnostic DiagInfo(&Diags);
-        (*Info)->addSFINAEDiagnostic(DiagInfo.getLocation(),
-                       PartialDiagnostic(DiagInfo, Context.getDiagAllocator()));
+        (*Info)->addSFINAEDiagnostic(
+            DiagInfo.getLocation(),
+            PartialDiagnostic(DiagInfo, Context.getDiagAllocator()));
       }
 
       Diags.setLastDiagnosticIgnored(true);
@@ -1573,8 +1584,9 @@ void Sema::EmitCurrentDiagnostic(unsigned DiagID) {
       // template-deduction information.
       if (*Info && !(*Info)->hasSFINAEDiagnostic()) {
         Diagnostic DiagInfo(&Diags);
-        (*Info)->addSFINAEDiagnostic(DiagInfo.getLocation(),
-                       PartialDiagnostic(DiagInfo, Context.getDiagAllocator()));
+        (*Info)->addSFINAEDiagnostic(
+            DiagInfo.getLocation(),
+            PartialDiagnostic(DiagInfo, Context.getDiagAllocator()));
       }
 
       Diags.setLastDiagnosticIgnored(true);
@@ -1595,8 +1607,9 @@ void Sema::EmitCurrentDiagnostic(unsigned DiagID) {
       // template-deduction information;
       if (*Info) {
         Diagnostic DiagInfo(&Diags);
-        (*Info)->addSuppressedDiagnostic(DiagInfo.getLocation(),
-                       PartialDiagnostic(DiagInfo, Context.getDiagAllocator()));
+        (*Info)->addSuppressedDiagnostic(
+            DiagInfo.getLocation(),
+            PartialDiagnostic(DiagInfo, Context.getDiagAllocator()));
       }
 
       // Suppress this diagnostic.
@@ -1733,8 +1746,7 @@ class DeferredDiagnosticsEmitter
   }
 
   void checkVar(VarDecl *VD) {
-    assert(VD->isFileVarDecl() &&
-           "Should only check file-scope variables");
+    assert(VD->isFileVarDecl() && "Should only check file-scope variables");
     if (auto *Init = VD->getInit()) {
       auto DevTy = OMPDeclareTargetDeclAttr::getDeviceType(VD);
       bool IsDev = DevTy && (*DevTy == OMPDeclareTargetDeclAttr::DT_NoHost ||
@@ -2106,7 +2118,8 @@ void Sema::checkTypeSupport(QualType Ty, SourceLocation Loc, ValueDecl *D) {
 /// expansion loc.
 bool Sema::findMacroSpelling(SourceLocation &locref, StringRef name) {
   SourceLocation loc = locref;
-  if (!loc.isMacroID()) return false;
+  if (!loc.isMacroID())
+    return false;
 
   // There's no good way right now to look at the intermediate
   // expansions, so just jump to the expansion location.
@@ -2164,8 +2177,8 @@ void Sema::PushFunctionScope() {
 }
 
 void Sema::PushBlockScope(Scope *BlockScope, BlockDecl *Block) {
-  FunctionScopes.push_back(new BlockScopeInfo(getDiagnostics(),
-                                              BlockScope, Block));
+  FunctionScopes.push_back(
+      new BlockScopeInfo(getDiagnostics(), BlockScope, Block));
   CapturingFunctionScopes++;
 }
 
@@ -2242,10 +2255,9 @@ static void markEscapingByrefs(const FunctionScopeInfo &FSI, Sema &S) {
       QualType CapType = BC.getVariable()->getType();
       if (CapType.hasNonTrivialToPrimitiveDestructCUnion() ||
           CapType.hasNonTrivialToPrimitiveCopyCUnion())
-        S.checkNonTrivialCUnion(BC.getVariable()->getType(),
-                                BD->getCaretLocation(),
-                                Sema::NTCUC_BlockCapture,
-                                Sema::NTCUK_Destruct|Sema::NTCUK_Copy);
+        S.checkNonTrivialCUnion(
+            BC.getVariable()->getType(), BD->getCaretLocation(),
+            Sema::NTCUC_BlockCapture, Sema::NTCUK_Destruct | Sema::NTCUK_Copy);
     }
   }
 
@@ -2292,8 +2304,8 @@ Sema::PopFunctionScopeInfo(const AnalysisBasedWarnings::Policy *WP,
   return Scope;
 }
 
-void Sema::PoppedFunctionScopeDeleter::
-operator()(sema::FunctionScopeInfo *Scope) const {
+void Sema::PoppedFunctionScopeDeleter::operator()(
+    sema::FunctionScopeInfo *Scope) const {
   if (!Scope->isPlainFunction())
     Self->CapturingFunctionScopes--;
   // Stash the function scope for later reuse if it's for a normal function.
@@ -2346,8 +2358,7 @@ BlockScopeInfo *Sema::getCurBlock() {
     return nullptr;
 
   auto CurBSI = dyn_cast<BlockScopeInfo>(FunctionScopes.back());
-  if (CurBSI && CurBSI->TheDecl &&
-      !CurBSI->TheDecl->Encloses(CurContext)) {
+  if (CurBSI && CurBSI->TheDecl && !CurBSI->TheDecl->Encloses(CurContext)) {
     // We have switched contexts due to template instantiation.
     assert(!CodeSynthesisContexts.empty());
     return null...
[truncated]

@atetubou atetubou changed the title NFC: format clang/lib/Sema/Sema.cpp [clang][NFC] Format clang/lib/Sema/Sema.cpp Mar 5, 2024
@ChuanqiXu9
Copy link
Member

I remember we have policies that we don't like patches which purely formats codes. It makes backporting and cherry-picking harder. But I can't find the wording now.

CC: @AaronBallman @Endilll

@ChuanqiXu9
Copy link
Member

Oh, I found it here: https://llvm.org/docs/CodingStandards.html#introduction

Our long term goal is for the entire codebase to follow the convention, but we explicitly do not want patches that do large-scale reformatting of existing code.

@Endilll
Copy link
Contributor

Endilll commented Mar 5, 2024

Bulk formatting of Clang is still under discussion in https://discourse.llvm.org/t/rfc-clang-format-all-the-things/76614. At least I don't see a consensus called there one way or another.

Our developer policy states the following:

Avoid committing formatting- or whitespace-only changes outside of code you plan to make subsequent changes to.

So yeah, we can't merge this at the moment, unfortunately. This might change in the future, though, as more people lean towards bulk formatting after several years of very slow gradual reformatting with accordance to our current policy.

@atetubou
Copy link
Contributor Author

atetubou commented Mar 5, 2024

Thank you for references both.

Actually, I'd like to have PR like #83961.
Is it acceptable to merge this kind of PR in that case then?

@ChuanqiXu9
Copy link
Member

Thank you for references both.

Actually, I'd like to have PR like #83961. Is it acceptable to merge this kind of PR in that case then?

I don't feel the patches are related. I think you can only format the changed lines.

@atetubou
Copy link
Contributor Author

atetubou commented Mar 5, 2024

Oh, I found https://code.visualstudio.com/docs/getstarted/settings#:~:text=modificationsIfAvailable.
So let me use that instead. Thank you for your comments.

@atetubou atetubou closed this Mar 5, 2024
@atetubou atetubou deleted the format_sema branch March 5, 2024 10:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clang:frontend Language frontend issues, e.g. anything involving "Sema" clang Clang issues not falling into any other category
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants