Mangling follow-up

Mark Mitchell mark at codesourcery.com
Thu Oct 3 21:09:45 UTC 2002


Actually, in this example:

  template <template <typename> class Q>
  void f (typename Q<int>::X) {}

  template <typename Q>
  struct S {
    typedef int X;
  };

  template void f<S> (int);

rather than adding this rule:

  <template-prefix> ::= <template-template-param>

we should add:

  <template-prefix> ::= <template-param>

The point is to avoid adding two substitutions for the same parameter;
<template-prefix> adds a substitution and so does
<template-template-param>.

--
Mark Mitchell                   mark at codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com




More information about the cxx-abi-dev mailing list