[DeclCXX] Remove unknown external linkage specifications
authorEhud Katz <ehudkatz@gmail.com>
Thu, 7 Nov 2019 10:28:48 +0000 (12:28 +0200)
committerEhud Katz <ehudkatz@gmail.com>
Thu, 21 Nov 2019 13:23:05 +0000 (15:23 +0200)
commitc63f1b160eb68cfac30113f259abae508d8be798
tree9f631c7e2097f18463bb7ad80f0ff89f300c1353
parent7b957ddc981d65276ca5aa0e7208890269cc9682
[DeclCXX] Remove unknown external linkage specifications

Partial revert of r372681 "Support for DWARF-5 C++ language tags".

The change introduced new external linkage languages ("C++11" and
"C++14") which not supported in C++.

It also changed the definition of the existing enum to use the DWARF
constants. The problem is that "LinkageSpecDeclBits.Language" (the field
that reserves this enum) is actually defined as 3 bits length
(bitfield), which cannot contain the new DWARF constants. Defining the
enum as integer literals is more appropriate for maintaining valid
values.

Differential Revision: https://reviews.llvm.org/D69935
clang-tools-extra/modularize/Modularize.cpp
clang/include/clang/AST/DeclCXX.h
clang/lib/AST/DeclPrinter.cpp
clang/lib/AST/JSONNodeDumper.cpp
clang/lib/AST/TextNodeDumper.cpp
clang/lib/CodeGen/CodeGenModule.cpp
clang/lib/Sema/SemaDeclCXX.cpp
clang/lib/Sema/SemaModule.cpp