[all-commits] [llvm/llvm-project] b19ed9: [C2y] Implement WG14 N3409 (#130299)

Aaron Ballman via All-commits all-commits at lists.llvm.org
Fri Mar 7 11:46:51 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b19ed9c0435c5f7c89cba40285df3a1395a782fd
      https://github.com/llvm/llvm-project/commit/b19ed9c0435c5f7c89cba40285df3a1395a782fd
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-03-07 (Fri, 07 Mar 2025)

  Changed paths:
    M clang-tools-extra/clangd/IncludeFixer.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaStmt.cpp
    A clang/test/C/C2y/n3409.c
    M clang/test/Sema/generic-selection-type-extension.c
    M clang/test/Sema/generic-selection.c
    M clang/test/SemaCXX/generic-selection.cpp

  Log Message:
  -----------
  [C2y] Implement WG14 N3409 (#130299)

This paper removes UB around use of void expressions. Previously, code
like this had undefined behavior:
```
  void foo(void) {
    (void)(void)1;
    extern void x;
    x;
  }
```
and this is now well-defined in C2y. Functionally, this now means that
it is valid to use `void` as a `_Generic` association.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list