Skip to content

Conversation

@higher-performance
Copy link
Contributor

This makes it consistent with [[clang::require_constant_initialization]].

(The attribute was just added to Clang a few minutes ago, so there are no users yet.)

…e_explicit_initialization]] to make it consistent with [[clang::require_constant_initialization]]
@llvmbot llvmbot added clang Clang issues not falling into any other category clang:frontend Language frontend issues, e.g. anything involving "Sema" labels Jan 14, 2025
@llvmbot
Copy link
Member

llvmbot commented Jan 14, 2025

@llvm/pr-subscribers-clang

Author: None (higher-performance)

Changes

This makes it consistent with [[clang::require_constant_initialization]].

(The attribute was just added to Clang a few minutes ago, so there are no users yet.)


Full diff: https://github.com/llvm/llvm-project/pull/122947.diff

5 Files Affected:

  • (modified) clang/include/clang/AST/DeclBase.h (+1-1)
  • (modified) clang/include/clang/Basic/Attr.td (+1-1)
  • (modified) clang/include/clang/Basic/AttrDocs.td (+5-5)
  • (modified) clang/test/Sema/uninit-variables.c (+3-3)
  • (modified) clang/test/SemaCXX/uninitialized.cpp (+11-11)
diff --git a/clang/include/clang/AST/DeclBase.h b/clang/include/clang/AST/DeclBase.h
index 1c48c91bbe5a46..71ab9178509b2f 100644
--- a/clang/include/clang/AST/DeclBase.h
+++ b/clang/include/clang/AST/DeclBase.h
@@ -1671,7 +1671,7 @@ class DeclContext {
     uint64_t HasNonTrivialToPrimitiveCopyCUnion : 1;
 
     /// True if any field is marked as requiring explicit initialization with
-    /// [[clang::requires_explicit_initialization]].
+    /// [[clang::require_explicit_initialization]].
     /// In C++, this is also set for types without a user-provided default
     /// constructor, and is propagated from any base classes and/or member
     /// variables whose types are aggregates.
diff --git a/clang/include/clang/Basic/Attr.td b/clang/include/clang/Basic/Attr.td
index b7d9357e1b4e18..408d3adf370c85 100644
--- a/clang/include/clang/Basic/Attr.td
+++ b/clang/include/clang/Basic/Attr.td
@@ -1903,7 +1903,7 @@ def Leaf : InheritableAttr {
 }
 
 def ExplicitInit : InheritableAttr {
-  let Spellings = [Clang<"requires_explicit_initialization">];
+  let Spellings = [Clang<"require_explicit_initialization">];
   let Subjects = SubjectList<[Field], ErrorDiag>;
   let Documentation = [ExplicitInitDocs];
   let SimpleHandler = 1;
diff --git a/clang/include/clang/Basic/AttrDocs.td b/clang/include/clang/Basic/AttrDocs.td
index b949a105e13317..5e66e752512d0d 100644
--- a/clang/include/clang/Basic/AttrDocs.td
+++ b/clang/include/clang/Basic/AttrDocs.td
@@ -1687,7 +1687,7 @@ is not specified.
 def ExplicitInitDocs : Documentation {
   let Category = DocCatField;
   let Content = [{
-The ``clang::requires_explicit_initialization`` attribute indicates that a
+The ``clang::require_explicit_initialization`` attribute indicates that a
 field of an aggregate must be initialized explicitly by the user when an object
 of the aggregate type is constructed. The attribute supports both C and C++,
 but its usage is invalid on non-aggregates.
@@ -1704,13 +1704,13 @@ initializers exist):
 .. code-block:: c++
 
   struct Buffer {
-    void *address [[clang::requires_explicit_initialization]];
-    size_t length [[clang::requires_explicit_initialization]] = 0;
+    void *address [[clang::require_explicit_initialization]];
+    size_t length [[clang::require_explicit_initialization]] = 0;
   };
 
   struct ArrayIOParams {
-    size_t count [[clang::requires_explicit_initialization]];
-    size_t element_size [[clang::requires_explicit_initialization]];
+    size_t count [[clang::require_explicit_initialization]];
+    size_t element_size [[clang::require_explicit_initialization]];
     int flags = 0;
   };
 
diff --git a/clang/test/Sema/uninit-variables.c b/clang/test/Sema/uninit-variables.c
index bad2e14bd28cb8..6d79d419f72e79 100644
--- a/clang/test/Sema/uninit-variables.c
+++ b/clang/test/Sema/uninit-variables.c
@@ -554,16 +554,16 @@ struct full_of_empty empty_test_2(void) {
 
 struct with_explicit_field {
   int x;
-  int y [[clang::requires_explicit_initialization]]; // #FIELD_Y
+  int y [[clang::require_explicit_initialization]]; // #FIELD_Y
 };
 
 struct with_explicit_array {
-  [[clang::requires_explicit_initialization]] int arr[2]; // #FIELD_ARR
+  [[clang::require_explicit_initialization]] int arr[2]; // #FIELD_ARR
 };
 
 struct with_explicit_flex_array {
   int x;
-  [[clang::requires_explicit_initialization]] int flex_arr[]; // #FIELD_FLEX_ARR
+  [[clang::require_explicit_initialization]] int flex_arr[]; // #FIELD_FLEX_ARR
 };
 
 void aggregate() {
diff --git a/clang/test/SemaCXX/uninitialized.cpp b/clang/test/SemaCXX/uninitialized.cpp
index 95dd488e81a624..52d9897cf9be6e 100644
--- a/clang/test/SemaCXX/uninitialized.cpp
+++ b/clang/test/SemaCXX/uninitialized.cpp
@@ -1483,14 +1483,14 @@ struct Inherit : Bases... { // #TYPE_INHERIT
 
 template<class... Bases>
 struct InheritWithExplicit : Bases... { // #TYPE_INHERIT_WITH_EXPLICIT
-  int g2 [[clang::requires_explicit_initialization]]; // #FIELD_G2
+  int g2 [[clang::require_explicit_initialization]]; // #FIELD_G2
 };
 
 struct Special {};
 
 template<>
 struct Inherit<Special> {
-  int g3 [[clang::requires_explicit_initialization]]; // #FIELD_G3
+  int g3 [[clang::require_explicit_initialization]]; // #FIELD_G3
 };
 
 template<>
@@ -1501,23 +1501,23 @@ struct InheritWithExplicit<Special> {
 void aggregate() {
   struct NonAgg {
     NonAgg() { }
-    [[clang::requires_explicit_initialization]] int na;  // expected-warning {{'requires_explicit_initialization' attribute is ignored in non-aggregate type 'NonAgg'}}
+    [[clang::require_explicit_initialization]] int na;  // expected-warning {{'require_explicit_initialization' attribute is ignored in non-aggregate type 'NonAgg'}}
   };
   NonAgg nonagg;  // no-warning
   (void)nonagg;
 
   struct S {
-    [[clang::requires_explicit_initialization]] int s1; // #FIELD_S1
+    [[clang::require_explicit_initialization]] int s1; // #FIELD_S1
     int s2;
     int s3 = 12;
-    [[clang::requires_explicit_initialization]] int s4 = 100; // #FIELD_S4
+    [[clang::require_explicit_initialization]] int s4 = 100; // #FIELD_S4
     static void foo(S) { }
   };
 
   struct C {
 #if __cplusplus < 202002L
     // expected-warning@+1 {{explicit initialization of field 'c1' will not be enforced in C++20 and later because 'C' has a user-declared constructor, making the type no longer an aggregate}}
-    [[clang::requires_explicit_initialization]]
+    [[clang::require_explicit_initialization]]
 #endif
     int c1; // #FIELD_C1
     C() = default;  // Test pre-C++20 aggregates
@@ -1525,7 +1525,7 @@ void aggregate() {
 
   struct D : S { // #TYPE_D
     int d1;
-    int d2 [[clang::requires_explicit_initialization]]; // #FIELD_D2
+    int d2 [[clang::require_explicit_initialization]]; // #FIELD_D2
   };
 
   struct D2 : D {  // #TYPE_D2
@@ -1533,10 +1533,10 @@ void aggregate() {
 
   struct E {  // #TYPE_E
     int e1;
-    D e2 [[clang::requires_explicit_initialization]]; // #FIELD_E2
+    D e2 [[clang::require_explicit_initialization]]; // #FIELD_E2
     struct {
-      [[clang::requires_explicit_initialization]] D e3;
-      D2 e4 [[clang::requires_explicit_initialization]];
+      [[clang::require_explicit_initialization]] D e3;
+      D2 e4 [[clang::require_explicit_initialization]];
     };
   };
 
@@ -1636,7 +1636,7 @@ void aggregate() {
   InheritWithExplicit<> agg;  // expected-warning {{field in 'InheritWithExplicit<>' requires explicit initialization but is not explicitly initialized}} expected-note@#FIELD_G2 {{'g2' declared here}}
   (void)agg;
 
-  InheritWithExplicit<Polymorphic> polymorphic;  // expected-warning@#FIELD_G2 {{'requires_explicit_initialization' attribute is ignored in non-aggregate type 'InheritWithExplicit<Polymorphic>'}}
+  InheritWithExplicit<Polymorphic> polymorphic;  // expected-warning@#FIELD_G2 {{'require_explicit_initialization' attribute is ignored in non-aggregate type 'InheritWithExplicit<Polymorphic>'}}
   (void)polymorphic;
 
   Inherit<Special> specialized_explicit;  // expected-warning {{field in 'Inherit<Special>' requires explicit initialization but is not explicitly initialized}} expected-note@#FIELD_G3 {{'g3' declared here}}

@higher-performance
Copy link
Contributor Author

@AaronBallman (per #102040 (comment))

Copy link
Collaborator

@AaronBallman AaronBallman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Good catch

@AaronBallman
Copy link
Collaborator

I'll land the changes once pre-commit CI comes back green (I expect it will; I didn't spot any places that were missed)

@AaronBallman AaronBallman merged commit 5deabab into llvm:main Jan 14, 2025
10 of 11 checks passed
@higher-performance higher-performance deleted the required-fields branch January 14, 2025 19:44
@llvm-ci
Copy link
Collaborator

llvm-ci commented Jan 14, 2025

LLVM Buildbot has detected a new failure on builder flang-aarch64-libcxx running on linaro-flang-aarch64-libcxx while building clang at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/89/builds/14362

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
77.852 [143/4/7173] Linking CXX executable tools/flang/unittests/Evaluate/integer.test
78.028 [143/3/7174] Linking CXX executable tools/flang/unittests/Evaluate/folding.test
78.096 [143/2/7175] Linking CXX executable tools/flang/unittests/Evaluate/expression.test
86.249 [143/1/7176] Linking CXX shared library lib/libFortranLower.so.20.0git
86.255 [142/1/7177] Creating library symlink lib/libFortranLower.so
87.034 [141/1/7178] Linking CXX shared library lib/libflangFrontend.so.20.0git
87.038 [140/1/7179] Creating library symlink lib/libflangFrontend.so
87.120 [138/2/7180] Linking CXX shared library lib/libflangFrontendTool.so.20.0git
87.125 [137/2/7181] Creating library symlink lib/libflangFrontendTool.so
87.544 [136/2/7182] Linking CXX executable bin/bbc
FAILED: bin/bbc 
: && /usr/local/bin/c++ -stdlib=libc++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Werror -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported -Wno-unused-command-line-argument -Wstring-conversion           -Wcovered-switch-default -Wno-nested-anon-types -O3 -DNDEBUG -stdlib=libc++     -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/./lib  -Wl,--gc-sections tools/flang/tools/bbc/CMakeFiles/bbc.dir/bbc.cpp.o -o bin/bbc  -Wl,-rpath,"\$ORIGIN/../lib:/home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/lib:"  lib/libLLVMAArch64CodeGen.so.20.0git  lib/libLLVMAArch64Desc.so.20.0git  lib/libLLVMAArch64Info.so.20.0git  lib/libflangFrontend.so.20.0git  lib/libflangPasses.so.20.0git  lib/libFortranLower.so.20.0git  lib/libHLFIRTransforms.so.20.0git  lib/libFlangOpenMPTransforms.so.20.0git  lib/libFIRTransforms.so.20.0git  lib/libFortranSemantics.so.20.0git  lib/libFIRBuilder.so.20.0git  lib/libCUFDialect.so.20.0git  lib/libFIRSupport.so.20.0git  lib/libMLIRFuncAllExtensions.so.20.0git  lib/libMLIRFuncInlinerExtension.so.20.0git  lib/libMLIRFuncMeshShardingExtensions.so.20.0git  lib/libMLIRTensorAllExtensions.so.20.0git  lib/libMLIRTensorMeshShardingExtensions.so.20.0git  lib/libFortranEvaluate.so.20.0git  lib/libFortranParser.so.20.0git  lib/libFortranCommon.so.20.0git  lib/libHLFIRDialect.so.20.0git  lib/libFIRDialect.so.20.0git  lib/libCUFAttrs.so.20.0git  lib/libFIRDialectSupport.so.20.0git  lib/libMLIRAffineTransformOps.so.20.0git  lib/libMLIRAMDGPUTransforms.so.20.0git  lib/libMLIRAMDGPUUtils.so.20.0git  lib/libMLIRAMDGPUDialect.so.20.0git  lib/libMLIRArithValueBoundsOpInterfaceImpl.so.20.0git  lib/libMLIRArmNeonTransforms.so.20.0git  lib/libMLIRArmSMETransforms.so.20.0git  lib/libMLIRArmSMEDialect.so.20.0git  lib/libMLIRAsyncTransforms.so.20.0git  lib/libMLIRBufferizationPipelines.so.20.0git  lib/libMLIRBufferizationTransformOps.so.20.0git  lib/libMLIRControlFlowTransforms.so.20.0git  lib/libMLIRDLTITransformOps.so.20.0git  lib/libMLIREmitCTransforms.so.20.0git  lib/libMLIREmitCDialect.so.20.0git  lib/libMLIRFuncTransformOps.so.20.0git  lib/libMLIRGPUTransformOps.so.20.0git  lib/libMLIRGPUPipelines.so.20.0git  lib/libMLIRIndexToLLVM.so.20.0git  lib/libMLIRNVVMToLLVM.so.20.0git  lib/libMLIRVCIXDialect.so.20.0git  lib/libMLIRMathTransforms.so.20.0git  lib/libMLIRMemRefTransformOps.so.20.0git  lib/libMLIRMLProgramTransforms.so.20.0git  lib/libMLIRMLProgramDialect.so.20.0git  lib/libMLIRMPIDialect.so.20.0git  lib/libMLIRNVGPUUtils.so.20.0git  lib/libMLIRNVGPUTransformOps.so.20.0git  lib/libMLIRNVGPUToNVVM.so.20.0git  lib/libMLIRNVGPUTransforms.so.20.0git  lib/libMLIROpenACCTransforms.so.20.0git  lib/libMLIROpenMPDialect.so.20.0git  lib/libMLIRPolynomialDialect.so.20.0git  lib/libMLIRPtrDialect.so.20.0git  lib/libMLIRQuantTransforms.so.20.0git  lib/libMLIRSCFTransformOps.so.20.0git  lib/libMLIRShapeOpsTransforms.so.20.0git  lib/libMLIRShapeDialect.so.20.0git  lib/libMLIRSparseTensorPipelines.so.20.0git  lib/libMLIRAffineToStandard.so.20.0git  lib/libMLIRSCFToControlFlow.so.20.0git  lib/libMLIRGPUToNVVMTransforms.so.20.0git  lib/libMLIRGPUToGPURuntimeTransforms.so.20.0git  lib/libMLIRGPUTransforms.so.20.0git  lib/libMLIRAsyncToLLVM.so.20.0git  lib/libMLIRAsyncDialect.so.20.0git  lib/libMLIRFuncToLLVM.so.20.0git  lib/libMLIRArithToLLVM.so.20.0git  lib/libMLIRControlFlowToLLVM.so.20.0git  lib/libMLIRConvertToLLVMPass.so.20.0git  lib/libMLIRConvertToLLVMInterface.so.20.0git  lib/libMLIRMathToLLVM.so.20.0git  lib/libMLIRReconcileUnrealizedCasts.so.20.0git  lib/libMLIRComplexToLLVM.so.20.0git  lib/libMLIRComplexToLibm.so.20.0git  lib/libMLIRComplexToStandard.so.20.0git  lib/libMLIRMathToLibm.so.20.0git  lib/libMLIRMemRefToLLVM.so.20.0git  lib/libMLIRVectorToLLVMPass.so.20.0git  lib/libMLIRAMXTransforms.so.20.0git  lib/libMLIRAMXDialect.so.20.0git  lib/libMLIRArmNeonDialect.so.20.0git  lib/libMLIRArmSVETransforms.so.20.0git  lib/libMLIRArmSVEDialect.so.20.0git  lib/libMLIRSparseTensorTransformOps.so.20.0git  lib/libMLIRLinalgTransformOps.so.20.0git  lib/libMLIRSparseTensorTransforms.so.20.0git  lib/libMLIRLinalgTransforms.so.20.0git  lib/libMLIRIndexDialect.so.20.0git  lib/libMLIRMemRefTransforms.so.20.0git  lib/libMLIRArithTransforms.so.20.0git  lib/libMLIRFuncTransforms.so.20.0git  lib/libMLIRNVGPUDialect.so.20.0git  lib/libMLIRMeshTransforms.so.20.0git  lib/libMLIRSCFTransforms.so.20.0git  lib/libMLIRBufferizationTransforms.so.20.0git  lib/libMLIRSparseTensorUtils.so.20.0git  lib/libMLIRSPIRVModuleCombiner.so.20.0git  lib/libMLIRSPIRVTransforms.so.20.0git  lib/libMLIRSPIRVConversion.so.20.0git  lib/libMLIRSPIRVUtils.so.20.0git  lib/libMLIRTensorInferTypeOpInterfaceImpl.so.20.0git  lib/libMLIRTensorTilingInterfaceImpl.so.20.0git  lib/libMLIRLinalgUtils.so.20.0git  lib/libMLIRTensorTransformOps.so.20.0git  lib/libMLIRTensorTransforms.so.20.0git  lib/libMLIRAffineTransforms.so.20.0git  lib/libMLIRSCFUtils.so.20.0git  lib/libMLIRTilingInterface.so.20.0git  lib/libMLIRTensorUtils.so.20.0git  lib/libMLIRTosaShardingInterfaceImpl.so.20.0git  lib/libMLIRShardingInterface.so.20.0git  lib/libMLIRMeshDialect.so.20.0git  lib/libMLIRTosaTransforms.so.20.0git  lib/libMLIRTransformDebugExtension.so.20.0git  lib/libMLIRTransformDialectIRDLExtension.so.20.0git  lib/libMLIRIRDL.so.20.0git  lib/libMLIRTransformLoopExtension.so.20.0git  lib/libMLIRTransformPDLExtension.so.20.0git  lib/libMLIRTransformDialectTransforms.so.20.0git  lib/libMLIRVectorTransformOps.so.20.0git  lib/libMLIRTransformDialect.so.20.0git  lib/libMLIRTransformDialectInterfaces.so.20.0git  lib/libMLIRTransformDialectUtils.so.20.0git  lib/libMLIRVectorToSCF.so.20.0git  lib/libMLIRVectorToLLVM.so.20.0git  lib/libMLIRVectorTransforms.so.20.0git  lib/libMLIRGPUUtils.so.20.0git  lib/libMLIRLinalgDialect.so.20.0git  lib/libMLIRBufferizationDialect.so.20.0git  lib/libMLIRMathDialect.so.20.0git  lib/libMLIRSparseTensorDialect.so.20.0git  lib/libMLIRMemRefUtils.so.20.0git  lib/libMLIRArithAttrToLLVMConversion.so.20.0git  lib/libMLIRX86VectorTransforms.so.20.0git  lib/libMLIRVectorUtils.so.20.0git  lib/libMLIRX86VectorDialect.so.20.0git  lib/libMLIRLLVMCommonConversion.so.20.0git  lib/libMLIRXeGPUTransforms.so.20.0git  lib/libMLIRAffineUtils.so.20.0git  lib/libMLIRAffineAnalysis.so.20.0git  lib/libMLIRSCFDialect.so.20.0git  lib/libMLIRControlFlowDialect.so.20.0git  lib/libMLIRXeGPUDialect.so.20.0git  lib/libMLIRVectorDialect.so.20.0git  lib/libMLIRMaskableOpInterface.so.20.0git  lib/libMLIRMaskingOpInterface.so.20.0git  lib/libMLIRSPIRVTarget.so.20.0git  lib/libMLIRSPIRVSerialization.so.20.0git  lib/libMLIRSPIRVDialect.so.20.0git  lib/libMLIRSPIRVBinaryUtils.so.20.0git  lib/libMLIRNVVMTarget.so.20.0git  lib/libMLIRNVVMToLLVMIRTranslation.so.20.0git  lib/libMLIRROCDLTarget.so.20.0git  lib/libMLIRGPUDialect.so.20.0git  lib/libMLIRTargetLLVM.so.20.0git  lib/libMLIRExecutionEngineUtils.so.20.0git  lib/libLLVMPasses.so.20.0git  lib/libLLVMipo.so.20.0git  lib/libLLVMLinker.so.20.0git  lib/libMLIRROCDLToLLVMIRTranslation.so.20.0git  lib/libMLIRROCDLDialect.so.20.0git  lib/libMLIRTargetLLVMIRExport.so.20.0git  lib/libMLIRDLTIDialect.so.20.0git  lib/libMLIRLLVMIRTransforms.so.20.0git  lib/libMLIRNVVMDialect.so.20.0git  lib/libMLIRTransforms.so.20.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.20.0git  lib/libMLIRTranslateLib.so.20.0git  lib/libMLIRParser.so.20.0git  lib/libMLIRBytecodeReader.so.20.0git  lib/libMLIRAsmParser.so.20.0git  lib/libMLIRTestDynDialect.so.20.0git  lib/libMLIRTosaTestPasses.so.20.0git  lib/libMLIRFuncDialect.so.20.0git  lib/libMLIRTosaDialect.so.20.0git  lib/libMLIRQuantUtils.so.20.0git  lib/libMLIRQuantDialect.so.20.0git  lib/libMLIRTensorDialect.so.20.0git  lib/libMLIRAffineDialect.so.20.0git  lib/libMLIRParallelCombiningOpInterface.so.20.0git  lib/libMLIRVectorInterfaces.so.20.0git  lib/libMLIRTransformUtils.so.20.0git  lib/libMLIRSubsetOpInterface.so.20.0git  lib/libMLIRRewrite.so.20.0git  lib/libMLIRRewritePDL.so.20.0git  lib/libMLIRPDLToPDLInterp.so.20.0git  lib/libMLIRPDLInterpDialect.so.20.0git  lib/libMLIRPDLDialect.so.20.0git  lib/libMLIRPass.so.20.0git  lib/libLLVMTarget.so.20.0git  lib/libMLIROpenACCDialect.so.20.0git  lib/libMLIRLLVMDialect.so.20.0git  lib/libLLVMBitWriter.so.20.0git  lib/libMLIRMemRefDialect.so.20.0git  lib/libMLIRArithUtils.so.20.0git  lib/libMLIRComplexDialect.so.20.0git  lib/libMLIRArithDialect.so.20.0git  lib/libMLIRUBDialect.so.20.0git  lib/libMLIRCastInterfaces.so.20.0git  lib/libMLIRInferIntRangeCommon.so.20.0git  lib/libMLIRDialectUtils.so.20.0git  lib/libMLIRShapedOpInterfaces.so.20.0git  lib/libMLIRValueBoundsOpInterface.so.20.0git  lib/libMLIRAnalysis.so.20.0git  lib/libMLIRCallInterfaces.so.20.0git  lib/libMLIRControlFlowInterfaces.so.20.0git  lib/libMLIRInferTypeOpInterface.so.20.0git  lib/libMLIRSideEffectInterfaces.so.20.0git  lib/libMLIRPresburger.so.20.0git  lib/libMLIRLoopLikeInterface.so.20.0git  lib/libMLIRInferIntRangeInterface.so.20.0git  lib/libMLIRFunctionInterfaces.so.20.0git  lib/libMLIRDataLayoutInterfaces.so.20.0git  lib/libMLIRDestinationStyleOpInterface.so.20.0git  lib/libMLIRViewLikeInterface.so.20.0git  lib/libMLIRDialect.so.20.0git  lib/libMLIRMemorySlotInterfaces.so.20.0git  lib/libMLIROpenACCMPCommon.so.20.0git  lib/libMLIRIR.so.20.0git  lib/libMLIRSupport.so.20.0git  lib/libLLVMFrontendOpenMP.so.20.0git  lib/libLLVMFrontendOffloading.so.20.0git  lib/libLLVMTransformUtils.so.20.0git  lib/libLLVMMCParser.so.20.0git  lib/libLLVMIRReader.so.20.0git  lib/libLLVMAsmParser.so.20.0git  lib/libLLVMBitReader.so.20.0git  lib/libLLVMCore.so.20.0git  lib/libLLVMMC.so.20.0git  lib/libLLVMBinaryFormat.so.20.0git  lib/libLLVMTargetParser.so.20.0git  lib/libLLVMSupport.so.20.0git  -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/lib && :
/usr/bin/ld: tools/flang/tools/bbc/CMakeFiles/bbc.dir/bbc.cpp.o: undefined reference to symbol '_ZN3fir3acc25registerOpenACCExtensionsERN4mlir15DialectRegistryE'
/usr/bin/ld: /home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/./lib/libFIROpenACCSupport.so.20.0git: error adding symbols: DSO missing from command line
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
87.893 [136/1/7183] Linking CXX executable bin/flang-20
ninja: build stopped: subcommand failed.

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.

4 participants