tbaederr wrote:

Of course not!

The reason that `AtomicToNonAtomic` is handled but `NonAtomicToAtomic` isn't, 
is that this is in `IntExprEvaluator`, meaning the result must be a 
(non-atomic) integer. If it was atomic, it'd be in `AtomicExprEvaluator`.

This AST for the LHS of the binary operator:
```
BinaryOperator 0x521000074f38 'int' '+'
|-ImplicitCastExpr 0x521000074f18 'int' <IntegralCast>
| `-StmtExpr 0x521000074ec8 'atomic_char':'_Atomic(char)'
```

looks wrong. The `StmtExpr` is of atomic type but gets cast to an integer 
without a `AtomicToNonAtomic` cast. Is that cast missing?




https://github.com/llvm/llvm-project/pull/106751
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to