[kde-solaris] Template woes in kjs

Stefan Teleman stefan.teleman at gmail.com
Thu Aug 16 23:25:35 CEST 2007


On Thursday 16 August 2007 17:22, Adriaan de Groot wrote:
> [  6%] Building CXX object kjs/CMakeFiles/kjs.dir/date_object.o
>
>  >> Assertion:   (../lnk/bind.cc, line 268)
>
>     while processing /mnt/KDE4/kdelibs/kjs/collector.h at line 44.

This looks like a compiler bug. No matter what the C++ problem is, the 
compiler shouldn't assert or crash.

> The thing is, collector.h:44 is inside a comment. So I'm sure the
> compiler error message is kind of bogus. The problem comes from
> this line:
>
> static HashCountedSet<const char *>* rootObjectTypeCounts();
>
> change the template parameter to, say, int and everything is fine
> (regarding this error, at least). There is a lot of template magic
> going on in wtf/ (that's web template framework for you),
> HashFunctions.h *seems* to be the culprit in some way. I can't tell
> how, though. Template guru?

Did you try using a template/template partial specialization forward 
declaration:

#if defined(__SUNPRO_CC)
template<typename T>
class HashCountedSet;

template<>
class HashCountedSet<const char*>;
#endif

before the method declaration.

(code written in email, not tested).

> [ As a second aside, I dare you to try running Qt4's designer under
> CDE to see what the window manager makes of it. ]

it looks "retro" -- 70's all the way. goes with bell-bottom pants, 
wide-collar Hawaiian shirts and disco.

--Stefan

-- 
Stefan Teleman			'Nobody Expects the Spanish Inquisition'
KDE e.V.						-Monty Python
stefan.teleman at gmail.com


More information about the kde-solaris mailing list