brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · fa236ce Raw
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