aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/CodeGen/ms-declspecs.c4
-rw-r--r--test/CodeGenCXX/cxx11-exception-spec.cpp16
-rw-r--r--test/CodeGenCXX/dllexport-members.cpp32
-rw-r--r--test/CodeGenCXX/dllexport.cpp48
-rw-r--r--test/CodeGenCXX/dllimport.cpp2
-rw-r--r--test/CodeGenCXX/microsoft-abi-virtual-member-pointers.cpp10
-rw-r--r--test/CodeGenCXX/ms-integer-static-data-members-exported.cpp4
-rw-r--r--test/CodeGenCXX/ms-integer-static-data-members.cpp2
-rw-r--r--test/CodeGenCXX/split-stacks.cpp4
-rw-r--r--test/CodeGenCXX/static-init.cpp9
-rw-r--r--test/Driver/aarch64-fixed-x18.c4
-rw-r--r--test/Driver/linux-ld.c18
-rw-r--r--test/Driver/netbsd.c15
-rw-r--r--test/FixIt/typo-location-bugs.cpp13
-rw-r--r--test/Modules/Inputs/System/usr/include/malloc.h0
-rw-r--r--test/Modules/Inputs/System/usr/include/stdlib.h1
-rw-r--r--test/Modules/compiler_builtins.m4
-rw-r--r--test/Preprocessor/init.c692
-rw-r--r--test/Preprocessor/stdint.c56
-rw-r--r--test/Sema/atomic-ops.c6
-rw-r--r--test/Sema/attr-flag-enum.c73
-rw-r--r--test/Sema/inline-asm-validate-x86.c12
-rw-r--r--test/Sema/typo-correction.c5
-rw-r--r--test/SemaCXX/attr-flag-enum-reject.cpp4
-rw-r--r--test/SemaCXX/typo-correction-delayed.cpp26
25 files changed, 857 insertions, 203 deletions
diff --git a/test/CodeGen/ms-declspecs.c b/test/CodeGen/ms-declspecs.c
index 328fc835d347..5dc7787b8fb9 100644
--- a/test/CodeGen/ms-declspecs.c
+++ b/test/CodeGen/ms-declspecs.c
@@ -2,8 +2,8 @@
__declspec(selectany) int x1 = 1;
const __declspec(selectany) int x2 = 2;
-// CHECK: @x1 = weak_odr global i32 1, comdat, align 4
-// CHECK: @x2 = weak_odr constant i32 2, comdat, align 4
+// CHECK: @x1 = weak_odr global i32 1, align 4
+// CHECK: @x2 = weak_odr constant i32 2, align 4
struct __declspec(align(16)) S {
char x;
diff --git a/test/CodeGenCXX/cxx11-exception-spec.cpp b/test/CodeGenCXX/cxx11-exception-spec.cpp
index 3fb5c15c2ab5..75f939f93f0f 100644
--- a/test/CodeGenCXX/cxx11-exception-spec.cpp
+++ b/test/CodeGenCXX/cxx11-exception-spec.cpp
@@ -22,9 +22,9 @@ template<> void S<short>::f() { h(); }
// CHECK: define {{.*}} @_ZN1SIA2_sE1fEv() [[NUW]]
template<> void S<short[2]>::f() noexcept { h(); }
-// CHECK: define {{.*}} @_Z1fIDsEvv() [[NONE]] comdat {
+// CHECK: define {{.*}} @_Z1fIDsEvv() [[NONE]] {
template void f<char16_t>();
-// CHECK: define {{.*}} @_Z1fIA2_DsEvv() [[NUW]] comdat {
+// CHECK: define {{.*}} @_Z1fIA2_DsEvv() [[NUW]] {
template void f<char16_t[2]>();
// CHECK: define {{.*}} @_ZN1SIDsE1fEv()
@@ -34,9 +34,9 @@ template void S<char16_t>::f();
template void S<char16_t[2]>::f();
void h() {
- // CHECK: define {{.*}} @_Z1fIiEvv() [[NUW]] comdat {
+ // CHECK: define {{.*}} @_Z1fIiEvv() [[NUW]] {
f<int>();
- // CHECK: define {{.*}} @_Z1fIA2_iEvv() [[NONE]] comdat {
+ // CHECK: define {{.*}} @_Z1fIA2_iEvv() [[NONE]] {
f<int[2]>();
// CHECK: define {{.*}} @_ZN1SIiE1fEv() [[NUW]]
@@ -45,9 +45,9 @@ void h() {
// CHECK-NOT: [[NUW]]
S<int[2]>::f();
- // CHECK: define {{.*}} @_Z1fIfEvv() [[NUW]] comdat {
+ // CHECK: define {{.*}} @_Z1fIfEvv() [[NUW]] {
void (*f1)() = &f<float>;
- // CHECK: define {{.*}} @_Z1fIdEvv() [[NONE]] comdat {
+ // CHECK: define {{.*}} @_Z1fIdEvv() [[NONE]] {
void (*f2)() = &f<double>;
// CHECK: define {{.*}} @_ZN1SIfE1fEv() [[NUW]]
@@ -56,9 +56,9 @@ void h() {
// CHECK-NOT: [[NUW]]
void (*f4)() = &S<double>::f;
- // CHECK: define {{.*}} @_Z1fIA4_cEvv() [[NUW]] comdat {
+ // CHECK: define {{.*}} @_Z1fIA4_cEvv() [[NUW]] {
(void)&f<char[4]>;
- // CHECK: define {{.*}} @_Z1fIcEvv() [[NONE]] comdat {
+ // CHECK: define {{.*}} @_Z1fIcEvv() [[NONE]] {
(void)&f<char>;
// CHECK: define {{.*}} @_ZN1SIA4_cE1fEv() [[NUW]]
diff --git a/test/CodeGenCXX/dllexport-members.cpp b/test/CodeGenCXX/dllexport-members.cpp
index 5b2af1e04bd7..d913c09ec7be 100644
--- a/test/CodeGenCXX/dllexport-members.cpp
+++ b/test/CodeGenCXX/dllexport-members.cpp
@@ -110,9 +110,9 @@ public:
// MSC-DAG: @"\01?StaticField@ExportMembers@@2HA" = dllexport global i32 1, align 4
// MSC-DAG: @"\01?StaticConstField@ExportMembers@@2HB" = dllexport constant i32 1, align 4
- // MSC-DAG: @"\01?StaticConstFieldEqualInit@ExportMembers@@2HB" = weak_odr dllexport constant i32 1, comdat, align 4
- // MSC-DAG: @"\01?StaticConstFieldBraceInit@ExportMembers@@2HB" = weak_odr dllexport constant i32 1, comdat, align 4
- // MSC-DAG: @"\01?ConstexprField@ExportMembers@@2HB" = weak_odr dllexport constant i32 1, comdat, align 4
+ // MSC-DAG: @"\01?StaticConstFieldEqualInit@ExportMembers@@2HB" = weak_odr dllexport constant i32 1, align 4
+ // MSC-DAG: @"\01?StaticConstFieldBraceInit@ExportMembers@@2HB" = weak_odr dllexport constant i32 1, align 4
+ // MSC-DAG: @"\01?ConstexprField@ExportMembers@@2HB" = weak_odr dllexport constant i32 1, align 4
// GNU-DAG: @_ZN13ExportMembers11StaticFieldE = dllexport global i32 1, align 4
// GNU-DAG: @_ZN13ExportMembers16StaticConstFieldE = dllexport constant i32 1, align 4
// GNU-DAG: @_ZN13ExportMembers25StaticConstFieldEqualInitE = dllexport constant i32 1, align 4
@@ -233,9 +233,9 @@ public:
// MSC-DAG: @"\01?StaticField@Nested@ExportMembers@@2HA" = dllexport global i32 1, align 4
// MSC-DAG: @"\01?StaticConstField@Nested@ExportMembers@@2HB" = dllexport constant i32 1, align 4
- // MSC-DAG: @"\01?StaticConstFieldEqualInit@Nested@ExportMembers@@2HB" = weak_odr dllexport constant i32 1, comdat, align 4
- // MSC-DAG: @"\01?StaticConstFieldBraceInit@Nested@ExportMembers@@2HB" = weak_odr dllexport constant i32 1, comdat, align 4
- // MSC-DAG: @"\01?ConstexprField@Nested@ExportMembers@@2HB" = weak_odr dllexport constant i32 1, comdat, align 4
+ // MSC-DAG: @"\01?StaticConstFieldEqualInit@Nested@ExportMembers@@2HB" = weak_odr dllexport constant i32 1, align 4
+ // MSC-DAG: @"\01?StaticConstFieldBraceInit@Nested@ExportMembers@@2HB" = weak_odr dllexport constant i32 1, align 4
+ // MSC-DAG: @"\01?ConstexprField@Nested@ExportMembers@@2HB" = weak_odr dllexport constant i32 1, align 4
// GNU-DAG: @_ZN13ExportMembers6Nested11StaticFieldE = dllexport global i32 1, align 4
// GNU-DAG: @_ZN13ExportMembers6Nested16StaticConstFieldE = dllexport constant i32 1, align 4
// GNU-DAG: @_ZN13ExportMembers6Nested25StaticConstFieldEqualInitE = dllexport constant i32 1, align 4
@@ -599,21 +599,21 @@ template<typename T> const int MemVarTmpl::StaticVar;
template<typename T> const int MemVarTmpl::ExportedStaticVar;
// Export implicit instantiation of an exported member variable template.
-// MSC-DAG: @"\01??$ExportedStaticVar@UImplicitInst_Exported@@@MemVarTmpl@@2HB" = weak_odr dllexport constant i32 1, comdat, align 4
-// GNU-DAG: @_ZN10MemVarTmpl17ExportedStaticVarI21ImplicitInst_ExportedEE = weak_odr dllexport constant i32 1, comdat, align 4
+// MSC-DAG: @"\01??$ExportedStaticVar@UImplicitInst_Exported@@@MemVarTmpl@@2HB" = weak_odr dllexport constant i32 1, align 4
+// GNU-DAG: @_ZN10MemVarTmpl17ExportedStaticVarI21ImplicitInst_ExportedEE = weak_odr dllexport constant i32 1, align 4
int useMemVarTmpl() { return MemVarTmpl::ExportedStaticVar<ImplicitInst_Exported>; }
// Export explicit instantiation declaration of an exported member variable
// template.
-// MSC-DAG: @"\01??$ExportedStaticVar@UExplicitDecl_Exported@@@MemVarTmpl@@2HB" = weak_odr dllexport constant i32 1, comdat, align 4
-// GNU-DAG: @_ZN10MemVarTmpl17ExportedStaticVarI21ExplicitDecl_ExportedEE = weak_odr dllexport constant i32 1, comdat, align 4
+// MSC-DAG: @"\01??$ExportedStaticVar@UExplicitDecl_Exported@@@MemVarTmpl@@2HB" = weak_odr dllexport constant i32 1, align 4
+// GNU-DAG: @_ZN10MemVarTmpl17ExportedStaticVarI21ExplicitDecl_ExportedEE = weak_odr dllexport constant i32 1, align 4
extern template const int MemVarTmpl::ExportedStaticVar<ExplicitDecl_Exported>;
template const int MemVarTmpl::ExportedStaticVar<ExplicitDecl_Exported>;
// Export explicit instantiation definition of an exported member variable
// template.
-// MSC-DAG: @"\01??$ExportedStaticVar@UExplicitInst_Exported@@@MemVarTmpl@@2HB" = weak_odr dllexport constant i32 1, comdat, align 4
-// GNU-DAG: @_ZN10MemVarTmpl17ExportedStaticVarI21ExplicitInst_ExportedEE = weak_odr dllexport constant i32 1, comdat, align 4
+// MSC-DAG: @"\01??$ExportedStaticVar@UExplicitInst_Exported@@@MemVarTmpl@@2HB" = weak_odr dllexport constant i32 1, align 4
+// GNU-DAG: @_ZN10MemVarTmpl17ExportedStaticVarI21ExplicitInst_ExportedEE = weak_odr dllexport constant i32 1, align 4
template const int MemVarTmpl::ExportedStaticVar<ExplicitInst_Exported>;
// Export specialization of an exported member variable template.
@@ -630,15 +630,15 @@ template<> const int MemVarTmpl::ExportedStaticVar<ExplicitSpec_NotExported> = 1
// Export explicit instantiation declaration of a non-exported member variable
// template.
-// MSC-DAG: @"\01??$StaticVar@UExplicitDecl_Exported@@@MemVarTmpl@@2HB" = weak_odr dllexport constant i32 1, comdat, align 4
-// GNU-DAG: @_ZN10MemVarTmpl9StaticVarI21ExplicitDecl_ExportedEE = weak_odr dllexport constant i32 1, comdat, align 4
+// MSC-DAG: @"\01??$StaticVar@UExplicitDecl_Exported@@@MemVarTmpl@@2HB" = weak_odr dllexport constant i32 1, align 4
+// GNU-DAG: @_ZN10MemVarTmpl9StaticVarI21ExplicitDecl_ExportedEE = weak_odr dllexport constant i32 1, align 4
extern template __declspec(dllexport) const int MemVarTmpl::StaticVar<ExplicitDecl_Exported>;
template __declspec(dllexport) const int MemVarTmpl::StaticVar<ExplicitDecl_Exported>;
// Export explicit instantiation definition of a non-exported member variable
// template.
-// MSC-DAG: @"\01??$StaticVar@UExplicitInst_Exported@@@MemVarTmpl@@2HB" = weak_odr dllexport constant i32 1, comdat, align 4
-// GNU-DAG: @_ZN10MemVarTmpl9StaticVarI21ExplicitInst_ExportedEE = weak_odr dllexport constant i32 1, comdat, align 4
+// MSC-DAG: @"\01??$StaticVar@UExplicitInst_Exported@@@MemVarTmpl@@2HB" = weak_odr dllexport constant i32 1, align 4
+// GNU-DAG: @_ZN10MemVarTmpl9StaticVarI21ExplicitInst_ExportedEE = weak_odr dllexport constant i32 1, align 4
template __declspec(dllexport) const int MemVarTmpl::StaticVar<ExplicitInst_Exported>;
// Export specialization of a non-exported member variable template.
diff --git a/test/CodeGenCXX/dllexport.cpp b/test/CodeGenCXX/dllexport.cpp
index 93bd1f5fe99c..cfbc7e10078a 100644
--- a/test/CodeGenCXX/dllexport.cpp
+++ b/test/CodeGenCXX/dllexport.cpp
@@ -110,43 +110,43 @@ template<typename T> __declspec(dllexport) int VarTmplImplicitDef;
USEVAR(VarTmplImplicitDef<ImplicitInst_Exported>)
// Export definition.
-// MSC-DAG: @"\01??$VarTmplInit1@UExplicitInst_Exported@@@@3HA" = weak_odr dllexport global i32 1, comdat, align 4
-// GNU-DAG: @_Z12VarTmplInit1I21ExplicitInst_ExportedE = weak_odr dllexport global i32 1, comdat, align 4
+// MSC-DAG: @"\01??$VarTmplInit1@UExplicitInst_Exported@@@@3HA" = weak_odr dllexport global i32 1, align 4
+// GNU-DAG: @_Z12VarTmplInit1I21ExplicitInst_ExportedE = weak_odr dllexport global i32 1, align 4
template<typename T> __declspec(dllexport) int VarTmplInit1 = 1;
INSTVAR(VarTmplInit1<ExplicitInst_Exported>)
-// MSC-DAG: @"\01??$VarTmplInit2@UExplicitInst_Exported@@@@3HA" = weak_odr dllexport global i32 1, comdat, align 4
-// GNU-DAG: @_Z12VarTmplInit2I21ExplicitInst_ExportedE = weak_odr dllexport global i32 1, comdat, align 4
+// MSC-DAG: @"\01??$VarTmplInit2@UExplicitInst_Exported@@@@3HA" = weak_odr dllexport global i32 1, align 4
+// GNU-DAG: @_Z12VarTmplInit2I21ExplicitInst_ExportedE = weak_odr dllexport global i32 1, align 4
template<typename T> int __declspec(dllexport) VarTmplInit2 = 1;
INSTVAR(VarTmplInit2<ExplicitInst_Exported>)
// Declare, then export definition.
-// MSC-DAG: @"\01??$VarTmplDeclInit@UExplicitInst_Exported@@@@3HA" = weak_odr dllexport global i32 1, comdat, align 4
-// GNU-DAG: @_Z15VarTmplDeclInitI21ExplicitInst_ExportedE = weak_odr dllexport global i32 1, comdat, align 4
+// MSC-DAG: @"\01??$VarTmplDeclInit@UExplicitInst_Exported@@@@3HA" = weak_odr dllexport global i32 1, align 4
+// GNU-DAG: @_Z15VarTmplDeclInitI21ExplicitInst_ExportedE = weak_odr dllexport global i32 1, align 4
template<typename T> __declspec(dllexport) extern int VarTmplDeclInit;
template<typename T> int VarTmplDeclInit = 1;
INSTVAR(VarTmplDeclInit<ExplicitInst_Exported>)
// Redeclarations
-// MSC-DAG: @"\01??$VarTmplRedecl1@UExplicitInst_Exported@@@@3HA" = weak_odr dllexport global i32 1, comdat, align 4
-// GNU-DAG: @_Z14VarTmplRedecl1I21ExplicitInst_ExportedE = weak_odr dllexport global i32 1, comdat, align 4
+// MSC-DAG: @"\01??$VarTmplRedecl1@UExplicitInst_Exported@@@@3HA" = weak_odr dllexport global i32 1, align 4
+// GNU-DAG: @_Z14VarTmplRedecl1I21ExplicitInst_ExportedE = weak_odr dllexport global i32 1, align 4
template<typename T> __declspec(dllexport) extern int VarTmplRedecl1;
template<typename T> __declspec(dllexport) int VarTmplRedecl1 = 1;
INSTVAR(VarTmplRedecl1<ExplicitInst_Exported>)
-// MSC-DAG: @"\01??$VarTmplRedecl2@UExplicitInst_Exported@@@@3HA" = weak_odr dllexport global i32 1, comdat, align 4
-// GNU-DAG: @_Z14VarTmplRedecl2I21ExplicitInst_ExportedE = weak_odr dllexport global i32 1, comdat, align 4
+// MSC-DAG: @"\01??$VarTmplRedecl2@UExplicitInst_Exported@@@@3HA" = weak_odr dllexport global i32 1, align 4
+// GNU-DAG: @_Z14VarTmplRedecl2I21ExplicitInst_ExportedE = weak_odr dllexport global i32 1, align 4
template<typename T> __declspec(dllexport) extern int VarTmplRedecl2;
template<typename T> int VarTmplRedecl2 = 1;
INSTVAR(VarTmplRedecl2<ExplicitInst_Exported>)
-// MSC-DAG: @"\01??$ExternalVarTmpl@UExplicitInst_Exported@@@ns@@3HA" = weak_odr dllexport global i32 1, comdat, align 4
-// GNU-DAG: @_ZN2ns15ExternalVarTmplI21ExplicitInst_ExportedEE = weak_odr dllexport global i32 1, comdat, align 4
+// MSC-DAG: @"\01??$ExternalVarTmpl@UExplicitInst_Exported@@@ns@@3HA" = weak_odr dllexport global i32 1, align 4
+// GNU-DAG: @_ZN2ns15ExternalVarTmplI21ExplicitInst_ExportedEE = weak_odr dllexport global i32 1, align 4
namespace ns { template<typename T> __declspec(dllexport) int ExternalVarTmpl = 1; }
INSTVAR(ns::ExternalVarTmpl<ExplicitInst_Exported>)
-// MSC-DAG: @"\01??$ExternalAutoTypeVarTmpl@UExplicitInst_Exported@@@@3UExternal@@A" = weak_odr dllexport global %struct.External zeroinitializer, comdat, align 4
-// GNU-DAG: @_Z23ExternalAutoTypeVarTmplI21ExplicitInst_ExportedE = weak_odr dllexport global %struct.External zeroinitializer, comdat, align 4
+// MSC-DAG: @"\01??$ExternalAutoTypeVarTmpl@UExplicitInst_Exported@@@@3UExternal@@A" = weak_odr dllexport global %struct.External zeroinitializer, align 4
+// GNU-DAG: @_Z23ExternalAutoTypeVarTmplI21ExplicitInst_ExportedE = weak_odr dllexport global %struct.External zeroinitializer, align 4
template<typename T> __declspec(dllexport) auto ExternalAutoTypeVarTmpl = External();
template External ExternalAutoTypeVarTmpl<ExplicitInst_Exported>;
@@ -155,19 +155,19 @@ template<typename T> int VarTmpl = 1;
template<typename T> __declspec(dllexport) int ExportedVarTmpl = 1;
// Export implicit instantiation of an exported variable template.
-// MSC-DAG: @"\01??$ExportedVarTmpl@UImplicitInst_Exported@@@@3HA" = weak_odr dllexport global i32 1, comdat, align 4
-// GNU-DAG: @_Z15ExportedVarTmplI21ImplicitInst_ExportedE = weak_odr dllexport global i32 1, comdat, align 4
+// MSC-DAG: @"\01??$ExportedVarTmpl@UImplicitInst_Exported@@@@3HA" = weak_odr dllexport global i32 1, align 4
+// GNU-DAG: @_Z15ExportedVarTmplI21ImplicitInst_ExportedE = weak_odr dllexport global i32 1, align 4
USEVAR(ExportedVarTmpl<ImplicitInst_Exported>)
// Export explicit instantiation declaration of an exported variable template.
-// MSC-DAG: @"\01??$ExportedVarTmpl@UImplicitInst_Exported@@@@3HA" = weak_odr dllexport global i32 1, comdat, align 4
-// GNU-DAG: @_Z15ExportedVarTmplI21ExplicitDecl_ExportedE = weak_odr dllexport global i32 1, comdat, align 4
+// MSC-DAG: @"\01??$ExportedVarTmpl@UImplicitInst_Exported@@@@3HA" = weak_odr dllexport global i32 1, align 4
+// GNU-DAG: @_Z15ExportedVarTmplI21ExplicitDecl_ExportedE = weak_odr dllexport global i32 1, align 4
extern template int ExportedVarTmpl<ExplicitDecl_Exported>;
template int ExportedVarTmpl<ExplicitDecl_Exported>;
// Export explicit instantiation definition of an exported variable template.
-// MSC-DAG: @"\01??$ExportedVarTmpl@UImplicitInst_Exported@@@@3HA" = weak_odr dllexport global i32 1, comdat, align 4
-// GNU-DAG: @_Z15ExportedVarTmplI21ExplicitInst_ExportedE = weak_odr dllexport global i32 1, comdat, align 4
+// MSC-DAG: @"\01??$ExportedVarTmpl@UImplicitInst_Exported@@@@3HA" = weak_odr dllexport global i32 1, align 4
+// GNU-DAG: @_Z15ExportedVarTmplI21ExplicitInst_ExportedE = weak_odr dllexport global i32 1, align 4
template __declspec(dllexport) int ExportedVarTmpl<ExplicitInst_Exported>;
// Export specialization of an exported variable template.
@@ -187,14 +187,14 @@ template<> int ExportedVarTmpl<ExplicitSpec_NotExported>;
// Export explicit instantiation declaration of a non-exported variable template.
-// MSC-DAG: @"\01??$VarTmpl@UExplicitDecl_Exported@@@@3HA" = weak_odr dllexport global i32 1, comdat, align 4
-// GNU-DAG: @_Z7VarTmplI21ExplicitDecl_ExportedE = weak_odr dllexport global i32 1, comdat, align 4
+// MSC-DAG: @"\01??$VarTmpl@UExplicitDecl_Exported@@@@3HA" = weak_odr dllexport global i32 1, align 4
+// GNU-DAG: @_Z7VarTmplI21ExplicitDecl_ExportedE = weak_odr dllexport global i32 1, align 4
extern template __declspec(dllexport) int VarTmpl<ExplicitDecl_Exported>;
template __declspec(dllexport) int VarTmpl<ExplicitDecl_Exported>;
// Export explicit instantiation definition of a non-exported variable template.
-// MSC-DAG: @"\01??$VarTmpl@UExplicitInst_Exported@@@@3HA" = weak_odr dllexport global i32 1, comdat, align 4
-// GNU-DAG: @_Z7VarTmplI21ExplicitInst_ExportedE = weak_odr dllexport global i32 1, comdat, align 4
+// MSC-DAG: @"\01??$VarTmpl@UExplicitInst_Exported@@@@3HA" = weak_odr dllexport global i32 1, align 4
+// GNU-DAG: @_Z7VarTmplI21ExplicitInst_ExportedE = weak_odr dllexport global i32 1, align 4
template __declspec(dllexport) int VarTmpl<ExplicitInst_Exported>;
// Export specialization of a non-exported variable template.
diff --git a/test/CodeGenCXX/dllimport.cpp b/test/CodeGenCXX/dllimport.cpp
index e5b9f64dcca6..ddd390ad6f36 100644
--- a/test/CodeGenCXX/dllimport.cpp
+++ b/test/CodeGenCXX/dllimport.cpp
@@ -243,7 +243,7 @@ __declspec(dllimport) __attribute__((noinline)) inline void noinline() {}
USE(noinline)
// MSC2-NOT: @"\01?alwaysInline@@YAXXZ"()
-// GNU-DAG: define linkonce_odr void @_Z12alwaysInlinev() {{.*}} comdat {
+// GNU2-NOT: @_Z12alwaysInlinev()
__declspec(dllimport) __attribute__((always_inline)) inline void alwaysInline() {}
USE(alwaysInline)
diff --git a/test/CodeGenCXX/microsoft-abi-virtual-member-pointers.cpp b/test/CodeGenCXX/microsoft-abi-virtual-member-pointers.cpp
index b5db7c7881b5..937c4c0332e9 100644
--- a/test/CodeGenCXX/microsoft-abi-virtual-member-pointers.cpp
+++ b/test/CodeGenCXX/microsoft-abi-virtual-member-pointers.cpp
@@ -62,6 +62,7 @@ void f() {
// Thunk for calling the 1st virtual function in C with no parameters.
// CHECK32-LABEL: define linkonce_odr x86_thiscallcc void @"\01??_9C@@$BA@AE"(%struct.C* %this, ...)
+// CHECK32: #[[ATTR:[0-9]+]]
// CHECK32-NOT: unnamed_addr
// CHECK32: [[VPTR:%.*]] = getelementptr inbounds void (%struct.C*, ...)** %{{.*}}, i64 0
// CHECK32: [[CALLEE:%.*]] = load void (%struct.C*, ...)** [[VPTR]]
@@ -70,6 +71,7 @@ void f() {
// CHECK32: }
//
// CHECK64-LABEL: define linkonce_odr void @"\01??_9C@@$BA@AA"(%struct.C* %this, ...)
+// CHECK64: #[[ATTR:[0-9]+]]
// CHECK64-NOT: unnamed_addr
// CHECK64: [[VPTR:%.*]] = getelementptr inbounds void (%struct.C*, ...)** %{{.*}}, i64 0
// CHECK64: [[CALLEE:%.*]] = load void (%struct.C*, ...)** [[VPTR]]
@@ -79,6 +81,7 @@ void f() {
// Thunk for calling the 2nd virtual function in C, taking int and double as parameters, returning int.
// CHECK32-LABEL: define linkonce_odr x86_thiscallcc void @"\01??_9C@@$B3AE"(%struct.C* %this, ...)
+// CHECK32: #[[ATTR]]
// CHECK32: [[VPTR:%.*]] = getelementptr inbounds void (%struct.C*, ...)** %{{.*}}, i64 1
// CHECK32: [[CALLEE:%.*]] = load void (%struct.C*, ...)** [[VPTR]]
// CHECK32: musttail call x86_thiscallcc void (%struct.C*, ...)* [[CALLEE]](%struct.C* %{{.*}}, ...)
@@ -86,6 +89,7 @@ void f() {
// CHECK32: }
//
// CHECK64-LABEL: define linkonce_odr void @"\01??_9C@@$B7AA"(%struct.C* %this, ...)
+// CHECK64: #[[ATTR]]
// CHECK64: [[VPTR:%.*]] = getelementptr inbounds void (%struct.C*, ...)** %{{.*}}, i64 1
// CHECK64: [[CALLEE:%.*]] = load void (%struct.C*, ...)** [[VPTR]]
// CHECK64: musttail call void (%struct.C*, ...)* [[CALLEE]](%struct.C* %{{.*}}, ...)
@@ -94,6 +98,7 @@ void f() {
// Thunk for calling the 3rd virtual function in C, taking an int parameter, returning a struct.
// CHECK32-LABEL: define linkonce_odr x86_thiscallcc void @"\01??_9C@@$B7AE"(%struct.C* %this, ...)
+// CHECK32: #[[ATTR]]
// CHECK32: [[VPTR:%.*]] = getelementptr inbounds void (%struct.C*, ...)** %{{.*}}, i64 2
// CHECK32: [[CALLEE:%.*]] = load void (%struct.C*, ...)** [[VPTR]]
// CHECK32: musttail call x86_thiscallcc void (%struct.C*, ...)* [[CALLEE]](%struct.C* %{{.*}}, ...)
@@ -101,6 +106,7 @@ void f() {
// CHECK32: }
//
// CHECK64-LABEL: define linkonce_odr void @"\01??_9C@@$BBA@AA"(%struct.C* %this, ...)
+// CHECK64: #[[ATTR]]
// CHECK64: [[VPTR:%.*]] = getelementptr inbounds void (%struct.C*, ...)** %{{.*}}, i64 2
// CHECK64: [[CALLEE:%.*]] = load void (%struct.C*, ...)** [[VPTR]]
// CHECK64: musttail call void (%struct.C*, ...)* [[CALLEE]](%struct.C* %{{.*}}, ...)
@@ -109,6 +115,7 @@ void f() {
// Thunk for calling the virtual function in internal class D.
// CHECK32-LABEL: define internal x86_thiscallcc void @"\01??_9D@?A@@$BA@AE"(%"struct.(anonymous namespace)::D"* %this, ...)
+// CHECK32: #[[ATTR]]
// CHECK32: [[VPTR:%.*]] = getelementptr inbounds void (%"struct.(anonymous namespace)::D"*, ...)** %{{.*}}, i64 0
// CHECK32: [[CALLEE:%.*]] = load void (%"struct.(anonymous namespace)::D"*, ...)** [[VPTR]]
// CHECK32: musttail call x86_thiscallcc void (%"struct.(anonymous namespace)::D"*, ...)* [[CALLEE]](%"struct.(anonymous namespace)::D"* %{{.*}}, ...)
@@ -116,6 +123,7 @@ void f() {
// CHECK32: }
//
// CHECK64-LABEL: define internal void @"\01??_9D@?A@@$BA@AA"(%"struct.(anonymous namespace)::D"* %this, ...)
+// CHECK64: #[[ATTR]]
// CHECK64: [[VPTR:%.*]] = getelementptr inbounds void (%"struct.(anonymous namespace)::D"*, ...)** %{{.*}}, i64 0
// CHECK64: [[CALLEE:%.*]] = load void (%"struct.(anonymous namespace)::D"*, ...)** [[VPTR]]
// CHECK64: musttail call void (%"struct.(anonymous namespace)::D"*, ...)* [[CALLEE]](%"struct.(anonymous namespace)::D"* %{{.*}}, ...)
@@ -137,3 +145,5 @@ void f() {
// CHECK64: musttail call void (%struct.C*, ...)* [[CALLEE]](%struct.C* %{{.*}}, ...)
// CHECK64: ret void
// CHECK64: }
+
+// CHECK32: #[[ATTR]] = {{{.*}}"thunk"{{.*}}}
diff --git a/test/CodeGenCXX/ms-integer-static-data-members-exported.cpp b/test/CodeGenCXX/ms-integer-static-data-members-exported.cpp
index 78bb3a2b1afa..3f868f36ff66 100644
--- a/test/CodeGenCXX/ms-integer-static-data-members-exported.cpp
+++ b/test/CodeGenCXX/ms-integer-static-data-members-exported.cpp
@@ -17,6 +17,6 @@ struct __declspec(dllexport) S {
};
};
-// CHECK: @"\01?x@S@@2FB" = weak_odr dllexport constant i16 42, comdat, align 2
-// CHECK: @"\01?y@S@@2W4Enum@@B" = weak_odr dllexport constant i32 2, comdat, align 4
+// CHECK: @"\01?x@S@@2FB" = weak_odr dllexport constant i16 42, align 2
+// CHECK: @"\01?y@S@@2W4Enum@@B" = weak_odr dllexport constant i32 2, align 4
// CHECK-NOT: NonExported
diff --git a/test/CodeGenCXX/ms-integer-static-data-members.cpp b/test/CodeGenCXX/ms-integer-static-data-members.cpp
index 4965f7319187..b02b679d71a1 100644
--- a/test/CodeGenCXX/ms-integer-static-data-members.cpp
+++ b/test/CodeGenCXX/ms-integer-static-data-members.cpp
@@ -26,7 +26,7 @@ const int S::x = 5;
// Inline initialization.
-// CHECK-INLINE: @"\01?x@S@@2HB" = linkonce_odr constant i32 5, comdat, align 4
+// CHECK-INLINE: @"\01?x@S@@2HB" = linkonce_odr constant i32 5, align 4
// Out-of-line initialization.
// CHECK-OUTOFLINE: @"\01?x@S@@2HB" = constant i32 5, align 4
diff --git a/test/CodeGenCXX/split-stacks.cpp b/test/CodeGenCXX/split-stacks.cpp
index 76e1b79b8f1a..3e120344d6b6 100644
--- a/test/CodeGenCXX/split-stacks.cpp
+++ b/test/CodeGenCXX/split-stacks.cpp
@@ -18,7 +18,7 @@ int nosplit() {
// CHECK-SEGSTK: define i32 @_Z3foov() [[SS:#[0-9]+]] {
// CHECK-SEGSTK: define i32 @_Z7nosplitv() [[NSS1:#[0-9]+]] {
-// CHECK-SEGSTK: define linkonce_odr i32 @_Z8tnosplitIiEiv() [[NSS2:#[0-9]+]] comdat {
+// CHECK-SEGSTK: define linkonce_odr i32 @_Z8tnosplitIiEiv() [[NSS2:#[0-9]+]] {
// CHECK-SEGSTK-NOT: [[NSS1]] = { {{.*}} "split-stack" {{.*}} }
// CHECK-SEGSTK-NOT: [[NSS2]] = { {{.*}} "split-stack" {{.*}} }
// CHECK-SEGSTK: [[SS]] = { {{.*}} "split-stack" {{.*}} }
@@ -27,7 +27,7 @@ int nosplit() {
// CHECK-NOSEGSTK: define i32 @_Z3foov() [[NSS0:#[0-9]+]] {
// CHECK-NOSEGSTK: define i32 @_Z7nosplitv() [[NSS1:#[0-9]+]] {
-// CHECK-NOSEGSTK: define linkonce_odr i32 @_Z8tnosplitIiEiv() [[NSS2:#[0-9]+]] comdat {
+// CHECK-NOSEGSTK: define linkonce_odr i32 @_Z8tnosplitIiEiv() [[NSS2:#[0-9]+]] {
// CHECK-NOSEGSTK-NOT: [[NSS1]] = { {{.*}} "split-stack" {{.*}} }
// CHECK-NOSEGSTK-NOT: [[NSS2]] = { {{.*}} "split-stack" {{.*}} }
// CHECK-NOSEGSTK-NOT: [[NSS3]] = { {{.*}} "split-stack" {{.*}} }
diff --git a/test/CodeGenCXX/static-init.cpp b/test/CodeGenCXX/static-init.cpp
index 66ff5b3fbabd..a9debe3de765 100644
--- a/test/CodeGenCXX/static-init.cpp
+++ b/test/CodeGenCXX/static-init.cpp
@@ -7,8 +7,10 @@
// CHECK: @_ZZN5test31BC1EvE1u = internal global { i8, [3 x i8] } { i8 97, [3 x i8] undef }, align 4
// CHECK: @_ZZN5test1L6getvarEiE3var = internal constant [4 x i32] [i32 1, i32 0, i32 2, i32 4], align 16
-// CHECK: @_ZZ2h2vE1i = linkonce_odr global i32 0, comdat, align
-// CHECK: @_ZGVZ2h2vE1i = linkonce_odr global i64 0, comdat{{$}}
+// CHECK: @_ZZ2h2vE1i = linkonce_odr global i32 0
+// CHECK-NOT: comdat
+// CHECK: @_ZGVZ2h2vE1i = linkonce_odr global i64 0
+// CHECK-NOT: comdat
struct A {
A();
@@ -35,7 +37,8 @@ void h() {
static const int i = a();
}
-// CHECK: define linkonce_odr void @_Z2h2v() {{.*}} comdat {
+// CHECK: define linkonce_odr void @_Z2h2v()
+// CHECK-NOT: comdat
inline void h2() {
static int i = a();
}
diff --git a/test/Driver/aarch64-fixed-x18.c b/test/Driver/aarch64-fixed-x18.c
new file mode 100644
index 000000000000..35d0caf03217
--- /dev/null
+++ b/test/Driver/aarch64-fixed-x18.c
@@ -0,0 +1,4 @@
+// RUN: %clang -target aarch64-none-gnu -ffixed-x18 -### %s 2> %t
+// RUN: FileCheck --check-prefix=CHECK-FIXED-X18 < %t %s
+
+// CHECK-FIXED-X18: "-backend-option" "-aarch64-reserve-x18"
diff --git a/test/Driver/linux-ld.c b/test/Driver/linux-ld.c
index 1ce923b61ac3..871d226bc68c 100644
--- a/test/Driver/linux-ld.c
+++ b/test/Driver/linux-ld.c
@@ -1397,3 +1397,21 @@
// RUN: --sysroot=%S/Inputs/basic_linux_tree 2>& 1 \
// RUN: | FileCheck --check-prefix=CHECK-u %s
// CHECK-u: "-u" "asdf"
+
+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
+// RUN: --target=armeb-unknown-linux \
+// RUN: --gcc-toolchain="" \
+// RUN: --sysroot=%S/Inputs/basic_linux_tree \
+// RUN: | FileCheck --check-prefix=CHECK-ARMEB %s
+// CHECK-ARMEB: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"
+// CHECK-ARMEB-NOT: "--be8"
+// CHECK-ARMEB: "-m" "armebelf_linux_eabi"
+
+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
+// RUN: --target=armebv7-unknown-linux \
+// RUN: --gcc-toolchain="" \
+// RUN: --sysroot=%S/Inputs/basic_linux_tree \
+// RUN: | FileCheck --check-prefix=CHECK-ARMV7EB %s
+// CHECK-ARMV7EB: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"
+// CHECK-ARMV7EB: "--be8"
+// CHECK-ARMV7EB: "-m" "armebelf_linux_eabi"
diff --git a/test/Driver/netbsd.c b/test/Driver/netbsd.c
index eded7f52df7e..612935d9819e 100644
--- a/test/Driver/netbsd.c
+++ b/test/Driver/netbsd.c
@@ -19,6 +19,15 @@
// RUN: %clang -no-canonical-prefixes -target armeb--netbsd-eabi \
// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
// RUN: | FileCheck -check-prefix=ARMEB %s
+// RUN: %clang -no-canonical-prefixes -target armeb--netbsd-eabi -march=armv7 \
+// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
+// RUN: | FileCheck -check-prefix=ARMV7EB %s
+// RUN: %clang -no-canonical-prefixes -target armv7eb--netbsd-eabi \
+// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
+// RUN: | FileCheck -check-prefix=ARMV7EB %s
+// RUN: %clang -r -no-canonical-prefixes -target armeb--netbsd-eabi \
+// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
+// RUN: | FileCheck -check-prefix=ARMEB-R %s
// RUN: %clang -no-canonical-prefixes -target arm--netbsd \
// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
// RUN: | FileCheck -check-prefix=ARM-APCS %s
@@ -132,11 +141,17 @@
// ARMEB: clang{{.*}}" "-cc1" "-triple" "armebv5e--netbsd-eabi"
// ARMEB: as{{.*}}" "-mcpu=arm926ej-s" "-o"
// ARMEB: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so"
+// ARMEB-NOT: "--be8"
// ARMEB: "-m" "armelfb_nbsd_eabi"
// ARMEB: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o"
// ARMEB: "{{.*}}/usr/lib{{/|\\\\}}eabi{{/|\\\\}}crti.o"
// ARMEB: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc"
// ARMEB: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
+// ARMV7EB: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so"
+// ARMV7EB: "--be8" "-m" "armelfb_nbsd_eabi"
+
+// ARMEB-R: ld{{.*}}"
+// ARMEB-R-NOT: "--be8"
// ARM-APCS: clang{{.*}}" "-cc1" "-triple" "armv4--netbsd"
// ARM-APCS: as{{.*}}" "-mcpu=strongarm" "-o"
diff --git a/test/FixIt/typo-location-bugs.cpp b/test/FixIt/typo-location-bugs.cpp
index e44664d49adb..c7111a801066 100644
--- a/test/FixIt/typo-location-bugs.cpp
+++ b/test/FixIt/typo-location-bugs.cpp
@@ -34,3 +34,16 @@ void test(B b) {
b.f(1); // expected-error{{too many arguments to function call, expected 0, have 1; did you mean 'A::f'?}}
}
}
+
+namespace PR20626 {
+class A {
+public:
+ void Foo(){}; // expected-note{{'Foo' declared here}}
+};
+class B {};
+class C : public A, public B {
+ void Run() {
+ B::Foo(); // expected-error{{no member named 'Foo' in 'PR20626::B'; did you mean simply 'Foo'?}}
+ }
+};
+}
diff --git a/test/Modules/Inputs/System/usr/include/malloc.h b/test/Modules/Inputs/System/usr/include/malloc.h
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/test/Modules/Inputs/System/usr/include/malloc.h
diff --git a/test/Modules/Inputs/System/usr/include/stdlib.h b/test/Modules/Inputs/System/usr/include/stdlib.h
new file mode 100644
index 000000000000..a1bf1a8b2945
--- /dev/null
+++ b/test/Modules/Inputs/System/usr/include/stdlib.h
@@ -0,0 +1 @@
+typedef __SIZE_TYPE__ size_t;
diff --git a/test/Modules/compiler_builtins.m b/test/Modules/compiler_builtins.m
index 4b8cb5bdc5d5..f120bcfd9824 100644
--- a/test/Modules/compiler_builtins.m
+++ b/test/Modules/compiler_builtins.m
@@ -1,6 +1,6 @@
// RUN: rm -rf %t
-// RUN: %clang -fsyntax-only -fmodules -fmodules-cache-path=%t -D__need_wint_t %s -Xclang -verify
-// RUN: %clang -fsyntax-only -std=c99 -fmodules -fmodules-cache-path=%t -D__need_wint_t %s -Xclang -verify
+// RUN: %clang -fsyntax-only -fmodules -fmodules-cache-path=%t -D__need_wint_t %s -I%S/Inputs/System/usr/include -Xclang -verify
+// RUN: %clang -fsyntax-only -std=c99 -fmodules -fmodules-cache-path=%t -D__need_wint_t %s -I%S/Inputs/System/usr/include -Xclang -verify
// expected-no-diagnostics
#ifdef __SSE__
diff --git a/test/Preprocessor/init.c b/test/Preprocessor/init.c
index 4f321140c6b2..f3a1ba5d6781 100644
--- a/test/Preprocessor/init.c
+++ b/test/Preprocessor/init.c
@@ -2997,6 +2997,620 @@
// MIPS32EL:#define _mips 1
// MIPS32EL:#define mips 1
//
+// RUN: %clang_cc1 -E -dM -ffreestanding \
+// RUN: -triple=mips64-none-none -target-abi n32 < /dev/null \
+// RUN: | FileCheck -check-prefix MIPSN32BE %s
+//
+// MIPSN32BE: #define MIPSEB 1
+// MIPSN32BE: #define _ABIN32 2
+// MIPSN32BE: #define _ILP32 1
+// MIPSN32BE: #define _MIPSEB 1
+// MIPSN32BE: #define _MIPS_ARCH "mips64r2"
+// MIPSN32BE: #define _MIPS_ARCH_MIPS64R2 1
+// MIPSN32BE: #define _MIPS_FPSET 32
+// MIPSN32BE: #define _MIPS_ISA _MIPS_ISA_MIPS64
+// MIPSN32BE: #define _MIPS_SIM _ABIN32
+// MIPSN32BE: #define _MIPS_SZINT 32
+// MIPSN32BE: #define _MIPS_SZLONG 32
+// MIPSN32BE: #define _MIPS_SZPTR 32
+// MIPSN32BE: #define __ATOMIC_ACQUIRE 2
+// MIPSN32BE: #define __ATOMIC_ACQ_REL 4
+// MIPSN32BE: #define __ATOMIC_CONSUME 1
+// MIPSN32BE: #define __ATOMIC_RELAXED 0
+// MIPSN32BE: #define __ATOMIC_RELEASE 3
+// MIPSN32BE: #define __ATOMIC_SEQ_CST 5
+// MIPSN32BE: #define __BIG_ENDIAN__ 1
+// MIPSN32BE: #define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
+// MIPSN32BE: #define __CHAR16_TYPE__ unsigned short
+// MIPSN32BE: #define __CHAR32_TYPE__ unsigned int
+// MIPSN32BE: #define __CHAR_BIT__ 8
+// MIPSN32BE: #define __CONSTANT_CFSTRINGS__ 1
+// MIPSN32BE: #define __DBL_DENORM_MIN__ 4.9406564584124654e-324
+// MIPSN32BE: #define __DBL_DIG__ 15
+// MIPSN32BE: #define __DBL_EPSILON__ 2.2204460492503131e-16
+// MIPSN32BE: #define __DBL_HAS_DENORM__ 1
+// MIPSN32BE: #define __DBL_HAS_INFINITY__ 1
+// MIPSN32BE: #define __DBL_HAS_QUIET_NAN__ 1
+// MIPSN32BE: #define __DBL_MANT_DIG__ 53
+// MIPSN32BE: #define __DBL_MAX_10_EXP__ 308
+// MIPSN32BE: #define __DBL_MAX_EXP__ 1024
+// MIPSN32BE: #define __DBL_MAX__ 1.7976931348623157e+308
+// MIPSN32BE: #define __DBL_MIN_10_EXP__ (-307)
+// MIPSN32BE: #define __DBL_MIN_EXP__ (-1021)
+// MIPSN32BE: #define __DBL_MIN__ 2.2250738585072014e-308
+// MIPSN32BE: #define __DECIMAL_DIG__ 36
+// MIPSN32BE: #define __FINITE_MATH_ONLY__ 0
+// MIPSN32BE: #define __FLT_DENORM_MIN__ 1.40129846e-45F
+// MIPSN32BE: #define __FLT_DIG__ 6
+// MIPSN32BE: #define __FLT_EPSILON__ 1.19209290e-7F
+// MIPSN32BE: #define __FLT_EVAL_METHOD__ 0
+// MIPSN32BE: #define __FLT_HAS_DENORM__ 1
+// MIPSN32BE: #define __FLT_HAS_INFINITY__ 1
+// MIPSN32BE: #define __FLT_HAS_QUIET_NAN__ 1
+// MIPSN32BE: #define __FLT_MANT_DIG__ 24
+// MIPSN32BE: #define __FLT_MAX_10_EXP__ 38
+// MIPSN32BE: #define __FLT_MAX_EXP__ 128
+// MIPSN32BE: #define __FLT_MAX__ 3.40282347e+38F
+// MIPSN32BE: #define __FLT_MIN_10_EXP__ (-37)
+// MIPSN32BE: #define __FLT_MIN_EXP__ (-125)
+// MIPSN32BE: #define __FLT_MIN__ 1.17549435e-38F
+// MIPSN32BE: #define __FLT_RADIX__ 2
+// MIPSN32BE: #define __GCC_ATOMIC_BOOL_LOCK_FREE 2
+// MIPSN32BE: #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
+// MIPSN32BE: #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
+// MIPSN32BE: #define __GCC_ATOMIC_CHAR_LOCK_FREE 2
+// MIPSN32BE: #define __GCC_ATOMIC_INT_LOCK_FREE 2
+// MIPSN32BE: #define __GCC_ATOMIC_LLONG_LOCK_FREE 2
+// MIPSN32BE: #define __GCC_ATOMIC_LONG_LOCK_FREE 2
+// MIPSN32BE: #define __GCC_ATOMIC_POINTER_LOCK_FREE 2
+// MIPSN32BE: #define __GCC_ATOMIC_SHORT_LOCK_FREE 2
+// MIPSN32BE: #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
+// MIPSN32BE: #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
+// MIPSN32BE: #define __GNUC_MINOR__ 2
+// MIPSN32BE: #define __GNUC_PATCHLEVEL__ 1
+// MIPSN32BE: #define __GNUC_STDC_INLINE__ 1
+// MIPSN32BE: #define __GNUC__ 4
+// MIPSN32BE: #define __GXX_ABI_VERSION 1002
+// MIPSN32BE: #define __GXX_RTTI 1
+// MIPSN32BE: #define __ILP32__ 1
+// MIPSN32BE: #define __INT16_C_SUFFIX__
+// MIPSN32BE: #define __INT16_FMTd__ "hd"
+// MIPSN32BE: #define __INT16_FMTi__ "hi"
+// MIPSN32BE: #define __INT16_MAX__ 32767
+// MIPSN32BE: #define __INT16_TYPE__ short
+// MIPSN32BE: #define __INT32_C_SUFFIX__
+// MIPSN32BE: #define __INT32_FMTd__ "d"
+// MIPSN32BE: #define __INT32_FMTi__ "i"
+// MIPSN32BE: #define __INT32_MAX__ 2147483647
+// MIPSN32BE: #define __INT32_TYPE__ int
+// MIPSN32BE: #define __INT64_C_SUFFIX__ LL
+// MIPSN32BE: #define __INT64_FMTd__ "lld"
+// MIPSN32BE: #define __INT64_FMTi__ "lli"
+// MIPSN32BE: #define __INT64_MAX__ 9223372036854775807LL
+// MIPSN32BE: #define __INT64_TYPE__ long long int
+// MIPSN32BE: #define __INT8_C_SUFFIX__
+// MIPSN32BE: #define __INT8_FMTd__ "hhd"
+// MIPSN32BE: #define __INT8_FMTi__ "hhi"
+// MIPSN32BE: #define __INT8_MAX__ 127
+// MIPSN32BE: #define __INT8_TYPE__ signed char
+// MIPSN32BE: #define __INTMAX_C_SUFFIX__ LL
+// MIPSN32BE: #define __INTMAX_FMTd__ "lld"
+// MIPSN32BE: #define __INTMAX_FMTi__ "lli"
+// MIPSN32BE: #define __INTMAX_MAX__ 9223372036854775807LL
+// MIPSN32BE: #define __INTMAX_TYPE__ long long int
+// MIPSN32BE: #define __INTMAX_WIDTH__ 64
+// MIPSN32BE: #define __INTPTR_FMTd__ "ld"
+// MIPSN32BE: #define __INTPTR_FMTi__ "li"
+// MIPSN32BE: #define __INTPTR_MAX__ 2147483647L
+// MIPSN32BE: #define __INTPTR_TYPE__ long int
+// MIPSN32BE: #define __INTPTR_WIDTH__ 32
+// MIPSN32BE: #define __INT_FAST16_FMTd__ "hd"
+// MIPSN32BE: #define __INT_FAST16_FMTi__ "hi"
+// MIPSN32BE: #define __INT_FAST16_MAX__ 32767
+// MIPSN32BE: #define __INT_FAST16_TYPE__ short
+// MIPSN32BE: #define __INT_FAST32_FMTd__ "d"
+// MIPSN32BE: #define __INT_FAST32_FMTi__ "i"
+// MIPSN32BE: #define __INT_FAST32_MAX__ 2147483647
+// MIPSN32BE: #define __INT_FAST32_TYPE__ int
+// MIPSN32BE: #define __INT_FAST64_FMTd__ "lld"
+// MIPSN32BE: #define __INT_FAST64_FMTi__ "lli"
+// MIPSN32BE: #define __INT_FAST64_MAX__ 9223372036854775807LL
+// MIPSN32BE: #define __INT_FAST64_TYPE__ long long int
+// MIPSN32BE: #define __INT_FAST8_FMTd__ "hhd"
+// MIPSN32BE: #define __INT_FAST8_FMTi__ "hhi"
+// MIPSN32BE: #define __INT_FAST8_MAX__ 127
+// MIPSN32BE: #define __INT_FAST8_TYPE__ signed char
+// MIPSN32BE: #define __INT_LEAST16_FMTd__ "hd"
+// MIPSN32BE: #define __INT_LEAST16_FMTi__ "hi"
+// MIPSN32BE: #define __INT_LEAST16_MAX__ 32767
+// MIPSN32BE: #define __INT_LEAST16_TYPE__ short
+// MIPSN32BE: #define __INT_LEAST32_FMTd__ "d"
+// MIPSN32BE: #define __INT_LEAST32_FMTi__ "i"
+// MIPSN32BE: #define __INT_LEAST32_MAX__ 2147483647
+// MIPSN32BE: #define __INT_LEAST32_TYPE__ int
+// MIPSN32BE: #define __INT_LEAST64_FMTd__ "lld"
+// MIPSN32BE: #define __INT_LEAST64_FMTi__ "lli"
+// MIPSN32BE: #define __INT_LEAST64_MAX__ 9223372036854775807LL
+// MIPSN32BE: #define __INT_LEAST64_TYPE__ long long int
+// MIPSN32BE: #define __INT_LEAST8_FMTd__ "hhd"
+// MIPSN32BE: #define __INT_LEAST8_FMTi__ "hhi"
+// MIPSN32BE: #define __INT_LEAST8_MAX__ 127
+// MIPSN32BE: #define __INT_LEAST8_TYPE__ signed char
+// MIPSN32BE: #define __INT_MAX__ 2147483647
+// MIPSN32BE: #define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
+// MIPSN32BE: #define __LDBL_DIG__ 33
+// MIPSN32BE: #define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
+// MIPSN32BE: #define __LDBL_HAS_DENORM__ 1
+// MIPSN32BE: #define __LDBL_HAS_INFINITY__ 1
+// MIPSN32BE: #define __LDBL_HAS_QUIET_NAN__ 1
+// MIPSN32BE: #define __LDBL_MANT_DIG__ 113
+// MIPSN32BE: #define __LDBL_MAX_10_EXP__ 4932
+// MIPSN32BE: #define __LDBL_MAX_EXP__ 16384
+// MIPSN32BE: #define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
+// MIPSN32BE: #define __LDBL_MIN_10_EXP__ (-4931)
+// MIPSN32BE: #define __LDBL_MIN_EXP__ (-16381)
+// MIPSN32BE: #define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
+// MIPSN32BE: #define __LONG_LONG_MAX__ 9223372036854775807LL
+// MIPSN32BE: #define __LONG_MAX__ 2147483647L
+// MIPSN32BE: #define __MIPSEB 1
+// MIPSN32BE: #define __MIPSEB__ 1
+// MIPSN32BE: #define __NO_INLINE__ 1
+// MIPSN32BE: #define __ORDER_BIG_ENDIAN__ 4321
+// MIPSN32BE: #define __ORDER_LITTLE_ENDIAN__ 1234
+// MIPSN32BE: #define __ORDER_PDP_ENDIAN__ 3412
+// MIPSN32BE: #define __POINTER_WIDTH__ 32
+// MIPSN32BE: #define __PRAGMA_REDEFINE_EXTNAME 1
+// MIPSN32BE: #define __PTRDIFF_FMTd__ "d"
+// MIPSN32BE: #define __PTRDIFF_FMTi__ "i"
+// MIPSN32BE: #define __PTRDIFF_MAX__ 2147483647
+// MIPSN32BE: #define __PTRDIFF_TYPE__ int
+// MIPSN32BE: #define __PTRDIFF_WIDTH__ 32
+// MIPSN32BE: #define __REGISTER_PREFIX__
+// MIPSN32BE: #define __SCHAR_MAX__ 127
+// MIPSN32BE: #define __SHRT_MAX__ 32767
+// MIPSN32BE: #define __SIG_ATOMIC_MAX__ 2147483647
+// MIPSN32BE: #define __SIG_ATOMIC_WIDTH__ 32
+// MIPSN32BE: #define __SIZEOF_DOUBLE__ 8
+// MIPSN32BE: #define __SIZEOF_FLOAT__ 4
+// MIPSN32BE: #define __SIZEOF_INT__ 4
+// MIPSN32BE: #define __SIZEOF_LONG_DOUBLE__ 16
+// MIPSN32BE: #define __SIZEOF_LONG_LONG__ 8
+// MIPSN32BE: #define __SIZEOF_LONG__ 4
+// MIPSN32BE: #define __SIZEOF_POINTER__ 4
+// MIPSN32BE: #define __SIZEOF_PTRDIFF_T__ 4
+// MIPSN32BE: #define __SIZEOF_SHORT__ 2
+// MIPSN32BE: #define __SIZEOF_SIZE_T__ 4
+// MIPSN32BE: #define __SIZEOF_WCHAR_T__ 4
+// MIPSN32BE: #define __SIZEOF_WINT_T__ 4
+// MIPSN32BE: #define __SIZE_FMTX__ "X"
+// MIPSN32BE: #define __SIZE_FMTo__ "o"
+// MIPSN32BE: #define __SIZE_FMTu__ "u"
+// MIPSN32BE: #define __SIZE_FMTx__ "x"
+// MIPSN32BE: #define __SIZE_MAX__ 4294967295U
+// MIPSN32BE: #define __SIZE_TYPE__ unsigned int
+// MIPSN32BE: #define __SIZE_WIDTH__ 32
+// MIPSN32BE: #define __STDC_HOSTED__ 0
+// MIPSN32BE: #define __STDC_UTF_16__ 1
+// MIPSN32BE: #define __STDC_UTF_32__ 1
+// MIPSN32BE: #define __STDC_VERSION__ 201112L
+// MIPSN32BE: #define __STDC__ 1
+// MIPSN32BE: #define __UINT16_C_SUFFIX__
+// MIPSN32BE: #define __UINT16_FMTX__ "hX"
+// MIPSN32BE: #define __UINT16_FMTo__ "ho"
+// MIPSN32BE: #define __UINT16_FMTu__ "hu"
+// MIPSN32BE: #define __UINT16_FMTx__ "hx"
+// MIPSN32BE: #define __UINT16_MAX__ 65535
+// MIPSN32BE: #define __UINT16_TYPE__ unsigned short
+// MIPSN32BE: #define __UINT32_C_SUFFIX__ U
+// MIPSN32BE: #define __UINT32_FMTX__ "X"
+// MIPSN32BE: #define __UINT32_FMTo__ "o"
+// MIPSN32BE: #define __UINT32_FMTu__ "u"
+// MIPSN32BE: #define __UINT32_FMTx__ "x"
+// MIPSN32BE: #define __UINT32_MAX__ 4294967295U
+// MIPSN32BE: #define __UINT32_TYPE__ unsigned int
+// MIPSN32BE: #define __UINT64_C_SUFFIX__ ULL
+// MIPSN32BE: #define __UINT64_FMTX__ "llX"
+// MIPSN32BE: #define __UINT64_FMTo__ "llo"
+// MIPSN32BE: #define __UINT64_FMTu__ "llu"
+// MIPSN32BE: #define __UINT64_FMTx__ "llx"
+// MIPSN32BE: #define __UINT64_MAX__ 18446744073709551615ULL
+// MIPSN32BE: #define __UINT64_TYPE__ long long unsigned int
+// MIPSN32BE: #define __UINT8_C_SUFFIX__
+// MIPSN32BE: #define __UINT8_FMTX__ "hhX"
+// MIPSN32BE: #define __UINT8_FMTo__ "hho"
+// MIPSN32BE: #define __UINT8_FMTu__ "hhu"
+// MIPSN32BE: #define __UINT8_FMTx__ "hhx"
+// MIPSN32BE: #define __UINT8_MAX__ 255
+// MIPSN32BE: #define __UINT8_TYPE__ unsigned char
+// MIPSN32BE: #define __UINTMAX_C_SUFFIX__ ULL
+// MIPSN32BE: #define __UINTMAX_FMTX__ "llX"
+// MIPSN32BE: #define __UINTMAX_FMTo__ "llo"
+// MIPSN32BE: #define __UINTMAX_FMTu__ "llu"
+// MIPSN32BE: #define __UINTMAX_FMTx__ "llx"
+// MIPSN32BE: #define __UINTMAX_MAX__ 18446744073709551615ULL
+// MIPSN32BE: #define __UINTMAX_TYPE__ long long unsigned int
+// MIPSN32BE: #define __UINTMAX_WIDTH__ 64
+// MIPSN32BE: #define __UINTPTR_FMTX__ "lX"
+// MIPSN32BE: #define __UINTPTR_FMTo__ "lo"
+// MIPSN32BE: #define __UINTPTR_FMTu__ "lu"
+// MIPSN32BE: #define __UINTPTR_FMTx__ "lx"
+// MIPSN32BE: #define __UINTPTR_MAX__ 4294967295UL
+// MIPSN32BE: #define __UINTPTR_TYPE__ long unsigned int
+// MIPSN32BE: #define __UINTPTR_WIDTH__ 32
+// MIPSN32BE: #define __UINT_FAST16_FMTX__ "hX"
+// MIPSN32BE: #define __UINT_FAST16_FMTo__ "ho"
+// MIPSN32BE: #define __UINT_FAST16_FMTu__ "hu"
+// MIPSN32BE: #define __UINT_FAST16_FMTx__ "hx"
+// MIPSN32BE: #define __UINT_FAST16_MAX__ 65535
+// MIPSN32BE: #define __UINT_FAST16_TYPE__ unsigned short
+// MIPSN32BE: #define __UINT_FAST32_FMTX__ "X"
+// MIPSN32BE: #define __UINT_FAST32_FMTo__ "o"
+// MIPSN32BE: #define __UINT_FAST32_FMTu__ "u"
+// MIPSN32BE: #define __UINT_FAST32_FMTx__ "x"
+// MIPSN32BE: #define __UINT_FAST32_MAX__ 4294967295U
+// MIPSN32BE: #define __UINT_FAST32_TYPE__ unsigned int
+// MIPSN32BE: #define __UINT_FAST64_FMTX__ "llX"
+// MIPSN32BE: #define __UINT_FAST64_FMTo__ "llo"
+// MIPSN32BE: #define __UINT_FAST64_FMTu__ "llu"
+// MIPSN32BE: #define __UINT_FAST64_FMTx__ "llx"
+// MIPSN32BE: #define __UINT_FAST64_MAX__ 18446744073709551615ULL
+// MIPSN32BE: #define __UINT_FAST64_TYPE__ long long unsigned int
+// MIPSN32BE: #define __UINT_FAST8_FMTX__ "hhX"
+// MIPSN32BE: #define __UINT_FAST8_FMTo__ "hho"
+// MIPSN32BE: #define __UINT_FAST8_FMTu__ "hhu"
+// MIPSN32BE: #define __UINT_FAST8_FMTx__ "hhx"
+// MIPSN32BE: #define __UINT_FAST8_MAX__ 255
+// MIPSN32BE: #define __UINT_FAST8_TYPE__ unsigned char
+// MIPSN32BE: #define __UINT_LEAST16_FMTX__ "hX"
+// MIPSN32BE: #define __UINT_LEAST16_FMTo__ "ho"
+// MIPSN32BE: #define __UINT_LEAST16_FMTu__ "hu"
+// MIPSN32BE: #define __UINT_LEAST16_FMTx__ "hx"
+// MIPSN32BE: #define __UINT_LEAST16_MAX__ 65535
+// MIPSN32BE: #define __UINT_LEAST16_TYPE__ unsigned short
+// MIPSN32BE: #define __UINT_LEAST32_FMTX__ "X"
+// MIPSN32BE: #define __UINT_LEAST32_FMTo__ "o"
+// MIPSN32BE: #define __UINT_LEAST32_FMTu__ "u"
+// MIPSN32BE: #define __UINT_LEAST32_FMTx__ "x"
+// MIPSN32BE: #define __UINT_LEAST32_MAX__ 4294967295U
+// MIPSN32BE: #define __UINT_LEAST32_TYPE__ unsigned int
+// MIPSN32BE: #define __UINT_LEAST64_FMTX__ "llX"
+// MIPSN32BE: #define __UINT_LEAST64_FMTo__ "llo"
+// MIPSN32BE: #define __UINT_LEAST64_FMTu__ "llu"
+// MIPSN32BE: #define __UINT_LEAST64_FMTx__ "llx"
+// MIPSN32BE: #define __UINT_LEAST64_MAX__ 18446744073709551615ULL
+// MIPSN32BE: #define __UINT_LEAST64_TYPE__ long long unsigned int
+// MIPSN32BE: #define __UINT_LEAST8_FMTX__ "hhX"
+// MIPSN32BE: #define __UINT_LEAST8_FMTo__ "hho"
+// MIPSN32BE: #define __UINT_LEAST8_FMTu__ "hhu"
+// MIPSN32BE: #define __UINT_LEAST8_FMTx__ "hhx"
+// MIPSN32BE: #define __UINT_LEAST8_MAX__ 255
+// MIPSN32BE: #define __UINT_LEAST8_TYPE__ unsigned char
+// MIPSN32BE: #define __USER_LABEL_PREFIX__ _
+// MIPSN32BE: #define __WCHAR_MAX__ 2147483647
+// MIPSN32BE: #define __WCHAR_TYPE__ int
+// MIPSN32BE: #define __WCHAR_WIDTH__ 32
+// MIPSN32BE: #define __WINT_TYPE__ int
+// MIPSN32BE: #define __WINT_WIDTH__ 32
+// MIPSN32BE: #define __clang__ 1
+// MIPSN32BE: #define __llvm__ 1
+// MIPSN32BE: #define __mips 64
+// MIPSN32BE: #define __mips64 1
+// MIPSN32BE: #define __mips64__ 1
+// MIPSN32BE: #define __mips__ 1
+// MIPSN32BE: #define __mips_fpr 64
+// MIPSN32BE: #define __mips_hard_float 1
+// MIPSN32BE: #define __mips_isa_rev 2
+// MIPSN32BE: #define __mips_n32 1
+// MIPSN32BE: #define _mips 1
+// MIPSN32BE: #define mips 1
+//
+// RUN: %clang_cc1 -E -dM -ffreestanding \
+// RUN: -triple=mips64el-none-none -target-abi n32 < /dev/null \
+// RUN: | FileCheck -check-prefix MIPSN32EL %s
+//
+// MIPSN32EL: #define MIPSEL 1
+// MIPSN32EL: #define _ABIN32 2
+// MIPSN32EL: #define _ILP32 1
+// MIPSN32EL: #define _MIPSEL 1
+// MIPSN32EL: #define _MIPS_ARCH "mips64r2"
+// MIPSN32EL: #define _MIPS_ARCH_MIPS64R2 1
+// MIPSN32EL: #define _MIPS_FPSET 32
+// MIPSN32EL: #define _MIPS_ISA _MIPS_ISA_MIPS64
+// MIPSN32EL: #define _MIPS_SIM _ABIN32
+// MIPSN32EL: #define _MIPS_SZINT 32
+// MIPSN32EL: #define _MIPS_SZLONG 32
+// MIPSN32EL: #define _MIPS_SZPTR 32
+// MIPSN32EL: #define __ATOMIC_ACQUIRE 2
+// MIPSN32EL: #define __ATOMIC_ACQ_REL 4
+// MIPSN32EL: #define __ATOMIC_CONSUME 1
+// MIPSN32EL: #define __ATOMIC_RELAXED 0
+// MIPSN32EL: #define __ATOMIC_RELEASE 3
+// MIPSN32EL: #define __ATOMIC_SEQ_CST 5
+// MIPSN32EL: #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
+// MIPSN32EL: #define __CHAR16_TYPE__ unsigned short
+// MIPSN32EL: #define __CHAR32_TYPE__ unsigned int
+// MIPSN32EL: #define __CHAR_BIT__ 8
+// MIPSN32EL: #define __CONSTANT_CFSTRINGS__ 1
+// MIPSN32EL: #define __DBL_DENORM_MIN__ 4.9406564584124654e-324
+// MIPSN32EL: #define __DBL_DIG__ 15
+// MIPSN32EL: #define __DBL_EPSILON__ 2.2204460492503131e-16
+// MIPSN32EL: #define __DBL_HAS_DENORM__ 1
+// MIPSN32EL: #define __DBL_HAS_INFINITY__ 1
+// MIPSN32EL: #define __DBL_HAS_QUIET_NAN__ 1
+// MIPSN32EL: #define __DBL_MANT_DIG__ 53
+// MIPSN32EL: #define __DBL_MAX_10_EXP__ 308
+// MIPSN32EL: #define __DBL_MAX_EXP__ 1024
+// MIPSN32EL: #define __DBL_MAX__ 1.7976931348623157e+308
+// MIPSN32EL: #define __DBL_MIN_10_EXP__ (-307)
+// MIPSN32EL: #define __DBL_MIN_EXP__ (-1021)
+// MIPSN32EL: #define __DBL_MIN__ 2.2250738585072014e-308
+// MIPSN32EL: #define __DECIMAL_DIG__ 36
+// MIPSN32EL: #define __FINITE_MATH_ONLY__ 0
+// MIPSN32EL: #define __FLT_DENORM_MIN__ 1.40129846e-45F
+// MIPSN32EL: #define __FLT_DIG__ 6
+// MIPSN32EL: #define __FLT_EPSILON__ 1.19209290e-7F
+// MIPSN32EL: #define __FLT_EVAL_METHOD__ 0
+// MIPSN32EL: #define __FLT_HAS_DENORM__ 1
+// MIPSN32EL: #define __FLT_HAS_INFINITY__ 1
+// MIPSN32EL: #define __FLT_HAS_QUIET_NAN__ 1
+// MIPSN32EL: #define __FLT_MANT_DIG__ 24
+// MIPSN32EL: #define __FLT_MAX_10_EXP__ 38
+// MIPSN32EL: #define __FLT_MAX_EXP__ 128
+// MIPSN32EL: #define __FLT_MAX__ 3.40282347e+38F
+// MIPSN32EL: #define __FLT_MIN_10_EXP__ (-37)
+// MIPSN32EL: #define __FLT_MIN_EXP__ (-125)
+// MIPSN32EL: #define __FLT_MIN__ 1.17549435e-38F
+// MIPSN32EL: #define __FLT_RADIX__ 2
+// MIPSN32EL: #define __GCC_ATOMIC_BOOL_LOCK_FREE 2
+// MIPSN32EL: #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
+// MIPSN32EL: #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
+// MIPSN32EL: #define __GCC_ATOMIC_CHAR_LOCK_FREE 2
+// MIPSN32EL: #define __GCC_ATOMIC_INT_LOCK_FREE 2
+// MIPSN32EL: #define __GCC_ATOMIC_LLONG_LOCK_FREE 2
+// MIPSN32EL: #define __GCC_ATOMIC_LONG_LOCK_FREE 2
+// MIPSN32EL: #define __GCC_ATOMIC_POINTER_LOCK_FREE 2
+// MIPSN32EL: #define __GCC_ATOMIC_SHORT_LOCK_FREE 2
+// MIPSN32EL: #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
+// MIPSN32EL: #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
+// MIPSN32EL: #define __GNUC_MINOR__ 2
+// MIPSN32EL: #define __GNUC_PATCHLEVEL__ 1
+// MIPSN32EL: #define __GNUC_STDC_INLINE__ 1
+// MIPSN32EL: #define __GNUC__ 4
+// MIPSN32EL: #define __GXX_ABI_VERSION 1002
+// MIPSN32EL: #define __GXX_RTTI 1
+// MIPSN32EL: #define __ILP32__ 1
+// MIPSN32EL: #define __INT16_C_SUFFIX__
+// MIPSN32EL: #define __INT16_FMTd__ "hd"
+// MIPSN32EL: #define __INT16_FMTi__ "hi"
+// MIPSN32EL: #define __INT16_MAX__ 32767
+// MIPSN32EL: #define __INT16_TYPE__ short
+// MIPSN32EL: #define __INT32_C_SUFFIX__
+// MIPSN32EL: #define __INT32_FMTd__ "d"
+// MIPSN32EL: #define __INT32_FMTi__ "i"
+// MIPSN32EL: #define __INT32_MAX__ 2147483647
+// MIPSN32EL: #define __INT32_TYPE__ int
+// MIPSN32EL: #define __INT64_C_SUFFIX__ LL
+// MIPSN32EL: #define __INT64_FMTd__ "lld"
+// MIPSN32EL: #define __INT64_FMTi__ "lli"
+// MIPSN32EL: #define __INT64_MAX__ 9223372036854775807LL
+// MIPSN32EL: #define __INT64_TYPE__ long long int
+// MIPSN32EL: #define __INT8_C_SUFFIX__
+// MIPSN32EL: #define __INT8_FMTd__ "hhd"
+// MIPSN32EL: #define __INT8_FMTi__ "hhi"
+// MIPSN32EL: #define __INT8_MAX__ 127
+// MIPSN32EL: #define __INT8_TYPE__ signed char
+// MIPSN32EL: #define __INTMAX_C_SUFFIX__ LL
+// MIPSN32EL: #define __INTMAX_FMTd__ "lld"
+// MIPSN32EL: #define __INTMAX_FMTi__ "lli"
+// MIPSN32EL: #define __INTMAX_MAX__ 9223372036854775807LL
+// MIPSN32EL: #define __INTMAX_TYPE__ long long int
+// MIPSN32EL: #define __INTMAX_WIDTH__ 64
+// MIPSN32EL: #define __INTPTR_FMTd__ "ld"
+// MIPSN32EL: #define __INTPTR_FMTi__ "li"
+// MIPSN32EL: #define __INTPTR_MAX__ 2147483647L
+// MIPSN32EL: #define __INTPTR_TYPE__ long int
+// MIPSN32EL: #define __INTPTR_WIDTH__ 32
+// MIPSN32EL: #define __INT_FAST16_FMTd__ "hd"
+// MIPSN32EL: #define __INT_FAST16_FMTi__ "hi"
+// MIPSN32EL: #define __INT_FAST16_MAX__ 32767
+// MIPSN32EL: #define __INT_FAST16_TYPE__ short
+// MIPSN32EL: #define __INT_FAST32_FMTd__ "d"
+// MIPSN32EL: #define __INT_FAST32_FMTi__ "i"
+// MIPSN32EL: #define __INT_FAST32_MAX__ 2147483647
+// MIPSN32EL: #define __INT_FAST32_TYPE__ int
+// MIPSN32EL: #define __INT_FAST64_FMTd__ "lld"
+// MIPSN32EL: #define __INT_FAST64_FMTi__ "lli"
+// MIPSN32EL: #define __INT_FAST64_MAX__ 9223372036854775807LL
+// MIPSN32EL: #define __INT_FAST64_TYPE__ long long int
+// MIPSN32EL: #define __INT_FAST8_FMTd__ "hhd"
+// MIPSN32EL: #define __INT_FAST8_FMTi__ "hhi"
+// MIPSN32EL: #define __INT_FAST8_MAX__ 127
+// MIPSN32EL: #define __INT_FAST8_TYPE__ signed char
+// MIPSN32EL: #define __INT_LEAST16_FMTd__ "hd"
+// MIPSN32EL: #define __INT_LEAST16_FMTi__ "hi"
+// MIPSN32EL: #define __INT_LEAST16_MAX__ 32767
+// MIPSN32EL: #define __INT_LEAST16_TYPE__ short
+// MIPSN32EL: #define __INT_LEAST32_FMTd__ "d"
+// MIPSN32EL: #define __INT_LEAST32_FMTi__ "i"
+// MIPSN32EL: #define __INT_LEAST32_MAX__ 2147483647
+// MIPSN32EL: #define __INT_LEAST32_TYPE__ int
+// MIPSN32EL: #define __INT_LEAST64_FMTd__ "lld"
+// MIPSN32EL: #define __INT_LEAST64_FMTi__ "lli"
+// MIPSN32EL: #define __INT_LEAST64_MAX__ 9223372036854775807LL
+// MIPSN32EL: #define __INT_LEAST64_TYPE__ long long int
+// MIPSN32EL: #define __INT_LEAST8_FMTd__ "hhd"
+// MIPSN32EL: #define __INT_LEAST8_FMTi__ "hhi"
+// MIPSN32EL: #define __INT_LEAST8_MAX__ 127
+// MIPSN32EL: #define __INT_LEAST8_TYPE__ signed char
+// MIPSN32EL: #define __INT_MAX__ 2147483647
+// MIPSN32EL: #define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
+// MIPSN32EL: #define __LDBL_DIG__ 33
+// MIPSN32EL: #define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
+// MIPSN32EL: #define __LDBL_HAS_DENORM__ 1
+// MIPSN32EL: #define __LDBL_HAS_INFINITY__ 1
+// MIPSN32EL: #define __LDBL_HAS_QUIET_NAN__ 1
+// MIPSN32EL: #define __LDBL_MANT_DIG__ 113
+// MIPSN32EL: #define __LDBL_MAX_10_EXP__ 4932
+// MIPSN32EL: #define __LDBL_MAX_EXP__ 16384
+// MIPSN32EL: #define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
+// MIPSN32EL: #define __LDBL_MIN_10_EXP__ (-4931)
+// MIPSN32EL: #define __LDBL_MIN_EXP__ (-16381)
+// MIPSN32EL: #define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
+// MIPSN32EL: #define __LITTLE_ENDIAN__ 1
+// MIPSN32EL: #define __LONG_LONG_MAX__ 9223372036854775807LL
+// MIPSN32EL: #define __LONG_MAX__ 2147483647L
+// MIPSN32EL: #define __MIPSEL 1
+// MIPSN32EL: #define __MIPSEL__ 1
+// MIPSN32EL: #define __NO_INLINE__ 1
+// MIPSN32EL: #define __ORDER_BIG_ENDIAN__ 4321
+// MIPSN32EL: #define __ORDER_LITTLE_ENDIAN__ 1234
+// MIPSN32EL: #define __ORDER_PDP_ENDIAN__ 3412
+// MIPSN32EL: #define __POINTER_WIDTH__ 32
+// MIPSN32EL: #define __PRAGMA_REDEFINE_EXTNAME 1
+// MIPSN32EL: #define __PTRDIFF_FMTd__ "d"
+// MIPSN32EL: #define __PTRDIFF_FMTi__ "i"
+// MIPSN32EL: #define __PTRDIFF_MAX__ 2147483647
+// MIPSN32EL: #define __PTRDIFF_TYPE__ int
+// MIPSN32EL: #define __PTRDIFF_WIDTH__ 32
+// MIPSN32EL: #define __REGISTER_PREFIX__
+// MIPSN32EL: #define __SCHAR_MAX__ 127
+// MIPSN32EL: #define __SHRT_MAX__ 32767
+// MIPSN32EL: #define __SIG_ATOMIC_MAX__ 2147483647
+// MIPSN32EL: #define __SIG_ATOMIC_WIDTH__ 32
+// MIPSN32EL: #define __SIZEOF_DOUBLE__ 8
+// MIPSN32EL: #define __SIZEOF_FLOAT__ 4
+// MIPSN32EL: #define __SIZEOF_INT__ 4
+// MIPSN32EL: #define __SIZEOF_LONG_DOUBLE__ 16
+// MIPSN32EL: #define __SIZEOF_LONG_LONG__ 8
+// MIPSN32EL: #define __SIZEOF_LONG__ 4
+// MIPSN32EL: #define __SIZEOF_POINTER__ 4
+// MIPSN32EL: #define __SIZEOF_PTRDIFF_T__ 4
+// MIPSN32EL: #define __SIZEOF_SHORT__ 2
+// MIPSN32EL: #define __SIZEOF_SIZE_T__ 4
+// MIPSN32EL: #define __SIZEOF_WCHAR_T__ 4
+// MIPSN32EL: #define __SIZEOF_WINT_T__ 4
+// MIPSN32EL: #define __SIZE_FMTX__ "X"
+// MIPSN32EL: #define __SIZE_FMTo__ "o"
+// MIPSN32EL: #define __SIZE_FMTu__ "u"
+// MIPSN32EL: #define __SIZE_FMTx__ "x"
+// MIPSN32EL: #define __SIZE_MAX__ 4294967295U
+// MIPSN32EL: #define __SIZE_TYPE__ unsigned int
+// MIPSN32EL: #define __SIZE_WIDTH__ 32
+// MIPSN32EL: #define __STDC_HOSTED__ 0
+// MIPSN32EL: #define __STDC_UTF_16__ 1
+// MIPSN32EL: #define __STDC_UTF_32__ 1
+// MIPSN32EL: #define __STDC_VERSION__ 201112L
+// MIPSN32EL: #define __STDC__ 1
+// MIPSN32EL: #define __UINT16_C_SUFFIX__
+// MIPSN32EL: #define __UINT16_FMTX__ "hX"
+// MIPSN32EL: #define __UINT16_FMTo__ "ho"
+// MIPSN32EL: #define __UINT16_FMTu__ "hu"
+// MIPSN32EL: #define __UINT16_FMTx__ "hx"
+// MIPSN32EL: #define __UINT16_MAX__ 65535
+// MIPSN32EL: #define __UINT16_TYPE__ unsigned short
+// MIPSN32EL: #define __UINT32_C_SUFFIX__ U
+// MIPSN32EL: #define __UINT32_FMTX__ "X"
+// MIPSN32EL: #define __UINT32_FMTo__ "o"
+// MIPSN32EL: #define __UINT32_FMTu__ "u"
+// MIPSN32EL: #define __UINT32_FMTx__ "x"
+// MIPSN32EL: #define __UINT32_MAX__ 4294967295U
+// MIPSN32EL: #define __UINT32_TYPE__ unsigned int
+// MIPSN32EL: #define __UINT64_C_SUFFIX__ ULL
+// MIPSN32EL: #define __UINT64_FMTX__ "llX"
+// MIPSN32EL: #define __UINT64_FMTo__ "llo"
+// MIPSN32EL: #define __UINT64_FMTu__ "llu"
+// MIPSN32EL: #define __UINT64_FMTx__ "llx"
+// MIPSN32EL: #define __UINT64_MAX__ 18446744073709551615ULL
+// MIPSN32EL: #define __UINT64_TYPE__ long long unsigned int
+// MIPSN32EL: #define __UINT8_C_SUFFIX__
+// MIPSN32EL: #define __UINT8_FMTX__ "hhX"
+// MIPSN32EL: #define __UINT8_FMTo__ "hho"
+// MIPSN32EL: #define __UINT8_FMTu__ "hhu"
+// MIPSN32EL: #define __UINT8_FMTx__ "hhx"
+// MIPSN32EL: #define __UINT8_MAX__ 255
+// MIPSN32EL: #define __UINT8_TYPE__ unsigned char
+// MIPSN32EL: #define __UINTMAX_C_SUFFIX__ ULL
+// MIPSN32EL: #define __UINTMAX_FMTX__ "llX"
+// MIPSN32EL: #define __UINTMAX_FMTo__ "llo"
+// MIPSN32EL: #define __UINTMAX_FMTu__ "llu"
+// MIPSN32EL: #define __UINTMAX_FMTx__ "llx"
+// MIPSN32EL: #define __UINTMAX_MAX__ 18446744073709551615ULL
+// MIPSN32EL: #define __UINTMAX_TYPE__ long long unsigned int
+// MIPSN32EL: #define __UINTMAX_WIDTH__ 64
+// MIPSN32EL: #define __UINTPTR_FMTX__ "lX"
+// MIPSN32EL: #define __UINTPTR_FMTo__ "lo"
+// MIPSN32EL: #define __UINTPTR_FMTu__ "lu"
+// MIPSN32EL: #define __UINTPTR_FMTx__ "lx"
+// MIPSN32EL: #define __UINTPTR_MAX__ 4294967295UL
+// MIPSN32EL: #define __UINTPTR_TYPE__ long unsigned int
+// MIPSN32EL: #define __UINTPTR_WIDTH__ 32
+// MIPSN32EL: #define __UINT_FAST16_FMTX__ "hX"
+// MIPSN32EL: #define __UINT_FAST16_FMTo__ "ho"
+// MIPSN32EL: #define __UINT_FAST16_FMTu__ "hu"
+// MIPSN32EL: #define __UINT_FAST16_FMTx__ "hx"
+// MIPSN32EL: #define __UINT_FAST16_MAX__ 65535
+// MIPSN32EL: #define __UINT_FAST16_TYPE__ unsigned short
+// MIPSN32EL: #define __UINT_FAST32_FMTX__ "X"
+// MIPSN32EL: #define __UINT_FAST32_FMTo__ "o"
+// MIPSN32EL: #define __UINT_FAST32_FMTu__ "u"
+// MIPSN32EL: #define __UINT_FAST32_FMTx__ "x"
+// MIPSN32EL: #define __UINT_FAST32_MAX__ 4294967295U
+// MIPSN32EL: #define __UINT_FAST32_TYPE__ unsigned int
+// MIPSN32EL: #define __UINT_FAST64_FMTX__ "llX"
+// MIPSN32EL: #define __UINT_FAST64_FMTo__ "llo"
+// MIPSN32EL: #define __UINT_FAST64_FMTu__ "llu"
+// MIPSN32EL: #define __UINT_FAST64_FMTx__ "llx"
+// MIPSN32EL: #define __UINT_FAST64_MAX__ 18446744073709551615ULL
+// MIPSN32EL: #define __UINT_FAST64_TYPE__ long long unsigned int
+// MIPSN32EL: #define __UINT_FAST8_FMTX__ "hhX"
+// MIPSN32EL: #define __UINT_FAST8_FMTo__ "hho"
+// MIPSN32EL: #define __UINT_FAST8_FMTu__ "hhu"
+// MIPSN32EL: #define __UINT_FAST8_FMTx__ "hhx"
+// MIPSN32EL: #define __UINT_FAST8_MAX__ 255
+// MIPSN32EL: #define __UINT_FAST8_TYPE__ unsigned char
+// MIPSN32EL: #define __UINT_LEAST16_FMTX__ "hX"
+// MIPSN32EL: #define __UINT_LEAST16_FMTo__ "ho"
+// MIPSN32EL: #define __UINT_LEAST16_FMTu__ "hu"
+// MIPSN32EL: #define __UINT_LEAST16_FMTx__ "hx"
+// MIPSN32EL: #define __UINT_LEAST16_MAX__ 65535
+// MIPSN32EL: #define __UINT_LEAST16_TYPE__ unsigned short
+// MIPSN32EL: #define __UINT_LEAST32_FMTX__ "X"
+// MIPSN32EL: #define __UINT_LEAST32_FMTo__ "o"
+// MIPSN32EL: #define __UINT_LEAST32_FMTu__ "u"
+// MIPSN32EL: #define __UINT_LEAST32_FMTx__ "x"
+// MIPSN32EL: #define __UINT_LEAST32_MAX__ 4294967295U
+// MIPSN32EL: #define __UINT_LEAST32_TYPE__ unsigned int
+// MIPSN32EL: #define __UINT_LEAST64_FMTX__ "llX"
+// MIPSN32EL: #define __UINT_LEAST64_FMTo__ "llo"
+// MIPSN32EL: #define __UINT_LEAST64_FMTu__ "llu"
+// MIPSN32EL: #define __UINT_LEAST64_FMTx__ "llx"
+// MIPSN32EL: #define __UINT_LEAST64_MAX__ 18446744073709551615ULL
+// MIPSN32EL: #define __UINT_LEAST64_TYPE__ long long unsigned int
+// MIPSN32EL: #define __UINT_LEAST8_FMTX__ "hhX"
+// MIPSN32EL: #define __UINT_LEAST8_FMTo__ "hho"
+// MIPSN32EL: #define __UINT_LEAST8_FMTu__ "hhu"
+// MIPSN32EL: #define __UINT_LEAST8_FMTx__ "hhx"
+// MIPSN32EL: #define __UINT_LEAST8_MAX__ 255
+// MIPSN32EL: #define __UINT_LEAST8_TYPE__ unsigned char
+// MIPSN32EL: #define __USER_LABEL_PREFIX__ _
+// MIPSN32EL: #define __WCHAR_MAX__ 2147483647
+// MIPSN32EL: #define __WCHAR_TYPE__ int
+// MIPSN32EL: #define __WCHAR_WIDTH__ 32
+// MIPSN32EL: #define __WINT_TYPE__ int
+// MIPSN32EL: #define __WINT_WIDTH__ 32
+// MIPSN32EL: #define __clang__ 1
+// MIPSN32EL: #define __llvm__ 1
+// MIPSN32EL: #define __mips 64
+// MIPSN32EL: #define __mips64 1
+// MIPSN32EL: #define __mips64__ 1
+// MIPSN32EL: #define __mips__ 1
+// MIPSN32EL: #define __mips_fpr 64
+// MIPSN32EL: #define __mips_hard_float 1
+// MIPSN32EL: #define __mips_isa_rev 2
+// MIPSN32EL: #define __mips_n32 1
+// MIPSN32EL: #define _mips 1
+// MIPSN32EL: #define mips 1
+//
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
//
// MIPS64BE:#define MIPSEB 1
@@ -3055,21 +3669,21 @@
// MIPS64BE:#define __INT32_FMTi__ "i"
// MIPS64BE:#define __INT32_MAX__ 2147483647
// MIPS64BE:#define __INT32_TYPE__ int
-// MIPS64BE:#define __INT64_C_SUFFIX__ LL
-// MIPS64BE:#define __INT64_FMTd__ "lld"
-// MIPS64BE:#define __INT64_FMTi__ "lli"
+// MIPS64BE:#define __INT64_C_SUFFIX__ L
+// MIPS64BE:#define __INT64_FMTd__ "ld"
+// MIPS64BE:#define __INT64_FMTi__ "li"
// MIPS64BE:#define __INT64_MAX__ 9223372036854775807L
-// MIPS64BE:#define __INT64_TYPE__ long long int
+// MIPS64BE:#define __INT64_TYPE__ long int
// MIPS64BE:#define __INT8_C_SUFFIX__ {{$}}
// MIPS64BE:#define __INT8_FMTd__ "hhd"
// MIPS64BE:#define __INT8_FMTi__ "hhi"
// MIPS64BE:#define __INT8_MAX__ 127
// MIPS64BE:#define __INT8_TYPE__ signed char
-// MIPS64BE:#define __INTMAX_C_SUFFIX__ LL
-// MIPS64BE:#define __INTMAX_FMTd__ "lld"
-// MIPS64BE:#define __INTMAX_FMTi__ "lli"
-// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
-// MIPS64BE:#define __INTMAX_TYPE__ long long int
+// MIPS64BE:#define __INTMAX_C_SUFFIX__ L
+// MIPS64BE:#define __INTMAX_FMTd__ "ld"
+// MIPS64BE:#define __INTMAX_FMTi__ "li"
+// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807L
+// MIPS64BE:#define __INTMAX_TYPE__ long int
// MIPS64BE:#define __INTMAX_WIDTH__ 64
// MIPS64BE:#define __INTPTR_FMTd__ "ld"
// MIPS64BE:#define __INTPTR_FMTi__ "li"
@@ -3158,15 +3772,15 @@
// MIPS64BE:#define __UINT32_C_SUFFIX__ U
// MIPS64BE:#define __UINT32_MAX__ 4294967295U
// MIPS64BE:#define __UINT32_TYPE__ unsigned int
-// MIPS64BE:#define __UINT64_C_SUFFIX__ ULL
-// MIPS64BE:#define __UINT64_MAX__ 18446744073709551615ULL
-// MIPS64BE:#define __UINT64_TYPE__ long long unsigned int
+// MIPS64BE:#define __UINT64_C_SUFFIX__ UL
+// MIPS64BE:#define __UINT64_MAX__ 18446744073709551615UL
+// MIPS64BE:#define __UINT64_TYPE__ long unsigned int
// MIPS64BE:#define __UINT8_C_SUFFIX__ {{$}}
// MIPS64BE:#define __UINT8_MAX__ 255
// MIPS64BE:#define __UINT8_TYPE__ unsigned char
-// MIPS64BE:#define __UINTMAX_C_SUFFIX__ ULL
-// MIPS64BE:#define __UINTMAX_MAX__ 18446744073709551615ULL
-// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
+// MIPS64BE:#define __UINTMAX_C_SUFFIX__ UL
+// MIPS64BE:#define __UINTMAX_MAX__ 18446744073709551615UL
+// MIPS64BE:#define __UINTMAX_TYPE__ long unsigned int
// MIPS64BE:#define __UINTMAX_WIDTH__ 64
// MIPS64BE:#define __UINTPTR_MAX__ 18446744073709551615UL
// MIPS64BE:#define __UINTPTR_TYPE__ long unsigned int
@@ -3262,21 +3876,21 @@
// MIPS64EL:#define __INT32_FMTi__ "i"
// MIPS64EL:#define __INT32_MAX__ 2147483647
// MIPS64EL:#define __INT32_TYPE__ int
-// MIPS64EL:#define __INT64_C_SUFFIX__ LL
-// MIPS64EL:#define __INT64_FMTd__ "lld"
-// MIPS64EL:#define __INT64_FMTi__ "lli"
+// MIPS64EL:#define __INT64_C_SUFFIX__ L
+// MIPS64EL:#define __INT64_FMTd__ "ld"
+// MIPS64EL:#define __INT64_FMTi__ "li"
// MIPS64EL:#define __INT64_MAX__ 9223372036854775807L
-// MIPS64EL:#define __INT64_TYPE__ long long int
+// MIPS64EL:#define __INT64_TYPE__ long int
// MIPS64EL:#define __INT8_C_SUFFIX__ {{$}}
// MIPS64EL:#define __INT8_FMTd__ "hhd"
// MIPS64EL:#define __INT8_FMTi__ "hhi"
// MIPS64EL:#define __INT8_MAX__ 127
// MIPS64EL:#define __INT8_TYPE__ signed char
-// MIPS64EL:#define __INTMAX_C_SUFFIX__ LL
-// MIPS64EL:#define __INTMAX_FMTd__ "lld"
-// MIPS64EL:#define __INTMAX_FMTi__ "lli"
-// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
-// MIPS64EL:#define __INTMAX_TYPE__ long long int
+// MIPS64EL:#define __INTMAX_C_SUFFIX__ L
+// MIPS64EL:#define __INTMAX_FMTd__ "ld"
+// MIPS64EL:#define __INTMAX_FMTi__ "li"
+// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807L
+// MIPS64EL:#define __INTMAX_TYPE__ long int
// MIPS64EL:#define __INTMAX_WIDTH__ 64
// MIPS64EL:#define __INTPTR_FMTd__ "ld"
// MIPS64EL:#define __INTPTR_FMTi__ "li"
@@ -3366,15 +3980,15 @@
// MIPS64EL:#define __UINT32_C_SUFFIX__ U
// MIPS64EL:#define __UINT32_MAX__ 4294967295U
// MIPS64EL:#define __UINT32_TYPE__ unsigned int
-// MIPS64EL:#define __UINT64_C_SUFFIX__ ULL
-// MIPS64EL:#define __UINT64_MAX__ 18446744073709551615ULL
-// MIPS64EL:#define __UINT64_TYPE__ long long unsigned int
+// MIPS64EL:#define __UINT64_C_SUFFIX__ UL
+// MIPS64EL:#define __UINT64_MAX__ 18446744073709551615UL
+// MIPS64EL:#define __UINT64_TYPE__ long unsigned int
// MIPS64EL:#define __UINT8_C_SUFFIX__ {{$}}
// MIPS64EL:#define __UINT8_MAX__ 255
// MIPS64EL:#define __UINT8_TYPE__ unsigned char
-// MIPS64EL:#define __UINTMAX_C_SUFFIX__ ULL
-// MIPS64EL:#define __UINTMAX_MAX__ 18446744073709551615ULL
-// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
+// MIPS64EL:#define __UINTMAX_C_SUFFIX__ UL
+// MIPS64EL:#define __UINTMAX_MAX__ 18446744073709551615UL
+// MIPS64EL:#define __UINTMAX_TYPE__ long unsigned int
// MIPS64EL:#define __UINTMAX_WIDTH__ 64
// MIPS64EL:#define __UINTPTR_MAX__ 18446744073709551615UL
// MIPS64EL:#define __UINTPTR_TYPE__ long unsigned int
@@ -3442,6 +4056,15 @@
// MIPS-ARCH-32R2:#define _MIPS_ISA _MIPS_ISA_MIPS32
// MIPS-ARCH-32R2:#define __mips_isa_rev 2
//
+// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
+// RUN: -target-cpu mips32r6 < /dev/null \
+// RUN: | FileCheck -check-prefix MIPS-ARCH-32R6 %s
+//
+// MIPS-ARCH-32R6:#define _MIPS_ARCH "mips32r6"
+// MIPS-ARCH-32R6:#define _MIPS_ARCH_MIPS32R6 1
+// MIPS-ARCH-32R6:#define _MIPS_ISA _MIPS_ISA_MIPS32
+// MIPS-ARCH-32R6:#define __mips_isa_rev 6
+//
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
// RUN: < /dev/null \
// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF64 %s
@@ -3469,6 +4092,15 @@
// MIPS-ARCH-64R2:#define _MIPS_ISA _MIPS_ISA_MIPS64
// MIPS-ARCH-64R2:#define __mips_isa_rev 2
//
+// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
+// RUN: -target-cpu mips64r6 < /dev/null \
+// RUN: | FileCheck -check-prefix MIPS-ARCH-64R6 %s
+//
+// MIPS-ARCH-64R6:#define _MIPS_ARCH "mips64r6"
+// MIPS-ARCH-64R6:#define _MIPS_ARCH_MIPS64R6 1
+// MIPS-ARCH-64R6:#define _MIPS_ISA _MIPS_ISA_MIPS64
+// MIPS-ARCH-64R6:#define __mips_isa_rev 6
+//
// Check MIPS float ABI macros
//
// RUN: %clang_cc1 -E -dM -ffreestanding \
diff --git a/test/Preprocessor/stdint.c b/test/Preprocessor/stdint.c
index c7189f607cfd..9bc1aa7cc5e2 100644
--- a/test/Preprocessor/stdint.c
+++ b/test/Preprocessor/stdint.c
@@ -322,8 +322,8 @@
//
// RUN: %clang_cc1 -E -ffreestanding -triple=mips64-none-none %s | FileCheck -check-prefix MIPS64 %s
//
-// MIPS64:typedef long long int int64_t;
-// MIPS64:typedef long long unsigned int uint64_t;
+// MIPS64:typedef long int int64_t;
+// MIPS64:typedef long unsigned int uint64_t;
// MIPS64:typedef int64_t int_least64_t;
// MIPS64:typedef uint64_t uint_least64_t;
// MIPS64:typedef int64_t int_fast64_t;
@@ -353,8 +353,8 @@
// MIPS64:typedef int64_t intptr_t;
// MIPS64:typedef uint64_t uintptr_t;
//
-// MIPS64:typedef long long int intmax_t;
-// MIPS64:typedef long long unsigned int uintmax_t;
+// MIPS64:typedef long int intmax_t;
+// MIPS64:typedef long unsigned int uintmax_t;
//
// MIPS64:INT8_MAX_ 127
// MIPS64:INT8_MIN_ (-127 -1)
@@ -386,26 +386,26 @@
// MIPS64:INT_FAST32_MAX_ 2147483647
// MIPS64:UINT_FAST32_MAX_ 4294967295U
//
-// MIPS64:INT64_MAX_ 9223372036854775807LL
-// MIPS64:INT64_MIN_ (-9223372036854775807LL -1)
-// MIPS64:UINT64_MAX_ 18446744073709551615ULL
-// MIPS64:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
-// MIPS64:INT_LEAST64_MAX_ 9223372036854775807LL
-// MIPS64:UINT_LEAST64_MAX_ 18446744073709551615ULL
-// MIPS64:INT_FAST64_MIN_ (-9223372036854775807LL -1)
-// MIPS64:INT_FAST64_MAX_ 9223372036854775807LL
-// MIPS64:UINT_FAST64_MAX_ 18446744073709551615ULL
-//
-// MIPS64:INTPTR_MIN_ (-9223372036854775807LL -1)
-// MIPS64:INTPTR_MAX_ 9223372036854775807LL
-// MIPS64:UINTPTR_MAX_ 18446744073709551615ULL
-// MIPS64:PTRDIFF_MIN_ (-9223372036854775807LL -1)
-// MIPS64:PTRDIFF_MAX_ 9223372036854775807LL
-// MIPS64:SIZE_MAX_ 18446744073709551615ULL
-//
-// MIPS64:INTMAX_MIN_ (-9223372036854775807LL -1)
-// MIPS64:INTMAX_MAX_ 9223372036854775807LL
-// MIPS64:UINTMAX_MAX_ 18446744073709551615ULL
+// MIPS64:INT64_MAX_ 9223372036854775807L
+// MIPS64:INT64_MIN_ (-9223372036854775807L -1)
+// MIPS64:UINT64_MAX_ 18446744073709551615UL
+// MIPS64:INT_LEAST64_MIN_ (-9223372036854775807L -1)
+// MIPS64:INT_LEAST64_MAX_ 9223372036854775807L
+// MIPS64:UINT_LEAST64_MAX_ 18446744073709551615UL
+// MIPS64:INT_FAST64_MIN_ (-9223372036854775807L -1)
+// MIPS64:INT_FAST64_MAX_ 9223372036854775807L
+// MIPS64:UINT_FAST64_MAX_ 18446744073709551615UL
+//
+// MIPS64:INTPTR_MIN_ (-9223372036854775807L -1)
+// MIPS64:INTPTR_MAX_ 9223372036854775807L
+// MIPS64:UINTPTR_MAX_ 18446744073709551615UL
+// MIPS64:PTRDIFF_MIN_ (-9223372036854775807L -1)
+// MIPS64:PTRDIFF_MAX_ 9223372036854775807L
+// MIPS64:SIZE_MAX_ 18446744073709551615UL
+//
+// MIPS64:INTMAX_MIN_ (-9223372036854775807L -1)
+// MIPS64:INTMAX_MAX_ 9223372036854775807L
+// MIPS64:UINTMAX_MAX_ 18446744073709551615UL
//
// MIPS64:SIG_ATOMIC_MIN_ (-2147483647 -1)
// MIPS64:SIG_ATOMIC_MAX_ 2147483647
@@ -421,11 +421,11 @@
// MIPS64:UINT16_C_(0) 0U
// MIPS64:INT32_C_(0) 0
// MIPS64:UINT32_C_(0) 0U
-// MIPS64:INT64_C_(0) 0LL
-// MIPS64:UINT64_C_(0) 0ULL
+// MIPS64:INT64_C_(0) 0L
+// MIPS64:UINT64_C_(0) 0UL
//
-// MIPS64:INTMAX_C_(0) 0LL
-// MIPS64:UINTMAX_C_(0) 0ULL
+// MIPS64:INTMAX_C_(0) 0L
+// MIPS64:UINTMAX_C_(0) 0UL
//
// RUN: %clang_cc1 -E -ffreestanding -triple=msp430-none-none %s | FileCheck -check-prefix MSP430 %s
//
diff --git a/test/Sema/atomic-ops.c b/test/Sema/atomic-ops.c
index e21c3fd58e80..71eaaa8b7a5b 100644
--- a/test/Sema/atomic-ops.c
+++ b/test/Sema/atomic-ops.c
@@ -49,7 +49,7 @@ char i8;
short i16;
int i32;
int __attribute__((vector_size(8))) i64;
-struct Incomplete *incomplete;
+struct Incomplete *incomplete; // expected-note {{forward declaration of 'struct Incomplete'}}
_Static_assert(__atomic_is_lock_free(1, &i8), "");
_Static_assert(__atomic_is_lock_free(1, &i64), "");
@@ -268,6 +268,10 @@ void memory_checks(_Atomic(int) *Ap, int *p, int val) {
(void)__c11_atomic_fetch_add(Ap, 1, memory_order_acq_rel);
(void)__c11_atomic_fetch_add(Ap, 1, memory_order_seq_cst);
+ (void)__c11_atomic_fetch_add(
+ (struct Incomplete * _Atomic *)0, // expected-error {{incomplete type 'struct Incomplete'}}
+ 1, memory_order_seq_cst);
+
(void)__c11_atomic_init(Ap, val);
(void)__c11_atomic_init(Ap, val);
(void)__c11_atomic_init(Ap, val);
diff --git a/test/Sema/attr-flag-enum.c b/test/Sema/attr-flag-enum.c
deleted file mode 100644
index a53c1dc8e7d1..000000000000
--- a/test/Sema/attr-flag-enum.c
+++ /dev/null
@@ -1,73 +0,0 @@
-// RUN: %clang_cc1 -verify -fsyntax-only -std=c11 -Wassign-enum %s
-
-enum __attribute__((flag_enum)) flag {
- ea = 0x1,
- eb = 0x2,
- ec = 0x8,
-};
-
-enum __attribute__((flag_enum)) flag2 {
- ga = 0x1,
- gb = 0x4,
-
- gc = 0x5, // no-warning
- gd = 0x7, // expected-warning {{enumeration value 'gd' is out of range}}
- ge = ~0x2, // expected-warning {{enumeration value 'ge' is out of range}}
- gf = ~0x4, // no-warning
- gg = ~0x1, // no-warning
- gh = ~0x5, // no-warning
- gi = ~0x11, // expected-warning {{enumeration value 'gi' is out of range}}
-};
-
-enum __attribute__((flag_enum)) flag3 {
- fa = 0x1,
- fb = ~0x1u, // no-warning
-};
-
-// What happens here is that ~0x2 is negative, and so the enum must be signed.
-// But ~0x1u is unsigned and has the high bit set, so the enum must be 64-bit.
-// The result is that ~0x1u does not have high bits set, and so it is considered
-// to be an invalid value. See Sema::IsValueInFlagEnum in SemaDecl.cpp for more
-// discussion.
-enum __attribute__((flag_enum)) flag4 {
- ha = 0x1,
- hb = 0x2,
-
- hc = ~0x1u, // expected-warning {{enumeration value 'hc' is out of range}}
- hd = ~0x2, // no-warning
-};
-
-void f(void) {
- enum flag e = 0; // no-warning
- e = 0x1; // no-warning
- e = 0x3; // no-warning
- e = 0xa; // no-warning
- e = 0x4; // expected-warning {{integer constant not in range of enumerated type}}
- e = 0xf; // expected-warning {{integer constant not in range of enumerated type}}
- e = ~0; // no-warning
- e = ~0x1; // no-warning
- e = ~0x2; // no-warning
- e = ~0x3; // no-warning
- e = ~0x4; // expected-warning {{integer constant not in range of enumerated type}}
-
- switch (e) {
- case 0: break; // no-warning
- case 0x1: break; // no-warning
- case 0x3: break; // no-warning
- case 0xa: break; // no-warning
- case 0x4: break; // expected-warning {{case value not in enumerated type}}
- case 0xf: break; // expected-warning {{case value not in enumerated type}}
- case ~0: break; // expected-warning {{case value not in enumerated type}}
- case ~0x1: break; // expected-warning {{case value not in enumerated type}}
- case ~0x2: break; // expected-warning {{case value not in enumerated type}}
- case ~0x3: break; // expected-warning {{case value not in enumerated type}}
- case ~0x4: break; // expected-warning {{case value not in enumerated type}}
- default: break;
- }
-
- enum flag2 f = ~0x1; // no-warning
- f = ~0x1u; // no-warning
-
- enum flag4 h = ~0x1; // no-warning
- h = ~0x1u; // expected-warning {{integer constant not in range of enumerated type}}
-}
diff --git a/test/Sema/inline-asm-validate-x86.c b/test/Sema/inline-asm-validate-x86.c
index 174deca80b43..658b714056f8 100644
--- a/test/Sema/inline-asm-validate-x86.c
+++ b/test/Sema/inline-asm-validate-x86.c
@@ -6,7 +6,7 @@ void I(int i, int j) {
static const int AboveMax = 32;
__asm__("xorl %0,%2"
: "=r"(i)
- : "0"(i), "I"(j)); // expected-error{{invalid type 'int' in asm input for constraint 'I'}}
+ : "0"(i), "I"(j)); // expected-error{{constraint 'I' expects an integer constant expression}}
__asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "I"(BelowMin)); // expected-error{{value '-1' out of range for constraint 'I'}}
@@ -23,7 +23,7 @@ void J(int i, int j) {
static const int AboveMax = 64;
__asm__("xorl %0,%2"
: "=r"(i)
- : "0"(i), "J"(j)); // expected-error{{invalid type 'int' in asm input for constraint 'J'}}
+ : "0"(i), "J"(j)); // expected-error{{constraint 'J' expects an integer constant expression}}
__asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "J"(BelowMin)); // expected-error{{value '-1' out of range for constraint 'J'}}
@@ -40,7 +40,7 @@ void K(int i, int j) {
static const int AboveMax = 128;
__asm__("xorl %0,%2"
: "=r"(i)
- : "0"(i), "K"(j)); // expected-error{{invalid type 'int' in asm input for constraint 'K'}}
+ : "0"(i), "K"(j)); // expected-error{{constraint 'K' expects an integer constant expression}}
__asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "K"(BelowMin)); // expected-error{{value '-129' out of range for constraint 'K'}}
@@ -57,7 +57,7 @@ void M(int i, int j) {
static const int AboveMax = 4;
__asm__("xorl %0,%2"
: "=r"(i)
- : "0"(i), "M"(j)); // expected-error{{invalid type 'int' in asm input for constraint 'M'}}
+ : "0"(i), "M"(j)); // expected-error{{constraint 'M' expects an integer constant expression}}
__asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "M"(BelowMin)); // expected-error{{value '-1' out of range for constraint 'M'}}
@@ -74,7 +74,7 @@ void N(int i, int j) {
static const int AboveMax = 256;
__asm__("xorl %0,%2"
: "=r"(i)
- : "0"(i), "N"(j)); // expected-error{{invalid type 'int' in asm input for constraint 'N'}}
+ : "0"(i), "N"(j)); // expected-error{{constraint 'N' expects an integer constant expression}}
__asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "N"(BelowMin)); // expected-error{{value '-1' out of range for constraint 'N'}}
@@ -91,7 +91,7 @@ void O(int i, int j) {
static const int AboveMax = 128;
__asm__("xorl %0,%2"
: "=r"(i)
- : "0"(i), "O"(j)); // expected-error{{invalid type 'int' in asm input for constraint 'O'}}
+ : "0"(i), "O"(j)); // expected-error{{constraint 'O' expects an integer constant expression}}
__asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "O"(BelowMin)); // expected-error{{value '-1' out of range for constraint 'O'}}
diff --git a/test/Sema/typo-correction.c b/test/Sema/typo-correction.c
index df7da797f050..8276737e4fec 100644
--- a/test/Sema/typo-correction.c
+++ b/test/Sema/typo-correction.c
@@ -13,6 +13,11 @@ void PR21656() {
a = b ? : 0; // expected-warning {{type specifier missing, defaults to 'int'}} \
// expected-error {{use of undeclared identifier 'b'}}
+int foobar; // expected-note {{'foobar' declared here}}
+a = goobar ?: 4; // expected-warning {{type specifier missing, defaults to 'int'}} \
+ // expected-error {{use of undeclared identifier 'goobar'; did you mean 'foobar'?}} \
+ // expected-error {{initializer element is not a compile-time constant}}
+
struct ContainerStuct {
enum { SOME_ENUM }; // expected-note {{'SOME_ENUM' declared here}}
};
diff --git a/test/SemaCXX/attr-flag-enum-reject.cpp b/test/SemaCXX/attr-flag-enum-reject.cpp
deleted file mode 100644
index f28d60c0c295..000000000000
--- a/test/SemaCXX/attr-flag-enum-reject.cpp
+++ /dev/null
@@ -1,4 +0,0 @@
-// RUN: %clang_cc1 -verify -fsyntax-only -x c++ -Wassign-enum %s
-
-enum __attribute__((flag_enum)) flag { // expected-warning {{ignored}}
-};
diff --git a/test/SemaCXX/typo-correction-delayed.cpp b/test/SemaCXX/typo-correction-delayed.cpp
index e028faad2510..79ab3f597954 100644
--- a/test/SemaCXX/typo-correction-delayed.cpp
+++ b/test/SemaCXX/typo-correction-delayed.cpp
@@ -157,3 +157,29 @@ namespace PR22092 {
a = b ? : 0; // expected-error {{C++ requires a type specifier for all declarations}} \
// expected-error-re {{use of undeclared identifier 'b'{{$}}}}
}
+
+namespace PR22250 {
+// expected-error@+4 {{use of undeclared identifier 'size_t'; did you mean 'sizeof'?}}
+// expected-error-re@+3 {{use of undeclared identifier 'y'{{$}}}}
+// expected-error-re@+2 {{use of undeclared identifier 'z'{{$}}}}
+// expected-error@+1 {{expected ';' after top level declarator}}
+int getenv_s(size_t *y, char(&z)) {}
+}
+
+namespace PR22291 {
+template <unsigned I> void f() {
+ unsigned *prio_bits_array; // expected-note {{'prio_bits_array' declared here}}
+ // expected-error@+1 {{use of undeclared identifier 'prio_op_array'; did you mean 'prio_bits_array'?}}
+ __atomic_store_n(prio_op_array + I, false, __ATOMIC_RELAXED);
+}
+}
+
+namespace PR22297 {
+double pow(double x, double y);
+struct TimeTicks {
+ static void Now(); // expected-note {{'Now' declared here}}
+};
+void f() {
+ TimeTicks::now(); // expected-error {{no member named 'now' in 'PR22297::TimeTicks'; did you mean 'Now'?}}
+}
+}