Summary: | Kmix define OSS4 if only OSS3 is present | ||
---|---|---|---|
Product: | [Applications] kmix | Reporter: | Lóránt Farkas <farkaslory> |
Component: | general | Assignee: | Christian Esken <esken> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Gentoo Packages | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Lóránt Farkas
2010-10-03 11:51:27 UTC
Thanks for notifying. It must be some special compiler issue. Because I don't have the issue. I am compiling with the following and the mentioned #if does not return true: #define SOUND_VERSION 0x030802 Also there are a lot of standard headers that have checks without ( ), like: /usr/include/string.h:#if defined __GNUC__ && __GNUC__ >= 2 /usr/include/regex.h:# if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) So I wonder what really triggers the issue. Your change look sensible, but I fear to break other platforms unless I have good faith of not doing harm. Do you have any explanation or can point to documentation about C preprocessor evaluation? Additional info: http://gcc.gnu.org/onlinedocs/cpp/Defined.html#Defined also shows an example with "defined" and ">=": #if defined BUFSIZE && BUFSIZE >= 1024 There is no reply from the bug reporter yet. While I do not understand why the patch is necessary, the patch does not seem to do any harm, and I think it is safe to apply the patch. SVN commit 1254098 by esken: BUGS: 253111 Resolve build trouble (OSSv4 vs OSSv3) M +1 -1 kmix-backends.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1254098 SVN commit 1254099 by esken: BUGS: 253111 Resolve build trouble (OSSv4 vs OSSv3) backport to trunk M +1 -1 kmix-backends.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1254099 |