// 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}}
}
}