@@ -6420,7 +6420,7 @@ class AtomicExpr : public Expr {
6420
6420
enum AtomicOp {
6421
6421
#define BUILTIN (ID, TYPE, ATTRS )
6422
6422
#define ATOMIC_BUILTIN (ID, TYPE, ATTRS ) AO ## ID,
6423
- #include " clang/Basic/Builtins.def "
6423
+ #include " clang/Basic/Builtins.inc "
6424
6424
// Avoid trailing comma
6425
6425
BI_First = 0
6426
6426
};
@@ -6486,7 +6486,7 @@ class AtomicExpr : public Expr {
6486
6486
#define ATOMIC_BUILTIN (ID, TYPE, ATTRS ) \
6487
6487
case AO##ID: \
6488
6488
return #ID;
6489
- #include " clang/Basic/Builtins.def "
6489
+ #include " clang/Basic/Builtins.inc "
6490
6490
}
6491
6491
llvm_unreachable (" not an atomic operator?" );
6492
6492
}
@@ -6513,8 +6513,8 @@ class AtomicExpr : public Expr {
6513
6513
}
6514
6514
6515
6515
bool isOpenCL () const {
6516
- return getOp () >= AO__opencl_atomic_init &&
6517
- getOp () <= AO__opencl_atomic_fetch_max ;
6516
+ return getOp () >= AO__opencl_atomic_compare_exchange_strong &&
6517
+ getOp () <= AO__opencl_atomic_store ;
6518
6518
}
6519
6519
6520
6520
SourceLocation getBuiltinLoc () const { return BuiltinLoc; }
@@ -6539,12 +6539,13 @@ class AtomicExpr : public Expr {
6539
6539
// / \return empty atomic scope model if the atomic op code does not have
6540
6540
// / scope operand.
6541
6541
static std::unique_ptr<AtomicScopeModel> getScopeModel (AtomicOp Op) {
6542
- auto Kind =
6543
- (Op >= AO__opencl_atomic_load && Op <= AO__opencl_atomic_fetch_max)
6544
- ? AtomicScopeModelKind::OpenCL
6545
- : (Op >= AO__hip_atomic_load && Op <= AO__hip_atomic_fetch_max)
6546
- ? AtomicScopeModelKind::HIP
6547
- : AtomicScopeModelKind::None;
6542
+ auto Kind = (Op >= AO__opencl_atomic_compare_exchange_strong &&
6543
+ Op <= AO__opencl_atomic_store)
6544
+ ? AtomicScopeModelKind::OpenCL
6545
+ : (Op >= AO__hip_atomic_compare_exchange_strong &&
6546
+ Op <= AO__hip_atomic_store)
6547
+ ? AtomicScopeModelKind::HIP
6548
+ : AtomicScopeModelKind::None;
6548
6549
return AtomicScopeModel::create (Kind);
6549
6550
}
6550
6551
0 commit comments