[Kde-bindings] [Bug 105277] New: compile error in kdebindings when templates expressions have ">>"

Richard Dale Richard_Dale at tipitina.demon.co.uk
Sun May 8 10:14:50 UTC 2005


On Sunday 08 May 2005 10:20, Michael Pyne wrote:
> ------- You are receiving this mail because: -------
> You are the assignee for the bug, or are watching the assignee.
>
> http://bugs.kde.org/show_bug.cgi?id=105277
>            Summary: compile error in kdebindings when templates expressions
>                     have ">>"
>            Product: bindings
>            Version: unspecified
>           Platform: Compiled Sources
>         OS/Version: Linux
>             Status: NEW
>           Severity: normal
>           Priority: NOR
>          Component: general
>         AssignedTo: kde-bindings mail kde org
>         ReportedBy: michael.pyne kdemail net
>
>
> Version:            (using KDE Devel)
> Installed from:    Compiled sources
> Compiler:          gcc 3.4.3
> OS:                Linux
>
> kdebindings fails to compile for me in the smoke/kde directory because the
> automatically-generated x_7.cpp has the following:
>
>     void x_81(Smoke::Stack x) const {
> 	// fallbackAccessKeysAssignments()
> 	QValueList<QPair<QString, QChar>> xret =
> this->KHTMLSettings::fallbackAccessKeysAssignments(); x[0].s_voidp =
> (void*)new QValueList<QPair<QString, QChar>>(xret); }
>
> Which gives this compile message:
>
> x_7.cpp: In member function `void x_KHTMLSettings::x_81(Smoke::StackItem*)
> const': x_7.cpp:4883: error: `xret' undeclared (first use this function)
> x_7.cpp:4883: error: (Each undeclared identifier is reported only once for
> each function it appears in.) x_7.cpp:4883: error: `this' cannot appear in
> a constant-expression x_7.cpp:4883: error: '->' cannot appear in a
> constant-expression
> x_7.cpp:4883: error: a function call cannot appear in a constant-expression
> x_7.cpp:4883: error: an assignment cannot appear in a constant-expression
> x_7.cpp:4883: error: `>>' should be `> >' within a nested template argument
> list x_7.cpp:4884: error: `xret' cannot appear in a constant-expression
> x_7.cpp:4884: error: `>>' should be `> >' within a nested template argument
> list make: *** [x_7.lo] Error 1
>
> I tried looking at kalyptus but couldn't make sense of it. :(
>
> Changing x_7.cpp so that the '>>' nested templates are '> >' fixed the
> compile error. _______________________________________________
I would have said this was a compiler bug. But on the other hand there is even 
a special error message about '>>' needing to be '> >' within a nested 
template argument. Yuck, how arbitrary! So I'll fix the bug by adding a 
suitable space for types ending in '>>'. I haven't switched to subversion 
yet, so it might be a day or two.

-- Richard



More information about the Kde-bindings mailing list