reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/Sema/SemaTemplateDeduction.cpp
  217   if (X.isNull())
  220     return X;
  227   if (!X.wasDeducedFromArrayBound() && !Y.wasDeducedFromArrayBound()) {
  228     QualType XType = X.getNonTypeTemplateArgumentType();
  236   switch (X.getKind()) {
  243         Context.hasSameType(X.getAsType(), Y.getAsType()))
  244       return X;
  248     if (X.wasDeducedFromArrayBound() != Y.wasDeducedFromArrayBound())
  249       return X.wasDeducedFromArrayBound() ? Y : X;
  249       return X.wasDeducedFromArrayBound() ? Y : X;
  261          hasSameExtendedValue(X.getAsIntegral(), Y.getAsIntegral())))
  262       return X.wasDeducedFromArrayBound() ? Y : X;
  262       return X.wasDeducedFromArrayBound() ? Y : X;
  269         Context.hasSameTemplateName(X.getAsTemplate(), Y.getAsTemplate()))
  270       return X;
  277         Context.hasSameTemplateName(X.getAsTemplateOrTemplatePattern(),
  279       return X;
  286       return checkDeducedTemplateArguments(Context, Y, X);
  290     X.getAsExpr()->Profile(ID1, Context, true);
  293       return X.wasDeducedFromArrayBound() ? Y : X;
  293       return X.wasDeducedFromArrayBound() ? Y : X;
  300     assert(!X.wasDeducedFromArrayBound());
  305       return X;
  313                                 X.getParamTypeForDecl());
  320         isSameDeclaration(X.getAsDecl(), Y.getAsDecl()))
  321       return X;
  330       return X;
  339       return X;
  346         X.pack_size() != Y.pack_size())
  350     for (TemplateArgument::pack_iterator XA = X.pack_begin(),
  351                                       XAEnd = X.pack_end(),
  355           Context, DeducedTemplateArgument(*XA, X.wasDeducedFromArrayBound()),
  364         X.wasDeducedFromArrayBound() && Y.wasDeducedFromArrayBound());