sidneym created this revision. sidneym added reviewers: kparzysz, adasgupt, bcain. Herald added subscribers: cfe-commits, jfb. Herald added a project: clang.
Seeing errors while building the c++ library: atomic:2756:16: error: use of undeclared identifier '__libcpp_signed_lock_free' typedef atomic<__libcpp_signed_lock_free> atomic_signed_lock_free; Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D76546 Files: clang/lib/Basic/Targets/Hexagon.h clang/test/Preprocessor/hexagon-predefines.c Index: clang/test/Preprocessor/hexagon-predefines.c =================================================================== --- clang/test/Preprocessor/hexagon-predefines.c +++ clang/test/Preprocessor/hexagon-predefines.c @@ -113,3 +113,20 @@ // CHECK-LINUX: #define __unix__ 1 // CHECK-LINUX: #define linux 1 // CHECK-LINUX: #define unix 1 + + +// RUN: %clang_cc1 -E -dM -triple hexagon-unknown-linux-musl \ +// RUN: -target-cpu hexagonv67 -target-feature +hvxv67 \ +// RUN: -target-feature +hvx-length128b %s | FileCheck \ +// RUN: %s -check-prefix CHECK-ATOMIC +// CHECK-ATOMIC: #define __CLANG_ATOMIC_BOOL_LOCK_FREE 2 +// CHECK-ATOMIC: #define __CLANG_ATOMIC_CHAR16_T_LOCK_FREE 2 +// CHECK-ATOMIC: #define __CLANG_ATOMIC_CHAR32_T_LOCK_FREE 2 +// CHECK-ATOMIC: #define __CLANG_ATOMIC_CHAR_LOCK_FREE 2 +// CHECK-ATOMIC: #define __CLANG_ATOMIC_INT_LOCK_FREE 2 +// CHECK-ATOMIC: #define __CLANG_ATOMIC_LLONG_LOCK_FREE 2 +// CHECK-ATOMIC: #define __CLANG_ATOMIC_LONG_LOCK_FREE 2 +// CHECK-ATOMIC: #define __CLANG_ATOMIC_POINTER_LOCK_FREE 2 +// CHECK-ATOMIC: #define __CLANG_ATOMIC_SHORT_LOCK_FREE 2 +// CHECK-ATOMIC: #define __CLANG_ATOMIC_WCHAR_T_LOCK_FREE 2 + Index: clang/lib/Basic/Targets/Hexagon.h =================================================================== --- clang/lib/Basic/Targets/Hexagon.h +++ clang/lib/Basic/Targets/Hexagon.h @@ -57,6 +57,7 @@ LargeArrayAlign = 64; UseBitFieldTypeAlignment = true; ZeroLengthBitfieldBoundary = 32; + MaxAtomicPromoteWidth = MaxAtomicInlineWidth = 64; // These are the default values anyway, but explicitly make sure // that the size of the boolean type is 8 bits. Bool vectors are used
Index: clang/test/Preprocessor/hexagon-predefines.c =================================================================== --- clang/test/Preprocessor/hexagon-predefines.c +++ clang/test/Preprocessor/hexagon-predefines.c @@ -113,3 +113,20 @@ // CHECK-LINUX: #define __unix__ 1 // CHECK-LINUX: #define linux 1 // CHECK-LINUX: #define unix 1 + + +// RUN: %clang_cc1 -E -dM -triple hexagon-unknown-linux-musl \ +// RUN: -target-cpu hexagonv67 -target-feature +hvxv67 \ +// RUN: -target-feature +hvx-length128b %s | FileCheck \ +// RUN: %s -check-prefix CHECK-ATOMIC +// CHECK-ATOMIC: #define __CLANG_ATOMIC_BOOL_LOCK_FREE 2 +// CHECK-ATOMIC: #define __CLANG_ATOMIC_CHAR16_T_LOCK_FREE 2 +// CHECK-ATOMIC: #define __CLANG_ATOMIC_CHAR32_T_LOCK_FREE 2 +// CHECK-ATOMIC: #define __CLANG_ATOMIC_CHAR_LOCK_FREE 2 +// CHECK-ATOMIC: #define __CLANG_ATOMIC_INT_LOCK_FREE 2 +// CHECK-ATOMIC: #define __CLANG_ATOMIC_LLONG_LOCK_FREE 2 +// CHECK-ATOMIC: #define __CLANG_ATOMIC_LONG_LOCK_FREE 2 +// CHECK-ATOMIC: #define __CLANG_ATOMIC_POINTER_LOCK_FREE 2 +// CHECK-ATOMIC: #define __CLANG_ATOMIC_SHORT_LOCK_FREE 2 +// CHECK-ATOMIC: #define __CLANG_ATOMIC_WCHAR_T_LOCK_FREE 2 + Index: clang/lib/Basic/Targets/Hexagon.h =================================================================== --- clang/lib/Basic/Targets/Hexagon.h +++ clang/lib/Basic/Targets/Hexagon.h @@ -57,6 +57,7 @@ LargeArrayAlign = 64; UseBitFieldTypeAlignment = true; ZeroLengthBitfieldBoundary = 32; + MaxAtomicPromoteWidth = MaxAtomicInlineWidth = 64; // These are the default values anyway, but explicitly make sure // that the size of the boolean type is 8 bits. Bool vectors are used
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits