// RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-apple-macosx10.13.0 -fobjc-arc -fblocks -Wno-objc-root-class -O0 %s -S -emit-llvm -o - | FileCheck %s
// RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-apple-macosx10.13.0 -fobjc-arc -fblocks -Wno-objc-root-class -O0 -xobjective-c++ -std=c++11 %s -S -emit-llvm -o - | FileCheck %s --check-prefix CHECKXX
ObjTy *global;
// Suppress name mangling in C++ mode for the sake of check lines.
extern "C" void ;
extern "C" void ;
extern "C" void ;
extern "C" void ;
extern "C" void ;
extern "C" void ;
extern "C" void ;
extern "C" void ;
void EXT_RET
void
void
void ;
void EXT_RET
void ;
void
// Verify that the decltype(p) is resolved before 'p' is made implicitly const.
void
// CHECKXX: _Z3fooP5ObjTyPU8__strongS0_