File: ast-dump-atomic-json.c

package info (click to toggle)
llvm-toolchain-19 1%3A19.1.7-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,998,520 kB
  • sloc: cpp: 6,951,680; ansic: 1,486,157; asm: 913,598; python: 232,024; f90: 80,126; objc: 75,281; lisp: 37,276; pascal: 16,990; sh: 10,009; ml: 5,058; perl: 4,724; awk: 3,523; makefile: 3,167; javascript: 2,504; xml: 892; fortran: 664; cs: 573
file content (60 lines) | stat: -rw-r--r-- 1,642 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// RUN: %clang_cc1 -triple x86_64-pc-linux -Wno-unused-value -ast-dump=json %s | FileCheck %s

int foo(int * ptr) {
  return __atomic_load_n(ptr, __ATOMIC_SEQ_CST);
}

// NOTE: CHECK lines have *not* been autogenerated by gen_ast_dump_json_test.py
// as its output is not portable for AtomicExpr across platforms. Instead rely
// on loose CHECKS.


// CHECK-NOT: {{^}}Dumping
// CHECK:  "kind": "AtomicExpr",
// CHECK:  "type": {
// CHECK:   "qualType": "int"
// CHECK:  },
// CHECK:  "valueCategory": "prvalue",
// CHECK:  "name": "__atomic_load_n",
// CHECK:  "inner": [
// CHECK:   {
// CHECK:    "id": "0x{{.*}}",
// CHECK:    "kind": "ImplicitCastExpr",
// CHECK:    },
// CHECK:    "type": {
// CHECK:     "qualType": "int *"
// CHECK:    },
// CHECK:    "valueCategory": "prvalue",
// CHECK:    "castKind": "LValueToRValue",
// CHECK:    "inner": [
// CHECK:     {
// CHECK:      "id": "0x{{.*}}",
// CHECK:      "kind": "DeclRefExpr",
// CHECK:      },
// CHECK:      "type": {
// CHECK:       "qualType": "int *"
// CHECK:      },
// CHECK:      "valueCategory": "lvalue",
// CHECK:      "referencedDecl": {
// CHECK:       "id": "0x{{.*}}",
// CHECK:       "kind": "ParmVarDecl",
// CHECK:       "name": "ptr",
// CHECK:       "type": {
// CHECK:        "qualType": "int *"
// CHECK:       }
// CHECK:      }
// CHECK:     }
// CHECK:    ]
// CHECK:   },
// CHECK:   {
// CHECK:    "id": "0x{{.*}}",
// CHECK:    "kind": "IntegerLiteral",
// CHECK:    },
// CHECK:    "type": {
// CHECK:     "qualType": "int"
// CHECK:    },
// CHECK:    "valueCategory": "prvalue",
// CHECK:    "value": "5"
// CHECK:   }
// CHECK:  ]
// CHECK: }