1 // RUN: %clang_cc1 -std=c++11 -triple x86_64-apple-darwin10 -emit-llvm -o - %s -fsanitize=alignment | FileCheck %s -check-prefixes=ALIGN,COMMON
2 // RUN: %clang_cc1 -std=c++11 -triple x86_64-apple-darwin10 -emit-llvm -o - %s -fsanitize=null | FileCheck %s -check-prefixes=NULL,COMMON
3 // RUN: %clang_cc1 -std=c++11 -triple x86_64-apple-darwin10 -emit-llvm -o - %s -fsanitize=object-size | FileCheck %s -check-prefixes=OBJSIZE,COMMON
4 
5 struct A {
6   // COMMON-LABEL: define linkonce_odr void @_ZN1A10do_nothingEv
7   void do_nothing() {
8     // ALIGN-NOT: ptrtoint %struct.A* %{{.*}} to i64, !nosanitize
9     // ALIGN-NOT: and i64 %{{.*}}, 7, !nosanitize
10 
11     // NULL: icmp ne %struct.A* %{{.*}}, null, !nosanitize
12 
13     // OBJSIZE-NOT: call i64 @llvm.objectsize
14   }
15 };
16 
17 void force_irgen() {
18   A a;
19   a.do_nothing();
20 }
21