Hi Donald, On 09:57 Fri 10 Jan, Donald Carr wrote: > Top of the morning, > > qtconnectivity currently contains a kludge which is required due to > the use of the GCC typeof extension in bluetooth.h which is breaking > with Clang compilation against the cxx11 spec. Another kludge that I have seen is putting a "#define typeof(x) __tupeof__(x)" before including bluetooth.h. > > The kludge in question involves molesting the standard (eg -std=cxx11) > specified to the compiler (explicitly away from cxx11 toward g++0x) > and hence I am hoping to be able to murder its intrusive self. I am > not entirely clear on the nuances though: > > This is the offending section: > > #define bt_get_unaligned(ptr) \ > ({ \ > struct __attribute__((packed)) { \ > typeof(*(ptr)) __v; \ > } *__p = (typeof(__p)) (ptr); \ > __p->__v; \ > }) > > #define bt_put_unaligned(val, ptr) \ > do { \ > struct __attribute__((packed)) { \ > typeof(*(ptr)) __v; \ > } *__p = (typeof(__p)) (ptr); \ > __p->__v = (val); \ > } while(0) > > and changing typeof to __typeof__ has been verified to succeed in the > stated circumstance. I don't know whether this is the ideal solution, > or whether decltype or so other designator would be a closer/better > match. I would vote for changing it to __typeof__. > > Any feedback would be greatly appreciated, I am using this change > locally and I think it could be of broader use to people. Please send a patch and let's see what others think. > > Yours sincerely, > Donald Carr > > > -- > ------------------------------- > °v° Donald Carr > /(_)\ Vaguely Professional Penguin lover > ^ ^ > > Cave canem, te necet lingendo > -- > To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html Cheers, -- Vinicius -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html