[clang] [clang] Implement gcc_struct attribute (PR #71148)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Nov 2 23:07:00 PDT 2023
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff bd841111f340a73eb23c1be70ff1be4c8a6afb0c 1912ae4453570bed3a0ba27d888d53d6c7324b3c -- clang/test/CodeGenCXX/ms-bitfield-class-layout.cpp clang/test/CodeGenCXX/ms_struct-gcc_struct.cpp clang/include/clang/Basic/LangOptions.h clang/include/clang/Basic/TargetInfo.h clang/lib/AST/Decl.cpp clang/lib/AST/RecordLayoutBuilder.cpp clang/lib/CodeGen/CGRecordLayoutBuilder.cpp clang/lib/Driver/ToolChains/Clang.cpp clang/lib/Frontend/CompilerInvocation.cpp clang/lib/Sema/SemaDecl.cpp clang/lib/Sema/SemaDeclCXX.cpp clang/test/Driver/ms-bitfields.c
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp
index 352af5899a0c..ab10a1745b6f 100644
--- a/clang/lib/AST/Decl.cpp
+++ b/clang/lib/AST/Decl.cpp
@@ -1204,8 +1204,7 @@ Linkage NamedDecl::getFormalLinkage() const {
// [basic.namespace.general]/p2
// A namespace is never attached to a named module and never has a name with
// module linkage.
- if (isInModulePurview(this) &&
- InternalLinkage == ExternalLinkage &&
+ if (isInModulePurview(this) && InternalLinkage == ExternalLinkage &&
!isExportedFromModuleInterfaceUnit(
cast<NamedDecl>(this->getCanonicalDecl())) &&
!isa<NamespaceDecl>(this))
@@ -1920,9 +1919,7 @@ bool NamedDecl::declarationReplaces(NamedDecl *OldD, bool IsKnownNewer) const {
return false;
}
-bool NamedDecl::hasLinkage() const {
- return getFormalLinkage() != NoLinkage;
-}
+bool NamedDecl::hasLinkage() const { return getFormalLinkage() != NoLinkage; }
NamedDecl *NamedDecl::getUnderlyingDeclImpl() {
NamedDecl *ND = this;
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index f925972e7d3d..970ac9509ef8 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -4843,11 +4843,9 @@ void Sema::notePreviousDefinition(const NamedDecl *Old, SourceLocation New) {
/// of the same variable. Either diagnose or fix the problem.
bool Sema::checkVarDeclRedefinition(VarDecl *Old, VarDecl *New) {
if (!hasVisibleDefinition(Old) &&
- (New->getFormalLinkage() == InternalLinkage ||
- New->isInline() ||
+ (New->getFormalLinkage() == InternalLinkage || New->isInline() ||
isa<VarTemplateSpecializationDecl>(New) ||
- New->getDescribedVarTemplate() ||
- New->getNumTemplateParameterLists() ||
+ New->getDescribedVarTemplate() || New->getNumTemplateParameterLists() ||
New->getDeclContext()->isDependentContext())) {
// The previous definition is hidden, and multiple definitions are
// permitted (in separate TUs). Demote this to a declaration.
@@ -15395,8 +15393,7 @@ Sema::CheckForFunctionRedefinition(FunctionDecl *FD,
// a template, skip the new definition.
if (SkipBody && !hasVisibleDefinition(Definition) &&
(Definition->getFormalLinkage() == InternalLinkage ||
- Definition->isInlined() ||
- Definition->getDescribedFunctionTemplate() ||
+ Definition->isInlined() || Definition->getDescribedFunctionTemplate() ||
Definition->getNumTemplateParameterLists())) {
SkipBody->ShouldSkip = true;
SkipBody->Previous = const_cast<FunctionDecl*>(Definition);
``````````
</details>
https://github.com/llvm/llvm-project/pull/71148
More information about the cfe-commits
mailing list