From mboxrd@z Thu Jan 1 00:00:00 1970 From: danielfsantos@att.net Subject: [PATCH v6 0/9] Cleanup & new features for compiler*.h and bug.h Date: Tue, 20 Nov 2012 14:42:03 -0600 Message-ID: <1353444132-6809-1-git-send-email-daniel.santos@pobox.com> References: <1348874411-28288-1-git-send-email-daniel.santos@pobox.com> Return-path: Received: from nm3-vm0.access.bullet.mail.sp2.yahoo.com ([98.139.44.108]:44876 "EHLO nm3-vm0.access.bullet.mail.sp2.yahoo.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752144Ab2KTUmP (ORCPT ); Tue, 20 Nov 2012 15:42:15 -0500 In-Reply-To: <1348874411-28288-1-git-send-email-daniel.santos@pobox.com> Sender: linux-sparse-owner@vger.kernel.org List-Id: linux-sparse@vger.kernel.org To: LKML , Andi Kleen , Andrea Arcangeli , Andrew Morton , Borislav Petkov , Christopher Li , David Daney , David Rientjes , Joe Perches , Josh Triplett , linux-sparse@vger.kernel.org, Michel Lespinasse , Paul Gortmaker , Peter Zijlstra , Steven Rostedt Cc: Daniel Santos include/linux/bug.h | 47 ++++++++++++++++++++++------------------ include/linux/compiler-gcc.h | 3 ++ include/linux/compiler-gcc3.h | 8 +++--- include/linux/compiler-gcc4.h | 28 ++++++++++++------------ include/linux/compiler.h | 32 +++++++++++++++++++++++++-- 5 files changed, 76 insertions(+), 42 deletions(-) Changes in v6: o Remove extraneous double negation o Fixed faulty macro expansion in last patch Changes in v5: o Move BUILD_BUG* guts to a new compiletime_assert() macro in compiler.h. o Fix a double-evaluation problem. o Fix another bad macro definition when __CHECKER__ defined. Changes in v4: o Squash a minor commit (per Borislav Petkov) o Change some comment text (per Borislav Petkov) o Add some acks This patch set is a dependency of the generic red-black tree patch set, which I have now split up into three smaller sets and is based off of linux-next. The major aim of this patch set is to cleanup compiler-gcc*.h and improve the manageability of of compiler features at various versions (when they are broken, etc.), add some needed features to bug.h and clean that up as well. compiler-gcc*.h o Introduce GCC_VERSION - (e.g., gcc 4.7.1 becomes 40701). o Reorder all features based upon the version introduced (readability). o Change all version checks to use GCC_VERSION. o Remove redundant __linktime_error macro. o Introduce compiletime_assert() macro. bug.h o Improve BUILD_BUG_ON(expr) - now generates compile-time error post-gcc-4.4 o Remove duplicate error messages in some cases. o Fix double-evaluation problem in BUILD_BUG_ON. o Fix bad macro definitions when using __CHECKER__. o Introduce BUILD_BUG_ON_MSG and clean up the implementations of the BUILD_BUG* macros.