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

           Summary: firefox build problem
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: [email protected]
        ReportedBy: [email protected]
                CC: [email protected], [email protected]


Created an attachment (id=5424)
 --> (http://llvm.org/bugs/attachment.cgi?id=5424)
reduced testcase

Attached are both a preprocessed file and a reduced version that GCC is happy
to compile but Clang++ bombs with a compile error.  I'm not sure who's right
but wanted to report this.  This is from Mozilla's dev head.  Intel C++ and Sun
C++ are also happy about the reduced testcase.

reg...@john-home:~/volatile/bugs/tmp330$ clang++ -v
clang version 2.8 (trunk 112350)
Target: i386-pc-linux-gnu
Thread model: posix


reg...@john-home:~/volatile/bugs/tmp330$ clang++ -c -w foo.cc
foo.cc:51:3: error: use of undeclared identifier 'RetainCallee'
  RetainCallee(obj_);
  ^
  this->                                                                        
foo.cc:58:10: note: in instantiation of member function
'RunnableMethod<IPC::ChannelProxy::Context, void         
      (IPC::ChannelProxy::Context::*)(IPC::Message const &),
Tuple1<IPC::Message> >::RunnableMethod' requested
      here
  return new RunnableMethod<T, Method, Tuple1<A> >(object, method,
MakeTuple(a));
         ^
foo.cc:94:154: note: in instantiation of function template specialization       
      'NewRunnableMethod<IPC::ChannelProxy::Context, void
(IPC::ChannelProxy::Context::*)(IPC::Message const &),
      IPC::Message>' requested here
 
..."/home/regehr/z/mozilla/ipc/chromium/src/chrome/common/ipc_channel_proxy.cc",
67), NewRunnableMethod( ...
                                                                               
        ^
foo.cc:46:15: note: must qualify identifier to find this declaration in
dependent base class                     
  static void RetainCallee(T* obj) {
              ^
foo.cc:51:3: error: no member named 'RetainCallee' in
'RunnableMethod<IPC::ChannelProxy::Context, void           
      (IPC::ChannelProxy::Context::*)(IPC::ChannelProxy::MessageFilter *),
      Tuple1<IPC::ChannelProxy::MessageFilter *> >'
  RetainCallee(obj_);
  ^~~~~~~~~~~~
foo.cc:58:10: note: in instantiation of member function
'RunnableMethod<IPC::ChannelProxy::Context, void         
      (IPC::ChannelProxy::Context::*)(IPC::ChannelProxy::MessageFilter *),
      Tuple1<IPC::ChannelProxy::MessageFilter *> >::RunnableMethod' requested
here
  return new RunnableMethod<T, Method, Tuple1<A> >(object, method,
MakeTuple(a));
         ^
foo.cc:97:161: note: in instantiation of function template specialization       
      'NewRunnableMethod<IPC::ChannelProxy::Context, void
      (IPC::ChannelProxy::Context::*)(IPC::ChannelProxy::MessageFilter *),
IPC::ChannelProxy::MessageFilter *>'
      requested here
 
..."/home/regehr/z/mozilla/ipc/chromium/src/chrome/common/ipc_channel_proxy.cc",
279), NewRunnableMethod( ...
                                                                               
         ^
2 errors 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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to