diff options
author | Ted Kremenek <kremenek@apple.com> | 2010-11-08 21:14:15 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2010-11-08 21:14:15 +0000 |
commit | 04c450c44d01169de287b64bc256d723007010da (patch) | |
tree | 99c9044e88a4db451895b3c7dc8a5534b3dbf05a | |
parent | da892649f9a0b6dd92eecb97c7959dc3f968241f (diff) |
Add CursorVisitor::VisitBinaryOperator() to explicitly handle the case where we can blow out the stack due
to deeply nested BinaryOperators. This is done by turning the explicit recursion into being data recursive.
Fixes: <rdar://problem/8289205>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118444 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/Index/nested-binaryoperators.cpp | 1982 | ||||
-rw-r--r-- | tools/libclang/CIndex.cpp | 90 |
2 files changed, 2072 insertions, 0 deletions
diff --git a/test/Index/nested-binaryoperators.cpp b/test/Index/nested-binaryoperators.cpp new file mode 100644 index 0000000000..d263b9ddbc --- /dev/null +++ b/test/Index/nested-binaryoperators.cpp @@ -0,0 +1,1982 @@ +typedef unsigned int uint; +int foo(uint c) { + return ((c >= 0x41 && c <= 0x5a) + || (c >= 0x61 && c <= 0x7a) + || (c >= 0xc0 && c <= 0xd6) + || (c >= 0xd8 && c <= 0xf6) + || (c >= 0xf8 && c <= 0xff) + || (c >= 0x100 && c <= 0x131) + || (c >= 0x134 && c <= 0x13e) + || (c >= 0x141 && c <= 0x148) + || (c >= 0x14a && c <= 0x17e) + || (c >= 0x180 && c <= 0x1c3) + || (c >= 0x1cd && c <= 0x1f0) + || (c >= 0x1f4 && c <= 0x1f5) + || (c >= 0x1fa && c <= 0x217) + || (c >= 0x250 && c <= 0x2a8) + || (c >= 0x2bb && c <= 0x2c1) + || c == 0x386 || (c >= 0x388 && c <= 0x38a) + || c == 0x38c || (c >= 0x38e && c <= 0x3a1) + || (c >= 0x3a3 && c <= 0x3ce) + || (c >= 0x3d0 && c <= 0x3d6) + || c == 0x3da || c == 0x3dc || c == 0x3de || + c == 0x3e0 || (c >= 0x3e2 && c <= 0x3f3) + || (c >= 0x401 && c <= 0x40c) + || (c >= 0x40e && c <= 0x44f) + || (c >= 0x451 && c <= 0x45c) + || (c >= 0x45e && c <= 0x481) + || (c >= 0x490 && c <= 0x4c4) + || (c >= 0x4c7 && c <= 0x4c8) + || (c >= 0x4cb && c <= 0x4cc) + || (c >= 0x4d0 && c <= 0x4eb) + || (c >= 0x4ee && c <= 0x4f5) + || (c >= 0x4f8 && c <= 0x4f9) + || (c >= 0x531 && c <= 0x556) + || c == 0x559 || (c >= 0x561 && c <= 0x586) + || (c >= 0x5d0 && c <= 0x5ea) + || (c >= 0x5f0 && c <= 0x5f2) + || (c >= 0x621 && c <= 0x63a) + || (c >= 0x641 && c <= 0x64a) + || (c >= 0x671 && c <= 0x6b7) + || (c >= 0x6ba && c <= 0x6be) + || (c >= 0x6c0 && c <= 0x6ce) + || (c >= 0x6d0 && c <= 0x6d3) + || c == 0x6d5 || (c >= 0x6e5 && c <= 0x6e6) + || (c >= 0x905 && c <= 0x939) + || c == 0x93d || (c >= 0x958 && c <= 0x961) + || (c >= 0x985 && c <= 0x98c) + || (c >= 0x98f && c <= 0x990) + || (c >= 0x993 && c <= 0x9a8) + || (c >= 0x9aa && c <= 0x9b0) + || c == 0x9b2 || (c >= 0x9b6 && c <= 0x9b9) + || (c >= 0x9dc && c <= 0x9dd) + || (c >= 0x9df && c <= 0x9e1) + || (c >= 0x9f0 && c <= 0x9f1) + || (c >= 0xa05 && c <= 0xa0a) + || (c >= 0xa0f && c <= 0xa10) + || (c >= 0xa13 && c <= 0xa28) + || (c >= 0xa2a && c <= 0xa30) + || (c >= 0xa32 && c <= 0xa33) + || (c >= 0xa35 && c <= 0xa36) + || (c >= 0xa38 && c <= 0xa39) + || (c >= 0xa59 && c <= 0xa5c) + || c == 0xa5e || (c >= 0xa72 && c <= 0xa74) + || (c >= 0xa85 && c <= 0xa8b) + || c == 0xa8d || (c >= 0xa8f && c <= 0xa91) + || (c >= 0xa93 && c <= 0xaa8) + || (c >= 0xaaa && c <= 0xab0) + || (c >= 0xab2 && c <= 0xab3) + || (c >= 0xab5 && c <= 0xab9) + || c == 0xabd || c == 0xae0 || (c >= 0xb05 && c <= 0xb0c) + || (c >= 0xb0f && c <= 0xb10) + || (c >= 0xb13 && c <= 0xb28) + || (c >= 0xb2a && c <= 0xb30) + || (c >= 0xb32 && c <= 0xb33) + || (c >= 0xb36 && c <= 0xb39) + || c == 0xb3d || (c >= 0xb5c && c <= 0xb5d) + || (c >= 0xb5f && c <= 0xb61) + || (c >= 0xb85 && c <= 0xb8a) + || (c >= 0xb8e && c <= 0xb90) + || (c >= 0xb92 && c <= 0xb95) + || (c >= 0xb99 && c <= 0xb9a) + || c == 0xb9c || (c >= 0xb9e && c <= 0xb9f) + || (c >= 0xba3 && c <= 0xba4) + || (c >= 0xba8 && c <= 0xbaa) + || (c >= 0xbae && c <= 0xbb5) + || (c >= 0xbb7 && c <= 0xbb9) + || (c >= 0xc05 && c <= 0xc0c) + || (c >= 0xc0e && c <= 0xc10) + || (c >= 0xc12 && c <= 0xc28) + || (c >= 0xc2a && c <= 0xc33) + || (c >= 0xc35 && c <= 0xc39) + || (c >= 0xc60 && c <= 0xc61) + || (c >= 0xc85 && c <= 0xc8c) + || (c >= 0xc8e && c <= 0xc90) + || (c >= 0xc92 && c <= 0xca8) + || (c >= 0xcaa && c <= 0xcb3) + || (c >= 0xcb5 && c <= 0xcb9) + || c == 0xcde || (c >= 0xce0 && c <= 0xce1) + || (c >= 0xd05 && c <= 0xd0c) + || (c >= 0xd0e && c <= 0xd10) + || (c >= 0xd12 && c <= 0xd28) + || (c >= 0xd2a && c <= 0xd39) + || (c >= 0xd60 && c <= 0xd61) + || (c >= 0xe01 && c <= 0xe2e) + || c == 0xe30 || (c >= 0xe32 && c <= 0xe33) + || (c >= 0xe40 && c <= 0xe45) + || (c >= 0xe81 && c <= 0xe82) + || c == 0xe84 || (c >= 0xe87 && c <= 0xe88) + || c == 0xe8a || c == 0xe8d || (c >= 0xe94 && c <= 0xe97) + || (c >= 0xe99 && c <= 0xe9f) + || (c >= 0xea1 && c <= 0xea3) + || c == 0xea5 || c == 0xea7 || (c >= 0xeaa && c <= 0xeab) + || (c >= 0xead && c <= 0xeae) + || c == 0xeb0 || (c >= 0xeb2 && c <= 0xeb3) + || c == 0xebd || (c >= 0xec0 && c <= 0xec4) + || (c >= 0xf40 && c <= 0xf47) + || (c >= 0xf49 && c <= 0xf69) + || (c >= 0x10a0 && c <= 0x10c5) + || (c >= 0x10d0 && c <= 0x10f6) + || c == 0x1100 || (c >= 0x1102 && c <= 0x1103) + || (c >= 0x1105 && c <= 0x1107) + || c == 0x1109 || (c >= 0x110b && c <= 0x110c) + || (c >= 0x110e && c <= 0x1112) + || c == 0x113c || c == 0x113e || c == 0x1140 || c == 0x114c || + c == 0x114e || c == 0x1150 || (c >= 0x1154 && c <= 0x1155) + || c == 0x1159 || (c >= 0x115f && c <= 0x1161) + || c == 0x1163 || c == 0x1165 || c == 0x1167 || c == 0x1169 || + (c >= 0x116d && c <= 0x116e) + || (c >= 0x1172 && c <= 0x1173) + || c == 0x1175 || c == 0x119e || c == 0x11a8 || c == 0x11ab || + (c >= 0x11ae && c <= 0x11af) + || (c >= 0x11b7 && c <= 0x11b8) + || c == 0x11ba || (c >= 0x11bc && c <= 0x11c2) + || c == 0x11eb || c == 0x11f0 || c == 0x11f9 || (c >= 0x1e00 && c <= 0x1e9b) + || (c >= 0x1ea0 && c <= 0x1ef9) + || (c >= 0x1f00 && c <= 0x1f15) + || (c >= 0x1f18 && c <= 0x1f1d) + || (c >= 0x1f20 && c <= 0x1f45) + || (c >= 0x1f48 && c <= 0x1f4d) + || (c >= 0x1f50 && c <= 0x1f57) + || c == 0x1f59 || c == 0x1f5b || c == 0x1f5d || (c >= 0x1f5f && c <= 0x1f7d) + || (c >= 0x1f80 && c <= 0x1fb4) + || (c >= 0x1fb6 && c <= 0x1fbc) + || c == 0x1fbe || (c >= 0x1fc2 && c <= 0x1fc4) + || (c >= 0x1fc6 && c <= 0x1fcc) + || (c >= 0x1fd0 && c <= 0x1fd3) + || (c >= 0x1fd6 && c <= 0x1fdb) + || (c >= 0x1fe0 && c <= 0x1fec) + || (c >= 0x1ff2 && c <= 0x1ff4) + || (c >= 0x1ff6 && c <= 0x1ffc) + || c == 0x2126 || (c >= 0x212a && c <= 0x212b) + || c == 0x212e || (c >= 0x2180 && c <= 0x2182) + || (c >= 0x3041 && c <= 0x3094) + || (c >= 0x30a1 && c <= 0x30fa) + || (c >= 0x3105 && c <= 0x312c) + || (c >= 0xac00 && c <= 0xd7a3) + || (c >= 0x4e00 && c <= 0x9fa5) + || c == 0x3007 || (c >= 0x3021 && c <= 0x3029) + || (c >= 0x4e00 && c <= 0x9fa5) + || c == 0x3007 || (c >= 0x3021 && c <= 0x3029)); +} + +// RUN: c-index-test -test-load-source all %s | FileCheck %s +// CHECK: 1:22: TypedefDecl=uint:1:22 (Definition) Extent=[1:22 - 1:26] +// CHECK: 2:5: FunctionDecl=foo:2:5 (Definition) Extent=[2:5 - 161:2] +// CHECK: 2:14: ParmDecl=c:2:14 (Definition) Extent=[2:9 - 2:15] +// CHECK: 2:9: TypeRef=uint:1:22 Extent=[2:9 - 2:13] +// CHECK: 2:17: UnexposedStmt= Extent=[2:17 - 161:2] +// CHECK: 3:3: UnexposedStmt= Extent=[3:3 - 160:52] +// CHECK: 3:10: UnexposedExpr= Extent=[3:10 - 160:52] +// CHECK: 3:10: UnexposedExpr= Extent=[3:10 - 160:52] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 160:51] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 160:19] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 159:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 158:51] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 158:19] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 157:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 156:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 155:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 154:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 153:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 152:51] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 152:19] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 151:51] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 151:19] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 150:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 149:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 148:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 147:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 146:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 145:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 144:51] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 144:19] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 143:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 142:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 141:81] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 141:49] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 141:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 141:19] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 140:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 139:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 138:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 137:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 136:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 135:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 134:81] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 134:49] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 134:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 134:19] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 133:51] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 133:19] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 132:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 131:33] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 130:64] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 130:49] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 130:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 130:19] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 129:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 128:33] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 127:64] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 127:49] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 127:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 127:19] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 126:51] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 126:19] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 125:63] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 125:31] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 125:16] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 124:64] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 124:49] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 124:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 124:19] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 123:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 122:51] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 122:19] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 121:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 120:51] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 120:19] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 119:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 118:36] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 117:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 116:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 115:48] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 115:18] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 114:48] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 114:18] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 113:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 112:62] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 112:32] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 112:18] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 111:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 110:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 109:62] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 109:32] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 109:18] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 108:48] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 108:18] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 107:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 106:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 105:48] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 105:18] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 104:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 103:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 102:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 101:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 100:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 99:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 98:48] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 98:18] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 97:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 96:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 95:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 94:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 93:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 92:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 91:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 90:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 89:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 88:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 87:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 86:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 85:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 84:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 83:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 82:48] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 82:18] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 81:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 80:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 79:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 78:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 77:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 76:48] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 76:18] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 75:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 74:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 73:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 72:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 71:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 70:62] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 70:32] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 70:18] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 69:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 68:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 67:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 66:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 65:48] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 65:18] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 64:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 63:48] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 63:18] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 62:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 61:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 60:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 59:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 58:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 57:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 56:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 55:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 54:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 53:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 52:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 51:48] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 51:18] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 50:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 49:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 48:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 47:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 46:48] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 46:18] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 45:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 44:48] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 44:18] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 43:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 42:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 41:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 40:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 39:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 38:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 37:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 36:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 35:48] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 35:18] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 34:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 33:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 32:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 31:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 30:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 29:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 28:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 27:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 26:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 25:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 24:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 23:45] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 23:15] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 22:46] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 22:32] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 22:18] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 21:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 20:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 19:48] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 19:18] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 18:48] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 18:18] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 17:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 16:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 15:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 14:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 13:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 12:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 11:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 10:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 9:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 8:34] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 7:32] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 6:32] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 5:32] +// CHECK: 3:11: UnexposedExpr= Extent=[3:11 - 4:32] +// CHECK: 3:12: UnexposedExpr= Extent=[3:12 - 3:34] +// CHECK: 3:12: UnexposedExpr= Extent=[3:12 - 3:21] +// CHECK: 3:12: DeclRefExpr=c:2:14 Extent=[3:12 - 3:13] +// CHECK: 3:17: UnexposedExpr= Extent=[3:17 - 3:21] +// CHECK: 3:17: UnexposedExpr= Extent=[3:17 - 3:21] +// CHECK: 3:25: UnexposedExpr= Extent=[3:25 - 3:34] +// CHECK: 3:25: DeclRefExpr=c:2:14 Extent=[3:25 - 3:26] +// CHECK: 3:30: UnexposedExpr= Extent=[3:30 - 3:34] +// CHECK: 3:30: UnexposedExpr= Extent=[3:30 - 3:34] +// CHECK: 4:9: UnexposedExpr= Extent=[4:9 - 4:31] +// CHECK: 4:9: UnexposedExpr= Extent=[4:9 - 4:18] +// CHECK: 4:9: DeclRefExpr=c:2:14 Extent=[4:9 - 4:10] +// CHECK: 4:14: UnexposedExpr= Extent=[4:14 - 4:18] +// CHECK: 4:14: UnexposedExpr= Extent=[4:14 - 4:18] +// CHECK: 4:22: UnexposedExpr= Extent=[4:22 - 4:31] +// CHECK: 4:22: DeclRefExpr=c:2:14 Extent=[4:22 - 4:23] +// CHECK: 4:27: UnexposedExpr= Extent=[4:27 - 4:31] +// CHECK: 4:27: UnexposedExpr= Extent=[4:27 - 4:31] +// CHECK: 5:9: UnexposedExpr= Extent=[5:9 - 5:31] +// CHECK: 5:9: UnexposedExpr= Extent=[5:9 - 5:18] +// CHECK: 5:9: DeclRefExpr=c:2:14 Extent=[5:9 - 5:10] +// CHECK: 5:14: UnexposedExpr= Extent=[5:14 - 5:18] +// CHECK: 5:14: UnexposedExpr= Extent=[5:14 - 5:18] +// CHECK: 5:22: UnexposedExpr= Extent=[5:22 - 5:31] +// CHECK: 5:22: DeclRefExpr=c:2:14 Extent=[5:22 - 5:23] +// CHECK: 5:27: UnexposedExpr= Extent=[5:27 - 5:31] +// CHECK: 5:27: UnexposedExpr= Extent=[5:27 - 5:31] +// CHECK: 6:9: UnexposedExpr= Extent=[6:9 - 6:31] +// CHECK: 6:9: UnexposedExpr= Extent=[6:9 - 6:18] +// CHECK: 6:9: DeclRefExpr=c:2:14 Extent=[6:9 - 6:10] +// CHECK: 6:14: UnexposedExpr= Extent=[6:14 - 6:18] +// CHECK: 6:14: UnexposedExpr= Extent=[6:14 - 6:18] +// CHECK: 6:22: UnexposedExpr= Extent=[6:22 - 6:31] +// CHECK: 6:22: DeclRefExpr=c:2:14 Extent=[6:22 - 6:23] +// CHECK: 6:27: UnexposedExpr= Extent=[6:27 - 6:31] +// CHECK: 6:27: UnexposedExpr= Extent=[6:27 - 6:31] +// CHECK: 7:9: UnexposedExpr= Extent=[7:9 - 7:31] +// CHECK: 7:9: UnexposedExpr= Extent=[7:9 - 7:18] +// CHECK: 7:9: DeclRefExpr=c:2:14 Extent=[7:9 - 7:10] +// CHECK: 7:14: UnexposedExpr= Extent=[7:14 - 7:18] +// CHECK: 7:14: UnexposedExpr= Extent=[7:14 - 7:18] +// CHECK: 7:22: UnexposedExpr= Extent=[7:22 - 7:31] +// CHECK: 7:22: DeclRefExpr=c:2:14 Extent=[7:22 - 7:23] +// CHECK: 7:27: UnexposedExpr= Extent=[7:27 - 7:31] +// CHECK: 7:27: UnexposedExpr= Extent=[7:27 - 7:31] +// CHECK: 8:9: UnexposedExpr= Extent=[8:9 - 8:33] +// CHECK: 8:9: UnexposedExpr= Extent=[8:9 - 8:19] +// CHECK: 8:9: DeclRefExpr=c:2:14 Extent=[8:9 - 8:10] +// CHECK: 8:14: UnexposedExpr= Extent=[8:14 - 8:19] +// CHECK: 8:14: UnexposedExpr= Extent=[8:14 - 8:19] +// CHECK: 8:23: UnexposedExpr= Extent=[8:23 - 8:33] +// CHECK: 8:23: DeclRefExpr=c:2:14 Extent=[8:23 - 8:24] +// CHECK: 8:28: UnexposedExpr= Extent=[8:28 - 8:33] +// CHECK: 8:28: UnexposedExpr= Extent=[8:28 - 8:33] +// CHECK: 9:9: UnexposedExpr= Extent=[9:9 - 9:33] +// CHECK: 9:9: UnexposedExpr= Extent=[9:9 - 9:19] +// CHECK: 9:9: DeclRefExpr=c:2:14 Extent=[9:9 - 9:10] +// CHECK: 9:14: UnexposedExpr= Extent=[9:14 - 9:19] +// CHECK: 9:14: UnexposedExpr= Extent=[9:14 - 9:19] +// CHECK: 9:23: UnexposedExpr= Extent=[9:23 - 9:33] +// CHECK: 9:23: DeclRefExpr=c:2:14 Extent=[9:23 - 9:24] +// CHECK: 9:28: UnexposedExpr= Extent=[9:28 - 9:33] +// CHECK: 9:28: UnexposedExpr= Extent=[9:28 - 9:33] +// CHECK: 10:9: UnexposedExpr= Extent=[10:9 - 10:33] +// CHECK: 10:9: UnexposedExpr= Extent=[10:9 - 10:19] +// CHECK: 10:9: DeclRefExpr=c:2:14 Extent=[10:9 - 10:10] +// CHECK: 10:14: UnexposedExpr= Extent=[10:14 - 10:19] +// CHECK: 10:14: UnexposedExpr= Extent=[10:14 - 10:19] +// CHECK: 10:23: UnexposedExpr= Extent=[10:23 - 10:33] +// CHECK: 10:23: DeclRefExpr=c:2:14 Extent=[10:23 - 10:24] +// CHECK: 10:28: UnexposedExpr= Extent=[10:28 - 10:33] +// CHECK: 10:28: UnexposedExpr= Extent=[10:28 - 10:33] +// CHECK: 11:9: UnexposedExpr= Extent=[11:9 - 11:33] +// CHECK: 11:9: UnexposedExpr= Extent=[11:9 - 11:19] +// CHECK: 11:9: DeclRefExpr=c:2:14 Extent=[11:9 - 11:10] +// CHECK: 11:14: UnexposedExpr= Extent=[11:14 - 11:19] +// CHECK: 11:14: UnexposedExpr= Extent=[11:14 - 11:19] +// CHECK: 11:23: UnexposedExpr= Extent=[11:23 - 11:33] +// CHECK: 11:23: DeclRefExpr=c:2:14 Extent=[11:23 - 11:24] +// CHECK: 11:28: UnexposedExpr= Extent=[11:28 - 11:33] +// CHECK: 11:28: UnexposedExpr= Extent=[11:28 - 11:33] +// CHECK: 12:9: UnexposedExpr= Extent=[12:9 - 12:33] +// CHECK: 12:9: UnexposedExpr= Extent=[12:9 - 12:19] +// CHECK: 12:9: DeclRefExpr=c:2:14 Extent=[12:9 - 12:10] +// CHECK: 12:14: UnexposedExpr= Extent=[12:14 - 12:19] +// CHECK: 12:14: UnexposedExpr= Extent=[12:14 - 12:19] +// CHECK: 12:23: UnexposedExpr= Extent=[12:23 - 12:33] +// CHECK: 12:23: DeclRefExpr=c:2:14 Extent=[12:23 - 12:24] +// CHECK: 12:28: UnexposedExpr= Extent=[12:28 - 12:33] +// CHECK: 12:28: UnexposedExpr= Extent=[12:28 - 12:33] +// CHECK: 13:9: UnexposedExpr= Extent=[13:9 - 13:33] +// CHECK: 13:9: UnexposedExpr= Extent=[13:9 - 13:19] +// CHECK: 13:9: DeclRefExpr=c:2:14 Extent=[13:9 - 13:10] +// CHECK: 13:14: UnexposedExpr= Extent=[13:14 - 13:19] +// CHECK: 13:14: UnexposedExpr= Extent=[13:14 - 13:19] +// CHECK: 13:23: UnexposedExpr= Extent=[13:23 - 13:33] +// CHECK: 13:23: DeclRefExpr=c:2:14 Extent=[13:23 - 13:24] +// CHECK: 13:28: UnexposedExpr= Extent=[13:28 - 13:33] +// CHECK: 13:28: UnexposedExpr= Extent=[13:28 - 13:33] +// CHECK: 14:9: UnexposedExpr= Extent=[14:9 - 14:33] +// CHECK: 14:9: UnexposedExpr= Extent=[14:9 - 14:19] +// CHECK: 14:9: DeclRefExpr=c:2:14 Extent=[14:9 - 14:10] +// CHECK: 14:14: UnexposedExpr= Extent=[14:14 - 14:19] +// CHECK: 14:14: UnexposedExpr= Extent=[14:14 - 14:19] +// CHECK: 14:23: UnexposedExpr= Extent=[14:23 - 14:33] +// CHECK: 14:23: DeclRefExpr=c:2:14 Extent=[14:23 - 14:24] +// CHECK: 14:28: UnexposedExpr= Extent=[14:28 - 14:33] +// CHECK: 14:28: UnexposedExpr= Extent=[14:28 - 14:33] +// CHECK: 15:9: UnexposedExpr= Extent=[15:9 - 15:33] +// CHECK: 15:9: UnexposedExpr= Extent=[15:9 - 15:19] +// CHECK: 15:9: DeclRefExpr=c:2:14 Extent=[15:9 - 15:10] +// CHECK: 15:14: UnexposedExpr= Extent=[15:14 - 15:19] +// CHECK: 15:14: UnexposedExpr= Extent=[15:14 - 15:19] +// CHECK: 15:23: UnexposedExpr= Extent=[15:23 - 15:33] +// CHECK: 15:23: DeclRefExpr=c:2:14 Extent=[15:23 - 15:24] +// CHECK: 15:28: UnexposedExpr= Extent=[15:28 - 15:33] +// CHECK: 15:28: UnexposedExpr= Extent=[15:28 - 15:33] +// CHECK: 16:9: UnexposedExpr= Extent=[16:9 - 16:33] +// CHECK: 16:9: UnexposedExpr= Extent=[16:9 - 16:19] +// CHECK: 16:9: DeclRefExpr=c:2:14 Extent=[16:9 - 16:10] +// CHECK: 16:14: UnexposedExpr= Extent=[16:14 - 16:19] +// CHECK: 16:14: UnexposedExpr= Extent=[16:14 - 16:19] +// CHECK: 16:23: UnexposedExpr= Extent=[16:23 - 16:33] +// CHECK: 16:23: DeclRefExpr=c:2:14 Extent=[16:23 - 16:24] +// CHECK: 16:28: UnexposedExpr= Extent=[16:28 - 16:33] +// CHECK: 16:28: UnexposedExpr= Extent=[16:28 - 16:33] +// CHECK: 17:9: UnexposedExpr= Extent=[17:9 - 17:33] +// CHECK: 17:9: UnexposedExpr= Extent=[17:9 - 17:19] +// CHECK: 17:9: DeclRefExpr=c:2:14 Extent=[17:9 - 17:10] +// CHECK: 17:14: UnexposedExpr= Extent=[17:14 - 17:19] +// CHECK: 17:14: UnexposedExpr= Extent=[17:14 - 17:19] +// CHECK: 17:23: UnexposedExpr= Extent=[17:23 - 17:33] +// CHECK: 17:23: DeclRefExpr=c:2:14 Extent=[17:23 - 17:24] +// CHECK: 17:28: UnexposedExpr= Extent=[17:28 - 17:33] +// CHECK: 17:28: UnexposedExpr= Extent=[17:28 - 17:33] +// CHECK: 18:8: UnexposedExpr= Extent=[18:8 - 18:18] +// CHECK: 18:8: DeclRefExpr=c:2:14 Extent=[18:8 - 18:9] +// CHECK: 18:13: UnexposedExpr= Extent=[18:13 - 18:18] +// CHECK: 18:13: UnexposedExpr= Extent=[18:13 - 18:18] +// CHECK: 18:23: UnexposedExpr= Extent=[18:23 - 18:47] +// CHECK: 18:23: UnexposedExpr= Extent=[18:23 - 18:33] +// CHECK: 18:23: DeclRefExpr=c:2:14 Extent=[18:23 - 18:24] +// CHECK: 18:28: UnexposedExpr= Extent=[18:28 - 18:33] +// CHECK: 18:28: UnexposedExpr= Extent=[18:28 - 18:33] +// CHECK: 18:37: UnexposedExpr= Extent=[18:37 - 18:47] +// CHECK: 18:37: DeclRefExpr=c:2:14 Extent=[18:37 - 18:38] +// CHECK: 18:42: UnexposedExpr= Extent=[18:42 - 18:47] +// CHECK: 18:42: UnexposedExpr= Extent=[18:42 - 18:47] +// CHECK: 19:8: UnexposedExpr= Extent=[19:8 - 19:18] +// CHECK: 19:8: DeclRefExpr=c:2:14 Extent=[19:8 - 19:9] +// CHECK: 19:13: UnexposedExpr= Extent=[19:13 - 19:18] +// CHECK: 19:13: UnexposedExpr= Extent=[19:13 - 19:18] +// CHECK: 19:23: UnexposedExpr= Extent=[19:23 - 19:47] +// CHECK: 19:23: UnexposedExpr= Extent=[19:23 - 19:33] +// CHECK: 19:23: DeclRefExpr=c:2:14 Extent=[19:23 - 19:24] +// CHECK: 19:28: UnexposedExpr= Extent=[19:28 - 19:33] +// CHECK: 19:28: UnexposedExpr= Extent=[19:28 - 19:33] +// CHECK: 19:37: UnexposedExpr= Extent=[19:37 - 19:47] +// CHECK: 19:37: DeclRefExpr=c:2:14 Extent=[19:37 - 19:38] +// CHECK: 19:42: UnexposedExpr= Extent=[19:42 - 19:47] +// CHECK: 19:42: UnexposedExpr= Extent=[19:42 - 19:47] +// CHECK: 20:9: UnexposedExpr= Extent=[20:9 - 20:33] +// CHECK: 20:9: UnexposedExpr= Extent=[20:9 - 20:19] +// CHECK: 20:9: DeclRefExpr=c:2:14 Extent=[20:9 - 20:10] +// CHECK: 20:14: UnexposedExpr= Extent=[20:14 - 20:19] +// CHECK: 20:14: UnexposedExpr= Extent=[20:14 - 20:19] +// CHECK: 20:23: UnexposedExpr= Extent=[20:23 - 20:33] +// CHECK: 20:23: DeclRefExpr=c:2:14 Extent=[20:23 - 20:24] +// CHECK: 20:28: UnexposedExpr= Extent=[20:28 - 20:33] +// CHECK: 20:28: UnexposedExpr= Extent=[20:28 - 20:33] +// CHECK: 21:9: UnexposedExpr= Extent=[21:9 - 21:33] +// CHECK: 21:9: UnexposedExpr= Extent=[21:9 - 21:19] +// CHECK: 21:9: DeclRefExpr=c:2:14 Extent=[21:9 - 21:10] +// CHECK: 21:14: UnexposedExpr= Extent=[21:14 - 21:19] +// CHECK: 21:14: UnexposedExpr= Extent=[21:14 - 21:19] +// CHECK: 21:23: UnexposedExpr= Extent=[21:23 - 21:33] +// CHECK: 21:23: DeclRefExpr=c:2:14 Extent=[21:23 - 21:24] +// CHECK: 21:28: UnexposedExpr= Extent=[21:28 - 21:33] +// CHECK: 21:28: UnexposedExpr= Extent=[21:28 - 21:33] +// CHECK: 22:8: UnexposedExpr= Extent=[22:8 - 22:18] +// CHECK: 22:8: DeclRefExpr=c:2:14 Extent=[22:8 - 22:9] +// CHECK: 22:13: UnexposedExpr= Extent=[22:13 - 22:18] +// CHECK: 22:13: UnexposedExpr= Extent=[22:13 - 22:18] +// CHECK: 22:22: UnexposedExpr= Extent=[22:22 - 22:32] +// CHECK: 22:22: DeclRefExpr=c:2:14 Extent=[22:22 - 22:23] +// CHECK: 22:27: UnexposedExpr= Extent=[22:27 - 22:32] +// CHECK: 22:27: UnexposedExpr= Extent=[22:27 - 22:32] +// CHECK: 22:36: UnexposedExpr= Extent=[22:36 - 22:46] +// CHECK: 22:36: DeclRefExpr=c:2:14 Extent=[22:36 - 22:37] +// CHECK: 22:41: UnexposedExpr= Extent=[22:41 - 22:46] +// CHECK: 22:41: UnexposedExpr= Extent=[22:41 - 22:46] +// CHECK: 23:5: UnexposedExpr= Extent=[23:5 - 23:15] +// CHECK: 23:5: DeclRefExpr=c:2:14 Extent=[23:5 - 23:6] +// CHECK: 23:10: UnexposedExpr= Extent=[23:10 - 23:15] +// CHECK: 23:10: UnexposedExpr= Extent=[23:10 - 23:15] +// CHECK: 23:20: UnexposedExpr= Extent=[23:20 - 23:44] +// CHECK: 23:20: UnexposedExpr= Extent=[23:20 - 23:30] +// CHECK: 23:20: DeclRefExpr=c:2:14 Extent=[23:20 - 23:21] +// CHECK: 23:25: UnexposedExpr= Extent=[23:25 - 23:30] +// CHECK: 23:25: UnexposedExpr= Extent=[23:25 - 23:30] +// CHECK: 23:34: UnexposedExpr= Extent=[23:34 - 23:44] +// CHECK: 23:34: DeclRefExpr=c:2:14 Extent=[23:34 - 23:35] +// CHECK: 23:39: UnexposedExpr= Extent=[23:39 - 23:44] +// CHECK: 23:39: UnexposedExpr= Extent=[23:39 - 23:44] +// CHECK: 24:9: UnexposedExpr= Extent=[24:9 - 24:33] +// CHECK: 24:9: UnexposedExpr= Extent=[24:9 - 24:19] +// CHECK: 24:9: DeclRefExpr=c:2:14 Extent=[24:9 - 24:10] +// CHECK: 24:14: UnexposedExpr= Extent=[24:14 - 24:19] +// CHECK: 24:14: UnexposedExpr= Extent=[24:14 - 24:19] +// CHECK: 24:23: UnexposedExpr= Extent=[24:23 - 24:33] +// CHECK: 24:23: DeclRefExpr=c:2:14 Extent=[24:23 - 24:24] +// CHECK: 24:28: UnexposedExpr= Extent=[24:28 - 24:33] +// CHECK: 24:28: UnexposedExpr= Extent=[24:28 - 24:33] +// CHECK: 25:9: UnexposedExpr= Extent=[25:9 - 25:33] +// CHECK: 25:9: UnexposedExpr= Extent=[25:9 - 25:19] +// CHECK: 25:9: DeclRefExpr=c:2:14 Extent=[25:9 - 25:10] +// CHECK: 25:14: UnexposedExpr= Extent=[25:14 - 25:19] +// CHECK: 25:14: UnexposedExpr= Extent=[25:14 - 25:19] +// CHECK: 25:23: UnexposedExpr= Extent=[25:23 - 25:33] +// CHECK: 25:23: DeclRefExpr=c:2:14 Extent=[25:23 - 25:24] +// CHECK: 25:28: UnexposedExpr= Extent=[25:28 - 25:33] +// CHECK: 25:28: UnexposedExpr= Extent=[25:28 - 25:33] +// CHECK: 26:9: UnexposedExpr= Extent=[26:9 - 26:33] +// CHECK: 26:9: UnexposedExpr= Extent=[26:9 - 26:19] +// CHECK: 26:9: DeclRefExpr=c:2:14 Extent=[26:9 - 26:10] +// CHECK: 26:14: UnexposedExpr= Extent=[26:14 - 26:19] +// CHECK: 26:14: UnexposedExpr= Extent=[26:14 - 26:19] +// CHECK: 26:23: UnexposedExpr= Extent=[26:23 - 26:33] +// CHECK: 26:23: DeclRefExpr=c:2:14 Extent=[26:23 - 26:24] +// CHECK: 26:28: UnexposedExpr= Extent=[26:28 - 26:33] +// CHECK: 26:28: UnexposedExpr= Extent=[26:28 - 26:33] +// CHECK: 27:9: UnexposedExpr= Extent=[27:9 - 27:33] +// CHECK: 27:9: UnexposedExpr= Extent=[27:9 - 27:19] +// CHECK: 27:9: DeclRefExpr=c:2:14 Extent=[27:9 - 27:10] +// CHECK: 27:14: UnexposedExpr= Extent=[27:14 - 27:19] +// CHECK: 27:14: UnexposedExpr= Extent=[27:14 - 27:19] +// CHECK: 27:23: UnexposedExpr= Extent=[27:23 - 27:33] +// CHECK: 27:23: DeclRefExpr=c:2:14 Extent=[27:23 - 27:24] +// CHECK: 27:28: UnexposedExpr= Extent=[27:28 - 27:33] +// CHECK: 27:28: UnexposedExpr= Extent=[27:28 - 27:33] +// CHECK: 28:9: UnexposedExpr= Extent=[28:9 - 28:33] +// CHECK: 28:9: UnexposedExpr= Extent=[28:9 - 28:19] +// CHECK: 28:9: DeclRefExpr=c:2:14 Extent=[28:9 - 28:10] +// CHECK: 28:14: UnexposedExpr= Extent=[28:14 - 28:19] +// CHECK: 28:14: UnexposedExpr= Extent=[28:14 - 28:19] +// CHECK: 28:23: UnexposedExpr= Extent=[28:23 - 28:33] +// CHECK: 28:23: DeclRefExpr=c:2:14 Extent=[28:23 - 28:24] +// CHECK: 28:28: UnexposedExpr= Extent=[28:28 - 28:33] +// CHECK: 28:28: UnexposedExpr= Extent=[28:28 - 28:33] +// CHECK: 29:9: UnexposedExpr= Extent=[29:9 - 29:33] +// CHECK: 29:9: UnexposedExpr= Extent=[29:9 - 29:19] +// CHECK: 29:9: DeclRefExpr=c:2:14 Extent=[29:9 - 29:10] +// CHECK: 29:14: UnexposedExpr= Extent=[29:14 - 29:19] +// CHECK: 29:14: UnexposedExpr= Extent=[29:14 - 29:19] +// CHECK: 29:23: UnexposedExpr= Extent=[29:23 - 29:33] +// CHECK: 29:23: DeclRefExpr=c:2:14 Extent=[29:23 - 29:24] +// CHECK: 29:28: UnexposedExpr= Extent=[29:28 - 29:33] +// CHECK: 29:28: UnexposedExpr= Extent=[29:28 - 29:33] +// CHECK: 30:9: UnexposedExpr= Extent=[30:9 - 30:33] +// CHECK: 30:9: UnexposedExpr= Extent=[30:9 - 30:19] +// CHECK: 30:9: DeclRefExpr=c:2:14 Extent=[30:9 - 30:10] +// CHECK: 30:14: UnexposedExpr= Extent=[30:14 - 30:19] +// CHECK: 30:14: UnexposedExpr= Extent=[30:14 - 30:19] +// CHECK: 30:23: UnexposedExpr= Extent=[30:23 - 30:33] +// CHECK: 30:23: DeclRefExpr=c:2:14 Extent=[30:23 - 30:24] +// CHECK: 30:28: UnexposedExpr= Extent=[30:28 - 30:33] +// CHECK: 30:28: UnexposedExpr= Extent=[30:28 - 30:33] +// CHECK: 31:9: UnexposedExpr= Extent=[31:9 - 31:33] +// CHECK: 31:9: UnexposedExpr= Extent=[31:9 - 31:19] +// CHECK: 31:9: DeclRefExpr=c:2:14 Extent=[31:9 - 31:10] +// CHECK: 31:14: UnexposedExpr= Extent=[31:14 - 31:19] +// CHECK: 31:14: UnexposedExpr= Extent=[31:14 - 31:19] +// CHECK: 31:23: UnexposedExpr= Extent=[31:23 - 31:33] +// CHECK: 31:23: DeclRefExpr=c:2:14 Extent=[31:23 - 31:24] +// CHECK: 31:28: UnexposedExpr= Extent=[31:28 - 31:33] +// CHECK: 31:28: UnexposedExpr= Extent=[31:28 - 31:33] +// CHECK: 32:9: UnexposedExpr= Extent=[32:9 - 32:33] +// CHECK: 32:9: UnexposedExpr= Extent=[32:9 - 32:19] +// CHECK: 32:9: DeclRefExpr=c:2:14 Extent=[32:9 - 32:10] +// CHECK: 32:14: UnexposedExpr= Extent=[32:14 - 32:19] +// CHECK: 32:14: UnexposedExpr= Extent=[32:14 - 32:19] +// CHECK: 32:23: UnexposedExpr= Extent=[32:23 - 32:33] +// CHECK: 32:23: DeclRefExpr=c:2:14 Extent=[32:23 - 32:24] +// CHECK: 32:28: UnexposedExpr= Extent=[32:28 - 32:33] +// CHECK: 32:28: UnexposedExpr= Extent=[32:28 - 32:33] +// CHECK: 33:9: UnexposedExpr= Extent=[33:9 - 33:33] +// CHECK: 33:9: UnexposedExpr= Extent=[33:9 - 33:19] +// CHECK: 33:9: DeclRefExpr=c:2:14 Extent=[33:9 - 33:10] +// CHECK: 33:14: UnexposedExpr= Extent=[33:14 - 33:19] +// CHECK: 33:14: UnexposedExpr= Extent=[33:14 - 33:19] +// CHECK: 33:23: UnexposedExpr= Extent=[33:23 - 33:33] +// CHECK: 33:23: DeclRefExpr=c:2:14 Extent=[33:23 - 33:24] +// CHECK: 33:28: UnexposedExpr= Extent=[33:28 - 33:33] +// CHECK: 33:28: UnexposedExpr= Extent=[33:28 - 33:33] +// CHECK: 34:9: UnexposedExpr= Extent=[34:9 - 34:33] +// CHECK: 34:9: UnexposedExpr= Extent=[34:9 - 34:19] +// CHECK: 34:9: DeclRefExpr=c:2:14 Extent=[34:9 - 34:10] +// CHECK: 34:14: UnexposedExpr= Extent=[34:14 - 34:19] +// CHECK: 34:14: UnexposedExpr= Extent=[34:14 - 34:19] +// CHECK: 34:23: UnexposedExpr= Extent=[34:23 - 34:33] +// CHECK: 34:23: DeclRefExpr=c:2:14 Extent=[34:23 - 34:24] +// CHECK: 34:28: UnexposedExpr= Extent=[34:28 - 34:33] +// CHECK: 34:28: UnexposedExpr= Extent=[34:28 - 34:33] +// CHECK: 35:8: UnexposedExpr= Extent=[35:8 - 35:18] +// CHECK: 35:8: DeclRefExpr=c:2:14 Extent=[35:8 - 35:9] +// CHECK: 35:13: UnexposedExpr= Extent=[35:13 - 35:18] +// CHECK: 35:13: UnexposedExpr= Extent=[35:13 - 35:18] +// CHECK: 35:23: UnexposedExpr= Extent=[35:23 - 35:47] +// CHECK: 35:23: UnexposedExpr= Extent=[35:23 - 35:33] +// CHECK: 35:23: DeclRefExpr=c:2:14 Extent=[35:23 - 35:24] +// CHECK: 35:28: UnexposedExpr= Extent=[35:28 - 35:33] +// CHECK: 35:28: UnexposedExpr= Extent=[35:28 - 35:33] +// CHECK: 35:37: UnexposedExpr= Extent=[35:37 - 35:47] +// CHECK: 35:37: DeclRefExpr=c:2:14 Extent=[35:37 - 35:38] +// CHECK: 35:42: UnexposedExpr= Extent=[35:42 - 35:47] +// CHECK: 35:42: UnexposedExpr= Extent=[35:42 - 35:47] +// CHECK: 36:9: UnexposedExpr= Extent=[36:9 - 36:33] +// CHECK: 36:9: UnexposedExpr= Extent=[36:9 - 36:19] +// CHECK: 36:9: DeclRefExpr=c:2:14 Extent=[36:9 - 36:10] +// CHECK: 36:14: UnexposedExpr= Extent=[36:14 - 36:19] +// CHECK: 36:14: UnexposedExpr= Extent=[36:14 - 36:19] +// CHECK: 36:23: UnexposedExpr= Extent=[36:23 - 36:33] +// CHECK: 36:23: DeclRefExpr=c:2:14 Extent=[36:23 - 36:24] +// CHECK: 36:28: UnexposedExpr= Extent=[36:28 - 36:33] +// CHECK: 36:28: UnexposedExpr= Extent=[36:28 - 36:33] +// CHECK: 37:9: UnexposedExpr= Extent=[37:9 - 37:33] +// CHECK: 37:9: UnexposedExpr= Extent=[37:9 - 37:19] +// CHECK: 37:9: DeclRefExpr=c:2:14 Extent=[37:9 - 37:10] +// CHECK: 37:14: UnexposedExpr= Extent=[37:14 - 37:19] +// CHECK: 37:14: UnexposedExpr= Extent=[37:14 - 37:19] +// CHECK: 37:23: UnexposedExpr= Extent=[37:23 - 37:33] +// CHECK: 37:23: DeclRefExpr=c:2:14 Extent=[37:23 - 37:24] +// CHECK: 37:28: UnexposedExpr= Extent=[37:28 - 37:33] +// CHECK: 37:28: UnexposedExpr= Extent=[37:28 - 37:33] +// CHECK: 38:9: UnexposedExpr= Extent=[38:9 - 38:33] +// CHECK: 38:9: UnexposedExpr= Extent=[38:9 - 38:19] +// CHECK: 38:9: DeclRefExpr=c:2:14 Extent=[38:9 - 38:10] +// CHECK: 38:14: UnexposedExpr= Extent=[38:14 - 38:19] +// CHECK: 38:14: UnexposedExpr= Extent=[38:14 - 38:19] +// CHECK: 38:23: UnexposedExpr= Extent=[38:23 - 38:33] +// CHECK: 38:23: DeclRefExpr=c:2:14 Extent=[38:23 - 38:24] +// CHECK: 38:28: UnexposedExpr= Extent=[38:28 - 38:33] +// CHECK: 38:28: UnexposedExpr= Extent=[38:28 - 38:33] +// CHECK: 39:9: UnexposedExpr= Extent=[39:9 - 39:33] +// CHECK: 39:9: UnexposedExpr= Extent=[39:9 - 39:19] +// CHECK: 39:9: DeclRefExpr=c:2:14 Extent=[39:9 - 39:10] +// CHECK: 39:14: UnexposedExpr= Extent=[39:14 - 39:19] +// CHECK: 39:14: UnexposedExpr= Extent=[39:14 - 39:19] +// CHECK: 39:23: UnexposedExpr= Extent=[39:23 - 39:33] +// CHECK: 39:23: DeclRefExpr=c:2:14 Extent=[39:23 - 39:24] +// CHECK: 39:28: UnexposedExpr= Extent=[39:28 - 39:33] +// CHECK: 39:28: UnexposedExpr= Extent=[39:28 - 39:33] +// CHECK: 40:9: UnexposedExpr= Extent=[40:9 - 40:33] +// CHECK: 40:9: UnexposedExpr= Extent=[40:9 - 40:19] +// CHECK: 40:9: DeclRefExpr=c:2:14 Extent=[40:9 - 40:10] +// CHECK: 40:14: UnexposedExpr= Extent=[40:14 - 40:19] +// CHECK: 40:14: UnexposedExpr= Extent=[40:14 - 40:19] +// CHECK: 40:23: UnexposedExpr= Extent=[40:23 - 40:33] +// CHECK: 40:23: DeclRefExpr=c:2:14 Extent=[40:23 - 40:24] +// CHECK: 40:28: UnexposedExpr= Extent=[40:28 - 40:33] +// CHECK: 40:28: UnexposedExpr= Extent=[40:28 - 40:33] +// CHECK: 41:9: UnexposedExpr= Extent=[41:9 - 41:33] +// CHECK: 41:9: UnexposedExpr= Extent=[41:9 - 41:19] +// CHECK: 41:9: DeclRefExpr=c:2:14 Extent=[41:9 - 41:10] +// CHECK: 41:14: UnexposedExpr= Extent=[41:14 - 41:19] +// CHECK: 41:14: UnexposedExpr= Extent=[41:14 - 41:19] +// CHECK: 41:23: UnexposedExpr= Extent=[41:23 - 41:33] +// CHECK: 41:23: DeclRefExpr=c:2:14 Extent=[41:23 - 41:24] +// CHECK: 41:28: UnexposedExpr= Extent=[41:28 - 41:33] +// CHECK: 41:28: UnexposedExpr= Extent=[41:28 - 41:33] +// CHECK: 42:9: UnexposedExpr= Extent=[42:9 - 42:33] +// CHECK: 42:9: UnexposedExpr= Extent=[42:9 - 42:19] +// CHECK: 42:9: DeclRefExpr=c:2:14 Extent=[42:9 - 42:10] +// CHECK: 42:14: UnexposedExpr= Extent=[42:14 - 42:19] +// CHECK: 42:14: UnexposedExpr= Extent=[42:14 - 42:19] +// CHECK: 42:23: UnexposedExpr= Extent=[42:23 - 42:33] +// CHECK: 42:23: DeclRefExpr=c:2:14 Extent=[42:23 - 42:24] +// CHECK: 42:28: UnexposedExpr= Extent=[42:28 - 42:33] +// CHECK: 42:28: UnexposedExpr= Extent=[42:28 - 42:33] +// CHECK: 43:9: UnexposedExpr= Extent=[43:9 - 43:33] +// CHECK: 43:9: UnexposedExpr= Extent=[43:9 - 43:19] +// CHECK: 43:9: DeclRefExpr=c:2:14 Extent=[43:9 - 43:10] +// CHECK: 43:14: UnexposedExpr= Extent=[43:14 - 43:19] +// CHECK: 43:14: UnexposedExpr= Extent=[43:14 - 43:19] +// CHECK: 43:23: UnexposedExpr= Extent=[43:23 - 43:33] +// CHECK: 43:23: DeclRefExpr=c:2:14 Exte |