[all-commits] [llvm/llvm-project] a61b20: [Clang][Sema][AIX][PowerPC] Emit byval alignment w...

Zarko Todorovski via All-commits all-commits at lists.llvm.org
Wed Jul 13 12:32:42 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a61b202d4e3b00bf6bfd71dc1ea354d37f73b791
      https://github.com/llvm/llvm-project/commit/a61b202d4e3b00bf6bfd71dc1ea354d37f73b791
  Author: Zarko Todorovski <zarko at ca.ibm.com>
  Date:   2022-07-13 (Wed, 13 Jul 2022)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Analysis/padding_c.c
    M clang/test/Analysis/padding_cpp.cpp
    M clang/test/CXX/drs/dr6xx.cpp
    M clang/test/Sema/aix-attr-align.c
    M clang/test/SemaTemplate/instantiate-attr.cpp

  Log Message:
  -----------
  [Clang][Sema][AIX][PowerPC] Emit byval alignment warning only when struct is passed to a function

Previous warning went on whenever a struct with a struct member with alignment => 16
was declared. This led to too many false positives and led to diagnostic lit failures
due to it being emitted too frequently. Only emit the warning when such a struct and
that struct contains a member that has an alignment of 16 bytes is passed to a caller
function since this is where the potential binary compatibility issue with XL 16.1.0
and older exists.

Reviewed By: sfertile, aaron.ballman

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




More information about the All-commits mailing list