SuccessChanges

Summary

  1. [libc][NFC] Use ASSERT_FP_EQ to comapre NaN values in tests. (details)
  2. DR2064: decltype(E) is only a dependent type if E is type-dependent, not (details)
  3. Where possible, don't try to ask whether a template argument is (details)
  4. Ensure that we transform types into the current instantiation even if (details)
Commit d599ed49b355f1481bf8b22774e1a902352c9766 by sivachandra
[libc][NFC] Use ASSERT_FP_EQ to comapre NaN values in tests.

This is a continuation of the previous CL which did a similar change in
other tests. To elaborate a little about why we need this - under C++
compilation with headers not from LLVM libc, libraries like libc++ and
libstdc++ provide their own math.h which undefine macros like `isnan`
and provide the overloaded C++ isnan functions which return a boolean
value instead of an integer value returned by the isnan macro.
The file was modifiedlibc/test/src/math/FDimTest.h
The file was modifiedlibc/test/src/math/fmin_test.cpp
The file was modifiedlibc/test/src/math/fminf_test.cpp
The file was modifiedlibc/test/src/math/RemQuoTest.h
The file was modifiedlibc/test/src/math/fmaxl_test.cpp
The file was modifiedlibc/test/src/math/fminl_test.cpp
The file was modifiedlibc/test/src/math/fmax_test.cpp
The file was modifiedlibc/test/src/math/fmaxf_test.cpp
Commit 638867afd4bce4a2c56dea041299428af3727d61 by richard
DR2064: decltype(E) is only a dependent type if E is type-dependent, not
if E is merely instantiation-dependent.
The file was modifiedclang/test/CXX/drs/dr20xx.cpp
The file was modifiedclang/test/SemaTemplate/dependent-expr.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/include/clang/AST/DependenceFlags.h
The file was modifiedclang/test/SemaCXX/invalid-template-base-specifier.cpp
The file was modifiedclang/test/SemaTemplate/temp_arg_template_cxx1z.cpp
The file was modifiedclang/test/Sema/invalid-bitwidth-expr.mm
The file was modifiedclang/lib/AST/Type.cpp
The file was modifiedclang/www/cxx_dr_status.html
Commit 71886c56f336667969be4cac0b6a17a3f75b7555 by richard
Where possible, don't try to ask whether a template argument is
dependent until it's been converted to match its parameter.

The type of a non-type template parameter can in general affect whether
the template argument is dependent.

Note that this is not always possible. For template arguments that name
static local variables in templates, the type of the template parameter
affects whether the argument is dependent, so the query is imprecise
until we know the parameter type. For example, in:

template<typename T> void f() {
  static const int n = 5;
  typename T::template X<n> x;
}

... we don't know whether 'n' is dependent until we know whether the
corresponding template parameter is of type 'int' or 'const int&'.
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/lib/AST/Type.cpp
The file was addedclang/test/SemaTemplate/instantiate-static-local.cpp
The file was modifiedclang/lib/Sema/SemaConcept.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
Commit 4b388859f527f822a27bcee409242c421f199f1d by richard
Ensure that we transform types into the current instantiation even if
they're only instantiation-dependent.
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/test/SemaTemplate/class-template-decl.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp