http://llvm.org/bugs/show_bug.cgi?id=19629

            Bug ID: 19629
           Summary: failing to substitute into lambda-expression in
                    initializer of a variable template
           Product: clang
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++1y
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
    Classification: Unclassified

This code:

  template<typename T> int var = [] {
    struct S { int f() { return T(); } };
    return S().f();
  } ();
  int k = var<int>;

crashes in IR gen, because we reused the LambdaExpr from the template
definition in the initializer of the template specialization.

Not clear whether we're not transforming it at all, or whether TreeTransform
somehow believes it can reuse the LambdaExpr.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to