| // RUN: %clang_cc1 %s -pedantic -verify |
| |
| namespace PointerRvalues { |
| |
| void f(__global int *__constant *a, const __global int *__constant *b) { |
| using T = decltype(true ? +a : +b); |
| using T = const __global int *const __constant *; |
| } |
| |
| void g(const __global int *a, __generic int *b) { |
| using T = decltype(true ? +a : +b); |
| using T = const __generic int *; |
| } |
| |
| void h(const __global int **a, __generic int **b) { |
| using T = decltype(true ? +a : +b); // expected-error {{incompatible operand types}} |
| } |
| |
| void i(__global int **a, __generic int **b) { |
| using T = decltype(true ? +a : +b); // expected-error {{incompatible operand types}} |
| } |
| |
| } |