O. Hartmann | 28 Apr 12:05 2012
Picon
Picon

New Xorg: graphics/dri: fails to compile with CLANG: nouveau_array.c:49:16: error: illegal storage class on function, *extract_u = EXTRACT(char, unsigned, 1);

Compiling Xorg stuff with the switch set in /etc/make.conf for the new
Xorg graphics/dri  mesa 7.11.x and xorg-server 1.10.6 with CLANG on bot
FreeBSD 10 and 9 end up in an error:

nouveau_array.c:49:16: error: illegal storage class on function
                *extract_u = EXTRACT(char, unsigned, 1);

This error seem to be well known since last year, as this links states:

http://lists.freedesktop.org/archives/nouveau/2011-December/009768.html

and claimed to be resolved, as this link indicates:

http://lists.freedesktop.org/archives/mesa-dev/2012-March/019815.html

and

http://cgit.freedesktop.org/mesa/mesa/commit/?id=4aa1ac5fe94b5696095229ee3568bf4fa7cfed95

Is there in "official" way to get this fixed with CLANG? I see that
files folder in graphics/dri is missing, so none of the  fixes for both
the faulty source files

nouveau_array.c
nouveau_render_t.c

as indicated by the patches have been fixed permanently for CLANG with
FreeBSD so far.

It would be a pleasure having a "nice" solution using CLANG. I was
looking for a switch allowing to patch the sources upon a criteria, but
the ports framework seems not to be capable of such a thing. If there is
already a solution I would be pleased to have it, too, if available,
otherwise I will go for installation of GIT, sucking in the patches and
create myself patchfiles. I'm hesitating to do so at the moment since I
don't want to have git installed since I do not use it, yet (updating
useless/unused ports is sometimes a waste of time on slow boxes, sorry).

Thanks in advance,
Oliver


Gmane