Allow 'inline' on some declarations in MS compatibility mode (#125250)
commitef91caec2cf313624829114802cff92ae682e550
authorAaron Ballman <aaron@aaronballman.com>
Fri, 31 Jan 2025 18:50:01 +0000 (31 13:50 -0500)
committerGitHub <noreply@github.com>
Fri, 31 Jan 2025 18:50:01 +0000 (31 13:50 -0500)
treea994df98f483464f0582753edcb93c0d6efbde2c
parent0ff49a745a43b6615a6ada180f2d11456b3beb05
Allow 'inline' on some declarations in MS compatibility mode (#125250)

Microsoft allows the 'inline' specifier on a typedef of a function type
in C modes. This is used by a system header (ufxclient.h), so instead
of giving a hard error, we diagnose with a warning. C++ mode and non-
Microsoft compatibility modes are not impacted.

Fixes https://github.com/llvm/llvm-project/issues/124869
clang/docs/ReleaseNotes.rst
clang/include/clang/Basic/DiagnosticGroups.td
clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/lib/Sema/SemaDecl.cpp
clang/test/Sema/MicrosoftCompatibility.c
clang/test/Sema/MicrosoftCompatibility.cpp