Bug 44061

Summary: dri/nouveau: Build error with clang
Product: Mesa Reporter: Johannes Obermayr <johannesobermayr>
Component: Drivers/DRI/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED FIXED QA Contact:
Severity: blocker    
Priority: medium CC: mesa-dev, yuri.pankov
Version: git   
Hardware: All   
OS: Linux (All)   
URL: http://lists.freedesktop.org/archives/mesa-dev/2011-November/014310.html
Whiteboard:
i915 platform: i915 features:

Description Johannes Obermayr 2011-12-22 07:49:27 UTC
nouveau_array.c:49:16: error: illegal storage class on function
                *extract_u = EXTRACT(char, unsigned, 1);
                             ^
nouveau_array.c:38:3: note: expanded from macro 'EXTRACT'
                auto out_t f(struct nouveau_array *, int, int);         \
                ^
nouveau_array.c:49:16: error: expected ';' at end of declaration
                *extract_u = EXTRACT(char, unsigned, 1);
                             ^
nouveau_array.c:39:50: note: expanded from macro 'EXTRACT'
                out_t f(struct nouveau_array *a, int i, int j) {        \
                                                               ^
nouveau_array.c:50:16: error: illegal storage class on function
                *extract_f = EXTRACT(char, float, SCHAR_MAX);
                             ^
nouveau_array.c:38:3: note: expanded from macro 'EXTRACT'
                auto out_t f(struct nouveau_array *, int, int);         \
                ^
nouveau_array.c:50:16: error: expected ';' at end of declaration
                *extract_f = EXTRACT(char, float, SCHAR_MAX);
                             ^
nouveau_array.c:39:50: note: expanded from macro 'EXTRACT'
                out_t f(struct nouveau_array *a, int i, int j) {        \
                                                               ^
nouveau_array.c:53:16: error: illegal storage class on function
                *extract_u = EXTRACT(unsigned char, unsigned, 1);
                             ^
nouveau_array.c:38:3: note: expanded from macro 'EXTRACT'
                auto out_t f(struct nouveau_array *, int, int);         \
                ^
nouveau_array.c:53:16: error: expected ';' at end of declaration
                *extract_u = EXTRACT(unsigned char, unsigned, 1);
                             ^
nouveau_array.c:39:50: note: expanded from macro 'EXTRACT'
                out_t f(struct nouveau_array *a, int i, int j) {        \
                                                               ^
nouveau_array.c:54:16: error: illegal storage class on function
                *extract_f = EXTRACT(unsigned char, float, UCHAR_MAX);
                             ^
nouveau_array.c:38:3: note: expanded from macro 'EXTRACT'
                auto out_t f(struct nouveau_array *, int, int);         \
                ^
nouveau_array.c:54:16: error: expected ';' at end of declaration
                *extract_f = EXTRACT(unsigned char, float, UCHAR_MAX);
                             ^
nouveau_array.c:39:50: note: expanded from macro 'EXTRACT'
                out_t f(struct nouveau_array *a, int i, int j) {        \
                                                               ^
nouveau_array.c:57:16: error: illegal storage class on function
                *extract_u = EXTRACT(short, unsigned, 1);
                             ^
nouveau_array.c:38:3: note: expanded from macro 'EXTRACT'
                auto out_t f(struct nouveau_array *, int, int);         \
                ^
nouveau_array.c:57:16: error: expected ';' at end of declaration
                *extract_u = EXTRACT(short, unsigned, 1);
                             ^
nouveau_array.c:39:50: note: expanded from macro 'EXTRACT'
                out_t f(struct nouveau_array *a, int i, int j) {        \
                                                               ^
nouveau_array.c:58:16: error: illegal storage class on function
                *extract_f = EXTRACT(short, float, SHRT_MAX);
                             ^
nouveau_array.c:38:3: note: expanded from macro 'EXTRACT'
                auto out_t f(struct nouveau_array *, int, int);         \
                ^
nouveau_array.c:58:16: error: expected ';' at end of declaration
                *extract_f = EXTRACT(short, float, SHRT_MAX);
                             ^
nouveau_array.c:39:50: note: expanded from macro 'EXTRACT'
                out_t f(struct nouveau_array *a, int i, int j) {        \
                                                               ^
nouveau_array.c:61:16: error: illegal storage class on function
                *extract_u = EXTRACT(unsigned short, unsigned, 1);
                             ^
nouveau_array.c:38:3: note: expanded from macro 'EXTRACT'
                auto out_t f(struct nouveau_array *, int, int);         \
                ^
nouveau_array.c:61:16: error: expected ';' at end of declaration
                *extract_u = EXTRACT(unsigned short, unsigned, 1);
                             ^
nouveau_array.c:39:50: note: expanded from macro 'EXTRACT'
                out_t f(struct nouveau_array *a, int i, int j) {        \
                                                               ^
nouveau_array.c:62:16: error: illegal storage class on function
                *extract_f = EXTRACT(unsigned short, float, USHRT_MAX);
                             ^
nouveau_array.c:38:3: note: expanded from macro 'EXTRACT'
                auto out_t f(struct nouveau_array *, int, int);         \
                ^
nouveau_array.c:62:16: error: expected ';' at end of declaration
                *extract_f = EXTRACT(unsigned short, float, USHRT_MAX);
                             ^
nouveau_array.c:39:50: note: expanded from macro 'EXTRACT'
                out_t f(struct nouveau_array *a, int i, int j) {        \
                                                               ^
nouveau_array.c:65:16: error: illegal storage class on function
                *extract_u = EXTRACT(int, unsigned, 1);
                             ^
nouveau_array.c:38:3: note: expanded from macro 'EXTRACT'
                auto out_t f(struct nouveau_array *, int, int);         \
                ^
nouveau_array.c:65:16: error: expected ';' at end of declaration
                *extract_u = EXTRACT(int, unsigned, 1);
                             ^
nouveau_array.c:39:50: note: expanded from macro 'EXTRACT'
                out_t f(struct nouveau_array *a, int i, int j) {        \
                                                               ^
nouveau_array.c:66:16: error: illegal storage class on function
                *extract_f = EXTRACT(int, float, INT_MAX);
                             ^
nouveau_array.c:38:3: note: expanded from macro 'EXTRACT'
                auto out_t f(struct nouveau_array *, int, int);         \
                ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
gmake[6]: *** [nouveau_array.o] Error 1
gmake[6]: *** Waiting for unfinished jobs....
nouveau_context.c:267:2: warning: expression result unused [-Wunused-value]
        context_bctx(ctx, FRAMEBUFFER);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nouveau_bo_state.h:103:2: note: expanded from macro 'context_bctx'
        __context_bctx(ctx, NOUVEAU_BO_CONTEXT_##s)
        ^
./nouveau_bo_state.h:100:3: note: expanded from macro '__context_bctx'
                bctx;                                                   \
                ^~~~
1 warning generated.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.