[all-commits] [llvm/llvm-project] 2e275e: [C11] Allow initialization of an atomic-qualified ...

Aaron Ballman via All-commits all-commits at lists.llvm.org
Thu Apr 20 05:02:58 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2e275e24355cb224981f9beb2b026a3169fc7232
      https://github.com/llvm/llvm-project/commit/2e275e24355cb224981f9beb2b026a3169fc7232
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2023-04-20 (Thu, 20 Apr 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/Expr.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/Sema/atomic-expr.c

  Log Message:
  -----------
  [C11] Allow initialization of an atomic-qualified pointer from a null pointer constant

The relevant language rule from C11 is 6.5.16.1p1: "the left operand is
an atomic, qualified, or unqualified pointer, and the right is a null
pointer constant; or". We correctly handled qualified or unqualified
pointer types, but failed to handle atomic-qualified pointer types. Now
we look through the atomic qualification before testing the constraint
requirements.

Fixes https://github.com/llvm/llvm-project/issues/49563
Differential Revision: https://reviews.llvm.org/D148730




More information about the All-commits mailing list