// 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: }