1 // RUN: %clang_analyze_cc1 -analyzer-checker=core,debug.ExprInspection -verify %s 2>&1 | FileCheck %s
2 // expected-no-diagnostics
4 void clang_analyzer_printState();
19 void test_output(int n
) {
21 objsecond
.m
.large
[n
] = 20;
25 objfirst
.m
= getMember();
30 clang_analyzer_printState();
31 // Default binding is before any direct bindings.
32 // Direct bindings are increasing by offset.
33 // Global memory space clusters come before any other clusters.
34 // Otherwise, Clusters are in alphabetical order.
36 // CHECK: "store": { "pointer": "0x{{[0-9a-f]+}}", "items": [
37 // CHECK-NEXT: { "cluster": "GlobalInternalSpaceRegion", "pointer": "0x{{[0-9a-f]+}}", "items": [
38 // CHECK-NEXT: { "kind": "Default", "offset": 0, "value": "conj_$
40 // CHECK-NEXT: { "cluster": "GlobalSystemSpaceRegion", "pointer": "0x{{[0-9a-f]+}}", "items": [
41 // CHECK-NEXT: { "kind": "Default", "offset": 0, "value": "conj_$
43 // CHECK-NEXT: { "cluster": "objfirst", "pointer": "0x{{[0-9a-f]+}}", "items": [
44 // CHECK-NEXT: { "kind": "Default", "offset": 0, "value": "conj_$
45 // CHECK-NEXT: { "kind": "Direct", "offset": 320, "value": "1 S32b" },
46 // CHECK-NEXT: { "kind": "Direct", "offset": 352, "value": "2 S32b" },
47 // CHECK-NEXT: { "kind": "Direct", "offset": 384, "value": "3 S32b" }
49 // CHECK-NEXT: { "cluster": "objsecond", "pointer": "0x{{[0-9a-f]+}}", "items": [
50 // CHECK-NEXT: { "kind": "Default", "offset": 0, "value": "Unknown" },
51 // CHECK-NEXT: { "kind": "Direct", "offset": null, "value": "20 S32b" }