| Summary: | /usr/include/string.h:518:12: error: exception specification in declaration does not match previous declaration | ||
|---|---|---|---|
| Product: | Mesa | Reporter: | Vinson Lee <vlee> |
| Component: | Mesa core | Assignee: | mesa-dev |
| Status: | RESOLVED FIXED | QA Contact: | mesa-dev |
| Severity: | normal | ||
| Priority: | medium | CC: | krejzi, robclark |
| Version: | git | Keywords: | bisected, regression |
| Hardware: | x86-64 (AMD64) | ||
| OS: | Linux (All) | ||
| Whiteboard: | |||
| i915 platform: | i915 features: | ||
*** Bug 98042 has been marked as a duplicate of this bug. *** /me shrugs.. I don't really have a setup for building with clang.. I guess the issue is introduction of #include "bitscan.h" in mtypes.h. Although bitscan.h was already used elsewhere, so not entirely sure why it worked before if this is breaking things. I guess something that someone who has a setup to build w/ clang will have to debug. I believe its because the ffs param in string.h is an int while the one in bitscan.h is unsigned. (In reply to Timothy Arceri from comment #3) > I believe its because the ffs param in string.h is an int while the one in > bitscan.h is unsigned. oh, yeah, probably should be int in bitscan.h then (still not entirely sure why this issue starts showing up now, but I guess it comes down to #include order and luck before) Fixed by: author Vinson Lee <vlee@freedesktop.org> commit 889ee4da05400687a6c5296a7632dc26f1d61924 util: Include string.h in bitscan.h. Fix build error with clang. Compiling src/compiler/glsl/link_varyings.cpp ... In file included from src/compiler/glsl/link_varyings.cpp:33: In file included from src/compiler/glsl/glsl_symbol_table.h:34: In file included from src/compiler/glsl/ir.h:33: In file included from src/compiler/glsl_types.h:29: /usr/include/string.h:518:12: error: exception specification in declaration does not match previous declaration extern int ffs (int __i) __THROW __attribute__ ((__const__)); ^ src/util/bitscan.h:51:13: note: expanded from macro 'ffs' ^ src/util/bitscan.h:96:18: note: previous declaration is here const int i = ffs(*mask) - 1; ^ src/util/bitscan.h:51:13: note: expanded from macro 'ffs' ^ Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97952 Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com> |
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.
mesa: 4421c0fb0dc7a51c3d639c452ad8a5d55a99cec1 (master 12.1.0-devel) Compiling src/compiler/glsl/link_varyings.cpp ... In file included from src/compiler/glsl/link_varyings.cpp:33: In file included from src/compiler/glsl/glsl_symbol_table.h:34: In file included from src/compiler/glsl/ir.h:33: In file included from src/compiler/glsl_types.h:29: /usr/include/string.h:518:12: error: exception specification in declaration does not match previous declaration extern int ffs (int __i) __THROW __attribute__ ((__const__)); ^ src/util/bitscan.h:51:13: note: expanded from macro 'ffs' #define ffs __builtin_ffs ^ src/util/bitscan.h:96:18: note: previous declaration is here const int i = ffs(*mask) - 1; ^ src/util/bitscan.h:51:13: note: expanded from macro 'ffs' #define ffs __builtin_ffs ^ ecd6fce2611e88ff8468a354cff8eda39f260a31 is the first bad commit commit ecd6fce2611e88ff8468a354cff8eda39f260a31 Author: Rob Clark <robdclark@gmail.com> Date: Wed Aug 31 17:44:01 2016 -0400 mesa/st: support lowering multi-planar YUV Support multi-planar YUV for external EGLImage's (currently just in the dma-buf import path) by lowering to multiple texture fetch's for each plane and CSC in shader. There was some discussion of alternative approaches for tracking the additional UV or U/V planes: https://lists.freedesktop.org/archives/mesa-dev/2016-September/127832.html They all seemed worse than pipe_resource::next Signed-off-by: Rob Clark <robdclark@gmail.com> :040000 040000 80840dcad2d468df7741746515b03247c41a1084 88f03e54885c7b5b1090fb09709e7daf66972941 M src bisect run success