[LLVMbugs] [Bug 11931] New: Regression: Code doesn't parse with -fdelayed-template-parsing

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sun Feb 5 22:16:27 PST 2012


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

             Bug #: 11931
           Summary: Regression: Code doesn't parse with
                    -fdelayed-template-parsing
           Product: clang
           Version: unspecified
          Platform: PC
        OS/Version: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: C++
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: nicolasweber at gmx.de
                CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Created attachment 8001
  --> http://llvm.org/bugs/attachment.cgi?id=8001
repro

The attached file doesn't build with clang r149419 on windows. It builds fine
on mac, or on windows with -fno-delayed-template-parsing. (It also builds fine
with cl.exe.) This used to work.

C:\src\chrome\src>..\..\llvm-build\bin\Release\clang.exe -c ..\..\delta\foo.cc
..\..\delta\foo.cc:51:20: error: implicit instantiation of undefined template
'Invoker<1, BindState<RunnableAdapter<void

      (*)(const void *)>, void (), void (const void *)>, void ()>'
  typedef typename InvokerType::UnboundRunType UnboundRunType;
                   ^
..\..\delta\foo.cc:17:11: note: in instantiation of template class
'BindState<RunnableAdapter<void (*)(const void *)>,
      void (), void (const void *)>' requested here
         &BindState<Runnable, RunType, BoundArgsType>
          ^
..\..\delta\foo.cc:65:10: note: in instantiation of function template
specialization 'Callback<void
      ()>::Callback<RunnableAdapter<void (*)(const void *)>, void (const void
*), void (const void *)>' requested here
  return Callback<typename BindState::UnboundRunType>(
         ^
..\..\delta\foo.cc:70:3: note: in instantiation of function template
specialization 'Bind<void (*)(const void *), const
      void *>' requested here
  Bind(releaser, object);
  ^
..\..\delta\foo.cc:39:8: note: template is declared here
struct Invoker;
       ^
1 error generated.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list