// RUN: %clang_cc1 -emit-llvm -triple x86_64-pc-linux-gnu %s -o - -std=c++11 | FileCheck %s

volatile int g1;
struct S {
  volatile int a;
} g2;

volatile int& refcall();

// CHECK: define{{.*}} void @_Z2f1PViPV1S
void f1(volatile int *x, volatile S* s) {
  // We should perform the load in these cases.
  // CHECK: load volatile i32, ptr
  (*x);
  // CHECK: load volatile i32, ptr
  __extension__ g1;
  // CHECK: load volatile i32, ptr
  s->a;
  // CHECK: load volatile i32, ptr
  g2.a;
  // CHECK: load volatile i32, ptr
  s->*(&S::a);
  // CHECK: load volatile i32, ptr
  // CHECK: load volatile i32, ptr
  x[0], 1 ? x[0] : *x;

  // CHECK: load volatile i32, ptr
  // CHECK: load volatile i32, ptr
  // CHECK: load volatile i32, ptr
  *x ?: *x;

  // CHECK: load volatile i32, ptr
  ({ *x; });

  // CHECK-NOT: load volatile
  // CHECK: ret
}

// CHECK: define{{.*}} void @_Z2f2PVi
// CHECK-NOT: load volatile
// CHECK: ret
void f2(volatile int *x) {
  // We shouldn't perform the load in these cases.
  refcall();
  1 ? refcall() : *x;
}

// CHECK: define{{.*}} void @_Z2f3v()
// CHECK-NOT: load
// CHECK-NOT: memcpy

void f3(void) {
  volatile char a[10];
  a;
}
