61 lines · c
1// RUN: %clang_cc1 -triple x86_64-pc-linux -Wno-unused-value -ast-dump=json %s | FileCheck %s2 3int foo(int * ptr) {4 return __atomic_load_n(ptr, __ATOMIC_SEQ_CST);5}6 7// NOTE: CHECK lines have *not* been autogenerated by gen_ast_dump_json_test.py8// as its output is not portable for AtomicExpr across platforms. Instead rely9// on loose CHECKS.10 11 12// CHECK-NOT: {{^}}Dumping13// CHECK: "kind": "AtomicExpr",14// CHECK: "type": {15// CHECK: "qualType": "int"16// CHECK: },17// CHECK: "valueCategory": "prvalue",18// CHECK: "name": "__atomic_load_n",19// CHECK: "inner": [20// CHECK: {21// CHECK: "id": "0x{{.*}}",22// CHECK: "kind": "ImplicitCastExpr",23// CHECK: },24// CHECK: "type": {25// CHECK: "qualType": "int *"26// CHECK: },27// CHECK: "valueCategory": "prvalue",28// CHECK: "castKind": "LValueToRValue",29// CHECK: "inner": [30// CHECK: {31// CHECK: "id": "0x{{.*}}",32// CHECK: "kind": "DeclRefExpr",33// CHECK: },34// CHECK: "type": {35// CHECK: "qualType": "int *"36// CHECK: },37// CHECK: "valueCategory": "lvalue",38// CHECK: "referencedDecl": {39// CHECK: "id": "0x{{.*}}",40// CHECK: "kind": "ParmVarDecl",41// CHECK: "name": "ptr",42// CHECK: "type": {43// CHECK: "qualType": "int *"44// CHECK: }45// CHECK: }46// CHECK: }47// CHECK: ]48// CHECK: },49// CHECK: {50// CHECK: "id": "0x{{.*}}",51// CHECK: "kind": "IntegerLiteral",52// CHECK: },53// CHECK: "type": {54// CHECK: "qualType": "int"55// CHECK: },56// CHECK: "valueCategory": "prvalue",57// CHECK: "value": "5"58// CHECK: }59// CHECK: ]60// CHECK: }61