typedef int T;
void OBSCURE(func)(int x) {
OBSCURE(T) DECORATION value;
}
// Without PCH
// RUN: c-index-test -cursor-at=%s.h:1:11 \
// RUN: -cursor-at=%s.h:2:14 \
// RUN: -cursor-at=%s.h:4:5 \
// RUN: -cursor-at=%s.h:5:5 \
// RUN: -cursor-at=%s.h:5:14 \
// RUN: -cursor-at=%s:5:7 \
// RUN: -cursor-at=%s:6:6 \
// RUN: -cursor-at=%s:6:19 \
// RUN: -include %s.h %s | FileCheck %s
// With PCH
// RUN: c-index-test -write-pch %t.h.pch %s.h -Xclang -detailed-preprocessing-record
// RUN: c-index-test -cursor-at=%s.h:1:11 \
// RUN: -cursor-at=%s.h:2:14 \
// RUN: -cursor-at=%s.h:4:5 \
// RUN: -cursor-at=%s.h:5:5 \
// RUN: -cursor-at=%s.h:5:14 \
// RUN: -cursor-at=%s:5:7 \
// RUN: -cursor-at=%s:6:6 \
// RUN: -cursor-at=%s:6:19 \
// RUN: -include %t.h %s | FileCheck %s
// From header
// CHECK: macro definition=OBSCURE
// CHECK: macro definition=DECORATION
// CHECK: macro expansion=DECORATION:2:9
// CHECK: macro expansion=OBSCURE:1:9
// CHECK: macro expansion=DECORATION:2:9
// From main file
// CHECK: macro expansion=OBSCURE:1:9
// CHECK: macro expansion=OBSCURE:1:9
// CHECK: macro expansion=DECORATION:2:9