diff options
author | Nico Weber <nicolasweber@gmx.de> | 2019-06-14 04:05:17 +0000 |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2019-06-14 04:05:17 +0000 |
commit | 3d02b895eda08dda749a16c9499f3a11fd68793b (patch) | |
tree | da36d6a87461e67af138453afafe5ffafd45d02b /clang/test/CodeGenCXX/nullptr.cpp | |
parent | 5b4285d82ded14b5f486df39fbef6aacdfbd8659 (diff) | |
download | bcm5719-llvm-3d02b895eda08dda749a16c9499f3a11fd68793b.tar.gz bcm5719-llvm-3d02b895eda08dda749a16c9499f3a11fd68793b.zip |
Revert 363295, it caused PR42276. Also revert follow-ups 363337, 363340.
Revert 363340 "Remove unused SK_LValueToRValue initialization step."
Revert 363337 "PR23833, DR2140: an lvalue-to-rvalue conversion on a glvalue of type"
Revert 363295 "C++ DR712 and others: handle non-odr-use resulting from an lvalue-to-rvalue conversion applied to a member access or similar not-quite-trivial lvalue expression."
llvm-svn: 363352
Diffstat (limited to 'clang/test/CodeGenCXX/nullptr.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/nullptr.cpp | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/clang/test/CodeGenCXX/nullptr.cpp b/clang/test/CodeGenCXX/nullptr.cpp index 823c0d7d18a..e93f7061bdd 100644 --- a/clang/test/CodeGenCXX/nullptr.cpp +++ b/clang/test/CodeGenCXX/nullptr.cpp @@ -22,50 +22,3 @@ void g() { const std::type_info& f2() { return typeid(nullptr_t); } - -union U { - int n; - nullptr_t b; -}; -// CHECK-LABEL: define {{.*}}pr23833_a -// CHECK: store -// CHECK: load -// CHECK-NOT: load -// CHECK: ret i1 false -bool pr23833_a(U &u) { return u.b; } - -// CHECK-LABEL: define {{.*}}pr23833_b -// CHECK: store -// CHECK: load -// CHECK-NOT: load -// CHECK: ret i8* null -nullptr_t pr23833_b(nullptr_t &n) { return n; } - -struct X1 { operator int*(); }; -struct X2 { operator const nullptr_t&(); }; - -// CHECK-LABEL: define {{.*}}pr23833_c -// CHECK: call {{.*}}X1 -// CHECK: call {{.*}}X2 -// CHECK-NOT: load -// CHECK: ret i32 -int pr23833_c() { - return X1() != X2(); -} - -// CHECK-LABEL: define {{.*}}pr23833_d -// CHECK: call {{.*}}X2 -// CHECK-NOT: load -// CHECK: store -// CHECK: load -// CHECK: ret i32* -int *pr23833_d() { - int *p = X2(); - return p; -} - -namespace PR39528 { - constexpr nullptr_t null = nullptr; - void f(nullptr_t); - void g() { f(null); } -} |