llvm/clang/lib/Parse
Aaron Ballman 6c75ab5f66 Introduce _BitInt, deprecate _ExtInt
WG14 adopted the _ExtInt feature from Clang for C23, but renamed the
type to be _BitInt. This patch does the vast majority of the work to
rename _ExtInt to _BitInt, which accounts for most of its size. The new
type is exposed in older C modes and all C++ modes as a conforming
extension. However, there are functional changes worth calling out:

* Deprecates _ExtInt with a fix-it to help users migrate to _BitInt.
* Updates the mangling for the type.
* Updates the documentation and adds a release note to warn users what
is going on.
* Adds new diagnostics for use of _BitInt to call out when it's used as
a Clang extension or as a pre-C23 compatibility concern.
* Adds new tests for the new diagnostic behaviors.

I want to call out the ABI break specifically. We do not believe that
this break will cause a significant imposition for early adopters of
the feature, and so this is being done as a full break. If it turns out
there are critical uses where recompilation is not an option for some
reason, we can consider using ABI tags to ease the transition.
2021-12-06 12:52:01 -05:00
..
CMakeLists.txt
ParseAST.cpp
ParseCXXInlineMethods.cpp
ParseDecl.cpp Introduce _BitInt, deprecate _ExtInt 2021-12-06 12:52:01 -05:00
ParseDeclCXX.cpp
ParseExpr.cpp Introduce _BitInt, deprecate _ExtInt 2021-12-06 12:52:01 -05:00
ParseExprCXX.cpp Introduce _BitInt, deprecate _ExtInt 2021-12-06 12:52:01 -05:00
ParseInit.cpp
ParseObjc.cpp
ParseOpenMP.cpp Initial parsing/sema for 'align' clause 2021-11-09 07:34:18 -05:00
ParsePragma.cpp
Parser.cpp
ParseStmt.cpp [C++20] [Coroutines] Warn for deprecated form 'for co_await' 2021-11-22 15:57:57 +08:00
ParseStmtAsm.cpp
ParseTemplate.cpp
ParseTentative.cpp Introduce _BitInt, deprecate _ExtInt 2021-12-06 12:52:01 -05:00