// Place the diagnostic the main file, rather than the header, if possible:
// - for errors in included files, use the #include location
-// - for errors in template instantiation, use the instantation location
+// - for errors in template instantiation, use the instantiation location
// In both cases, add the original header location as a note.
bool tryMoveToMainFile(Diag &D, FullSourceLoc DiagLoc) {
const SourceManager &SM = DiagLoc.getManager();
from an AST matcher.
</p>
-<p>In addition, because template instantations are matched in the default mode,
+<p>In addition, because template instantiations are matched in the default mode,
transformations can be accidentally made to template declarations. Finally,
because implicit nodes are matched by default, transformations can be made on
entirely incorrect places in the code.</p>
template void double_capture(NonConstCopy&);
}
-namespace NonLocalLambdaInstantation {
+namespace NonLocalLambdaInstantiation {
template<typename T>
struct X {
static int value;
}
template<typename T>
- struct X2 { // expected-note{{in instantiation of default member initializer 'NonLocalLambdaInstantation::X2<int *>::x'}}
+ struct X2 { // expected-note{{in instantiation of default member initializer 'NonLocalLambdaInstantiation::X2<int *>::x'}}
int x = []{ return T(); }(); // expected-error{{cannot initialize a member subobject of type 'int' with an rvalue of type 'int *'}}
};
namespace OperatorDeleteLookup {
struct A { void operator delete(void*); virtual ~A() = default; };
template<typename T> struct B { void operator delete(void*); virtual ~B() {} typedef int t; };
- typedef B<int>::t b_int_instantated;
+ typedef B<int>::t b_int_instantiated;
}
namespace EmitInlineMethods {
f(x, c);
f(y, c);
int i = x;
- // This use will always be an error regardless of instantatiation
+ // This use will always be an error regardless of instantiation
// so diagnose this early.
const int &r = x; //expected-error{{variable}}
};
)txt"}));
}
-TEST_P(BuildSyntaxTreeTest, ExplicitClassTemplateInstantation_Definition) {
+TEST_P(BuildSyntaxTreeTest, ExplicitClassTemplateInstantiation_Definition) {
if (!GetParam().isCXX()) {
return;
}
)txt"}));
}
-TEST_P(BuildSyntaxTreeTest, ExplicitClassTemplateInstantation_Declaration) {
+TEST_P(BuildSyntaxTreeTest, ExplicitClassTemplateInstantiation_Declaration) {
if (!GetParam().isCXX()) {
return;
}
// (The exception is std::function where it is possible that the function
// object and the allocator have the same type).
static_assert((!is_same<_T1, _T2>::value),
- "__compressed_pair cannot be instantated when T1 and T2 are the same type; "
+ "__compressed_pair cannot be instantiated when T1 and T2 are the same type; "
"The current implementation is NOT ABI-compatible with the previous "
"implementation for this configuration");
/// to calling \a std::for_each() on the range to be discarded.
///
/// The currently available \p Options customize the nodes in the list. The
-/// same options must be specified in the \a ilist_node instantation for
+/// same options must be specified in the \a ilist_node instantiation for
/// compatibility (although the order is irrelevant).
/// \li Use \a ilist_tag to designate which ilist_node for a given \p T this
/// list should use. This is useful if a type \p T is part of multiple,
template class llvm::SmallVectorBase<uint32_t>;
// Disable the uint64_t instantiation for 32-bit builds.
-// Both uint32_t and uint64_t instantations are needed for 64-bit builds.
+// Both uint32_t and uint64_t instantiations are needed for 64-bit builds.
// This instantiation will never be used in 32-bit builds, and will cause
// warnings when sizeof(Size_T) > sizeof(size_t).
#if SIZE_MAX > UINT32_MAX
# The binary contains two (merged) covmap sections which
-# have duplicate CovMapRecords from comdat (template instantation).
+# have duplicate CovMapRecords from comdat (template instantiation).
# This test makes sure the reader reads it properly. It also
# tests that the coverage data from different instantiations
# of the same template function are properly merged in show