| // RUN: %clang_cc1 %s -emit-llvm -triple x86_64-apple-darwin -o - | FileCheck %s | |
| // Make sure pointers are passed as pointers, not converted to int. | |
| // The first load should be of type i8** in either 32 or 64 bit mode. | |
| // This formerly happened on x86-64, 7375899. | |
| class StringRef { | |
| public: | |
| const char *Data; | |
| long Len; | |
| }; | |
| void foo(StringRef X); | |
| void bar(StringRef &A) { | |
| // CHECK: @_Z3barR9StringRef | |
| // CHECK: load i8*, i8** | |
| foo(A); | |
| // CHECK: ret void | |
| } |