[LLVMdev] dependent passes

Ryan M. Lefever lefever at crhc.uiuc.edu
Wed Sep 27 10:54:05 PDT 2006


Thanks Chris.  The problem that I was seeing is that when Y is defined 
in a separate file from X, in an anonymous namespace, X has no way to 
refer to Y.  Everything was fixed when I gave a name to the namespace 
that Y was defined in, and contrary to my previous post, that namespace 
name does not necessarily need to be llvm.

Ryan

Chris Lattner wrote:
> On Wed, 27 Sep 2006, Ryan M. Lefever wrote:
>> I think that we are talking about two different things.  I understand
>> that in order to use LLVM classes you must either qualify them with the
>> llvm namespace or use the statement "using namespace llvm;"  What I'm
>> saying is that it has been my experience that when a pass Y depends on
>> another pass X, i.e, Y is a required analysis of X, then Y must be
>> defined within the llvm namespace rather than in an anonymous namespace
>> as http://llvm.org/docs/WritingAnLLVMPass.html suggests it should be.
>> I'm wondering if that is correct, or if I'm missing something.
> 
> If X depends on Y, and Y is defined in another file in an anonymous 
> namespace, there is no way for X to refer to Y.  This is how C++ anonymous 
> namespaces work, which doesn't have anything to do with passes.
> 
> I've used passes defined in other (non-anon) namespaces, and they seem to 
> work fine.  Can you elaborate on the problem you're seeing?
> 
> -Chris
> 

-- 
Ryan M. Lefever  [http://www.ews.uiuc.edu/~lefever]




More information about the llvm-dev mailing list