[all-commits] [llvm/llvm-project] a4ceac: [C23] Implement WG14 N3037 (#132939)

Aaron Ballman via All-commits all-commits at lists.llvm.org
Fri May 2 06:19:43 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a4ceac7e3e04c32cb3e334eb89b54d8e99a298f8
      https://github.com/llvm/llvm-project/commit/a4ceac7e3e04c32cb3e334eb89b54d8e99a298f8
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-05-02 (Fri, 02 May 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTStructuralEquivalence.h
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/test/ASTMerge/struct/test.c
    A clang/test/C/C23/n3037.c
    A clang/test/C/C23/n3037_1.c
    M clang/test/C/drs/dr1xx.c
    M clang/unittests/AST/StructuralEquivalenceTest.cpp
    M clang/www/c_status.html

  Log Message:
  -----------
  [C23] Implement WG14 N3037 (#132939)

This changes the type compatibility rules so that it is permitted to
redefine tag types within the same TU so long as they are equivalent
definitions.

It is intentionally not being exposed as an extension in older C
language modes. GCC does not do so and the feature doesn't seem
compelling enough to warrant it.



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