78 lines
2.1 KiB
C++
78 lines
2.1 KiB
C++
|
// Test is line- and column-sensitive. Run lines are below.
|
||
|
|
||
|
struct Foo {
|
||
|
int x = 10;
|
||
|
};
|
||
|
|
||
|
void foo() {
|
||
|
int p = 11;
|
||
|
}
|
||
|
|
||
|
#define FUNC_MAC(x) x
|
||
|
|
||
|
void goo() {
|
||
|
int p = FUNC_MAC(1);
|
||
|
int a = __LINE__;
|
||
|
}
|
||
|
|
||
|
unsigned long long foo_int = 1ull << 60;
|
||
|
|
||
|
unsigned long long HUGE = 1ull << 63;
|
||
|
|
||
|
long long HUGE_NEG = -(1ll << 35);
|
||
|
|
||
|
template <typename d> class e {
|
||
|
using f = d;
|
||
|
static const auto g = alignof(f);
|
||
|
};
|
||
|
|
||
|
constexpr static int calc_val() { return 1 + 2; }
|
||
|
const auto the_value = calc_val() + sizeof(char);
|
||
|
|
||
|
void vlaTest() {
|
||
|
int msize = 4;
|
||
|
float arr[msize];
|
||
|
[&arr] {};
|
||
|
}
|
||
|
|
||
|
// RUN: c-index-test -evaluate-cursor-at=%s:4:7 \
|
||
|
// RUN: -evaluate-cursor-at=%s:8:7 \
|
||
|
// RUN: -evaluate-cursor-at=%s:8:11 -std=c++11 %s | FileCheck %s
|
||
|
// CHECK: Value: 10
|
||
|
// CHECK: Value: 11
|
||
|
// CHECK: Value: 11
|
||
|
|
||
|
// RUN: c-index-test -get-macro-info-cursor-at=%s:11:9 \
|
||
|
// RUN: -get-macro-info-cursor-at=%s:14:11 \
|
||
|
// RUN: -get-macro-info-cursor-at=%s:15:11 -std=c++11 %s | FileCheck -check-prefix=CHECK-MACRO %s
|
||
|
// CHECK-MACRO: [function macro]
|
||
|
// CHECK-MACRO: [function macro]
|
||
|
// CHECK-MACRO: [builtin macro]
|
||
|
|
||
|
// RUN: c-index-test -evaluate-cursor-at=%s:18:20 \
|
||
|
// RUN: -evaluate-cursor-at=%s:20:20 \
|
||
|
// RUN: -evaluate-cursor-at=%s:22:11 \
|
||
|
// RUN: -std=c++11 %s | FileCheck -check-prefix=CHECK-LONG %s
|
||
|
// CHECK-LONG: unsigned, Value: 1152921504606846976
|
||
|
// CHECK-LONG: unsigned, Value: 9223372036854775808
|
||
|
// CHECK-LONG: Value: -34359738368
|
||
|
|
||
|
// RUN: c-index-test -evaluate-cursor-at=%s:18:20 \
|
||
|
// RUN: -evaluate-cursor-at=%s:20:20 \
|
||
|
// RUN: -evaluate-cursor-at=%s:26:21 \
|
||
|
// RUN: -std=c++11 %s | FileCheck -check-prefix=CHECK-DOES-NOT-CRASH %s
|
||
|
// CHECK-DOES-NOT-CRASH: Not Evaluatable
|
||
|
|
||
|
// RUN: c-index-test -evaluate-cursor-at=%s:30:1 \
|
||
|
// RUN: -evaluate-cursor-at=%s:30:32 \
|
||
|
// RUN: -evaluate-cursor-at=%s:30:35 \
|
||
|
// RUN: -evaluate-cursor-at=%s:30:37 -std=c++11 %s | FileCheck %s -check-prefix=CHECK-EXPR
|
||
|
// CHECK-EXPR: unsigned, Value: 4
|
||
|
// CHECK-EXPR: Value: 3
|
||
|
// CHECK-EXPR: unsigned, Value: 4
|
||
|
// CHECK-EXPR: unsigned, Value: 1
|
||
|
|
||
|
// RUN: c-index-test -evaluate-cursor-at=%s:35:5 \
|
||
|
// RUN: -std=c++11 %s | FileCheck -check-prefix=VLA %s
|
||
|
// VLA: Not Evaluatable
|