CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
61 lines
2.0 KiB
C++
61 lines
2.0 KiB
C++
// RUN: not %clang -fsyntax-only -std=c++11 -ferror-limit=1 %s 2>&1 | FileCheck %s
|
|
|
|
// Test case for PR35682.
|
|
// The issue be caused by the typo correction that changes String to the
|
|
// incomplete type string. The example is based on the std::pair code and
|
|
// reduced to a minimal test case. When using std::pair the issue can only be
|
|
// reproduced when using the -stdlib=libc++ compiler option.
|
|
|
|
template <class T> class allocator;
|
|
|
|
template <class charT> struct char_traits;
|
|
|
|
template <class CharT, class Traits = char_traits<CharT>,
|
|
class Allocator = allocator<CharT>>
|
|
class basic_string;
|
|
typedef basic_string<char, char_traits<char>, allocator<char>> string;
|
|
|
|
template <bool, class Tp = void> struct enable_if {};
|
|
template <class Tp> struct enable_if<true, Tp> { typedef Tp type; };
|
|
|
|
template <class Tp, Tp v> struct integral_constant {
|
|
static constexpr const Tp value = v;
|
|
typedef Tp value_type;
|
|
typedef integral_constant type;
|
|
|
|
constexpr operator value_type() const noexcept { return value; }
|
|
constexpr value_type operator()() const noexcept { return value; }
|
|
};
|
|
|
|
template <class Tp, Tp v> constexpr const Tp integral_constant<Tp, v>::value;
|
|
|
|
using true_type = integral_constant<bool, true>;
|
|
using false_type = integral_constant<bool, false>;
|
|
|
|
template <class Tp, class Up> struct is_same : public false_type {};
|
|
template <class Tp> struct is_same<Tp, Tp> : public true_type {};
|
|
|
|
template <class T> struct single {
|
|
typedef T first_type;
|
|
|
|
T first;
|
|
|
|
struct CheckArgs {
|
|
template <class U1> static constexpr bool enable_implicit() {
|
|
return is_same<first_type, U1>::value;
|
|
}
|
|
};
|
|
|
|
template <class U1,
|
|
typename enable_if<CheckArgs::template enable_implicit<U1>(),
|
|
bool>::type = false>
|
|
single(U1 &&u1);
|
|
};
|
|
|
|
using SetKeyType = String;
|
|
single<SetKeyType> v;
|
|
|
|
// CHECK: error: unknown type name 'String'; did you mean 'string'?
|
|
// CHECK: fatal error: too many errors emitted, stopping now [-ferror-limit=]
|
|
// CHECK-NOT: Assertion{{.*}}failed
|