https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120247

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Perhaps __builtin_assoc_barrier should lower to NON_LVALUE_EXPR (PAREN_EXPR
(expr))
or PAREN_EXPR (NON_LVALUE_EXPR (expr)) for C++?
Of course, a big question is what the builtin should do for class types (if it
shouldn't be an error).
And for C++ it also means that __builtin_assoc_barrier can have dependent
argument and only during instantiation we'd find out if it has supported/able
type or not.
Though, __builtin_assoc_barrier is parsed immediately to PAREN_EXPR.  Perhaps
we want some language flag on whether it is __builtin_assoc_barrier or the
force_paren_expr created one?

Reply via email to