[xsd-users] Error while compiling generated code with clang

Adrien Chauve adrien.chauve at gmail.com
Mon Nov 29 15:59:17 EST 2010


Hi Boris,

Thank you for your answer.

On Mon, Nov 29, 2010 at 15:25, Boris Kolpackov <boris at codesynthesis.com>wrote:
>
> Hm, the arguments in this call are template parameter-dependent, so I am
> not sure why clang complains. None of the other supported C++ compilers
> do. Might be a bug in clang or it is being super pedantic.
>
>
Yes, you're completely right. I forgot this trick.
However, clang insists on it, giving this additional note:

/usr/include/c++/4.4/streambuf:484:7: note: must qualify identifier to find
this declaration in dependent base class
      setg(char_type* __gbeg, char_type* __gnext, char_type* __gend)


What's curious is that clang doesn't complain with the following code:

template<typename T>
struct Base
{
    void foo(int) {}
};

template<typename T>
struct Derived : Base<T>
{
    void bar()
    {
        this->foo(2);
    }

    void foobar()
    {
        T c;
        foo(c);
    }
};

I'm going to ask in clang mailing list.


>
> > By the way, I noticed clang is not one of the supported compilers. Do you
> > plan to support it in the near future?
>
> Yes, sure. I just tried to build XSD examples with cland 2.7 (the latest
> release available in Debian unstable) but got "cannot compile this decl
> yet" kind of errors. I see that 2.8 is the latest release but it is not
> yet packaged for Debian. Which version are you using?
>

Indeed, I am using clang 2.8.

Adrien


More information about the xsd-users mailing list