1feba9f2bdc5711894e452dfc67c9679482fbf897Manman Ren// RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm -o - %s -fsanitize=thread -relaxed-aliasing -O1 | FileCheck %s 2feba9f2bdc5711894e452dfc67c9679482fbf897Manman Ren 3feba9f2bdc5711894e452dfc67c9679482fbf897Manman Ren// Make sure we do not crash when relaxed-aliasing is on. 4feba9f2bdc5711894e452dfc67c9679482fbf897Manman Ren// CHECK-NOT: !tbaa 5feba9f2bdc5711894e452dfc67c9679482fbf897Manman Renstruct iterator { void *node; }; 6feba9f2bdc5711894e452dfc67c9679482fbf897Manman Ren 7feba9f2bdc5711894e452dfc67c9679482fbf897Manman Renstruct pair { 8feba9f2bdc5711894e452dfc67c9679482fbf897Manman Ren iterator first; 9feba9f2bdc5711894e452dfc67c9679482fbf897Manman Ren pair(const iterator &a) : first(a) {} 10feba9f2bdc5711894e452dfc67c9679482fbf897Manman Ren}; 11feba9f2bdc5711894e452dfc67c9679482fbf897Manman Ren 12feba9f2bdc5711894e452dfc67c9679482fbf897Manman Renvoid equal_range() { 13feba9f2bdc5711894e452dfc67c9679482fbf897Manman Ren (void)pair(iterator()); 14feba9f2bdc5711894e452dfc67c9679482fbf897Manman Ren} 15