[all-commits] [llvm/llvm-project] 277123: GCC ABI Compatibility: Preserve alignment of non-p...

David Blaikie via All-commits all-commits at lists.llvm.org
Fri Jan 28 11:04:46 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 277123376ce08c98b07c154bf83e4092a5d4d3c6
      https://github.com/llvm/llvm-project/commit/277123376ce08c98b07c154bf83e4092a5d4d3c6
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2022-01-28 (Fri, 28 Jan 2022)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/LangOptions.h
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/SemaCXX/class-layout.cpp

  Log Message:
  -----------
  GCC ABI Compatibility: Preserve alignment of non-pod members in packed structs

This matches GCC: https://godbolt.org/z/sM5q95PGY

I realize this is an API break for clang+clang - so I'm totally open to
discussing how we should deal with that. If Apple wants to keep the
Clang layout indefinitely, if we want to put a flag on this so non-Apple
folks can opt out of this fix/new behavior.

Differential Revision: https://reviews.llvm.org/D117616




More information about the All-commits mailing list