qt 4.2 and 4.3 issue with gcc 3.3.6

Andreas Pakulat apaku at gmx.de
Wed Apr 4 10:03:55 BST 2007


On 03.04.07 23:27:54, Marc Espie wrote:
> OpenBSD still uses gcc 3.3.6. The foreach construct defined in QtCore/qglobal.h
> can barf on some usages. To wit, kdevelop 3.80.3 is unhappy with it:
> 
> [  7%] Building CXX object lib/sublime/CMakeFiles/sublime.dir/area.o
> /spare/ports/x11/kde4/velop/w-kdevelop-3.80.3/kdevelop-3.80.3/lib/sublime/areawalkers.h:51: sorry, unimplemented: `
>    method_call_expr' not supported by dump_expr
> /spare/ports/x11/kde4/velop/w-kdevelop-3.80.3/kdevelop-3.80.3/lib/sublime/areawalkers.h:51: sorry, unimplemented: `
>    method_call_expr' not supported by dump_expr
> 
> 
> Those messages are produced by g++, and can be tracked down to a fragment
> of gcc/cp/error.c:
> #define sorry_for_unsupported_tree(T)                                      \
>    sorry ("`%s' not supported by %s", tree_code_name[(int) TREE_CODE (T)], \
>              __FUNCTION__)
> 
> 
> as far as fixing this goes, the following patch does it:

Does it also barf on Q_FOREACH macro instead of the foreach? I doubt so,
because IIRC Q_FOREACH is used a couple of times in kdelibs and/or
kdebase. If that is the case the "right" fix would be just to convert
all foreach usages into Q_FOREACH.

Andreas

-- 
You will have good luck and overcome many hardships.




More information about the kde-core-devel mailing list