From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754929AbdDRCvw (ORCPT ); Mon, 17 Apr 2017 22:51:52 -0400 Received: from smtprelay0204.hostedemail.com ([216.40.44.204]:47873 "EHLO smtprelay.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752480AbdDRCvu (ORCPT ); Mon, 17 Apr 2017 22:51:50 -0400 X-Session-Marker: 6A6F6540706572636865732E636F6D X-Spam-Summary: 50,0,0,,d41d8cd98f00b204,joe@perches.com,:::::::::::::,RULES_HIT:1:2:41:355:379:541:966:967:973:981:982:988:989:1260:1277:1311:1313:1314:1345:1359:1373:1437:1515:1516:1518:1593:1594:1605:1730:1747:1777:1792:1801:2196:2199:2393:2525:2561:2564:2682:2685:2828:2859:2933:2937:2939:2942:2945:2947:2951:2954:3022:3138:3139:3140:3141:3142:3865:3866:3867:3868:3870:3871:3934:3936:3938:3941:3944:3947:3950:3953:3956:3959:4052:4250:4321:4385:4605:5007:6119:7903:9025:9121:10004:10394:10848:11026:11232:11233:11473:11658:11914:12043:12050:12296:12438:12555:12740:12760:12895:12986:13161:13229:13439:13972:14659:21060:21080:21433:21434:21451:21611:30034:30054:30055:30091,0,RBL:none,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:,MSBL:0,DNSBL:none,Custom_rules:0:0:0,LFtime:2,LUA_SUMMARY:none X-HE-Tag: heart58_8398aa5342431 X-Filterd-Recvd-Size: 10515 Message-ID: <1492483903.8661.28.camel@perches.com> Subject: [RFC] using #pragma push_macro and pop_macro From: Joe Perches To: Andrew Morton , Linus Torvalds Cc: kbuild-all@01.org, Alasdair Kergon , Mike Snitzer , dm-devel@redhat.com, linux-kernel@vger.kernel.org Date: Mon, 17 Apr 2017 19:51:43 -0700 In-Reply-To: <201704180416.flAy5fPu%fengguang.wu@intel.com> References: <201704180416.flAy5fPu%fengguang.wu@intel.com> Content-Type: text/plain; charset="ISO-8859-1" X-Mailer: Evolution 3.22.6-1ubuntu1 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org There is an argument for using these #pragmas for pr_fmt. gcc/clang/icc all support push_macro and pop_macro pragmas. As far as I can tell, these compilers are the only ones used to compile the kernel. Anyone have any objection to using these pragmas? On Tue, 2017-04-18 at 05:02 +0800, kbuild test robot wrote: > Hi Joe, > > [auto build test ERROR on v4.9-rc8] > [also build test ERROR on next-20170413] > [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] > > url: https://github.com/0day-ci/linux/commits/Joe-Perches/device-mapper-Convert-printks-to-pr_-level-macros/20170418-030508 > config: i386-allmodconfig (attached as .config) > compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 > reproduce: > # save the attached .config to linux build tree > make ARCH=i386 > > All error/warnings (new ones prefixed by >>): > > In file included from fs/nfs/blocklayout/blocklayout.h:35:0, > from fs/nfs/blocklayout/dev.c:11: > fs/nfs/blocklayout/dev.c: In function 'bl_free_device': > > > include/linux/device-mapper.h:536:34: error: expected ')' before 'DM_MSG_PREFIX' > > #define pr_fmt(fmt) DM_NAME ": " DM_MSG_PREFIX ": " fmt > ^ > > > include/linux/printk.h:277:18: note: in expansion of macro 'pr_fmt' > > printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) > ^~~~~~ > > > fs/nfs/blocklayout/dev.c:33:5: note: in expansion of macro 'pr_err' > > pr_err("failed to unregister PR key.\n"); > ^~~~~~ > fs/nfs/blocklayout/dev.c: In function 'nfs4_block_decode_volume': > > > include/linux/device-mapper.h:536:34: error: expected ')' before 'DM_MSG_PREFIX' > > #define pr_fmt(fmt) DM_NAME ": " DM_MSG_PREFIX ": " fmt > ^ > include/linux/printk.h:284:19: note: in expansion of macro 'pr_fmt' > printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) > ^~~~~~ > > > fs/nfs/blocklayout/dev.c:81:5: note: in expansion of macro 'pr_info' > > pr_info("signature too long: %d\n", > ^~~~~~~ > fs/nfs/blocklayout/dev.c: In function 'bl_validate_designator': > > > include/linux/device-mapper.h:536:34: error: expected ')' before 'DM_MSG_PREFIX' > > #define pr_fmt(fmt) DM_NAME ": " DM_MSG_PREFIX ": " fmt > ^ > > > include/linux/printk.h:277:18: note: in expansion of macro 'pr_fmt' > > printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) > ^~~~~~ > fs/nfs/blocklayout/dev.c:287:3: note: in expansion of macro 'pr_err' > pr_err("pNFS: unsupported designator " > ^~~~~~ > > > include/linux/device-mapper.h:536:34: error: expected ')' before 'DM_MSG_PREFIX' > > #define pr_fmt(fmt) DM_NAME ": " DM_MSG_PREFIX ": " fmt > ^ > > > include/linux/printk.h:277:18: note: in expansion of macro 'pr_fmt' > > printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) > ^~~~~~ > fs/nfs/blocklayout/dev.c:294:3: note: in expansion of macro 'pr_err' > pr_err("pNFS: invalid designator " > ^~~~~~ > fs/nfs/blocklayout/dev.c: In function 'bl_open_udev_path': > > > include/linux/device-mapper.h:536:34: error: expected ')' before 'DM_MSG_PREFIX' > > #define pr_fmt(fmt) DM_NAME ": " DM_MSG_PREFIX ": " fmt > ^ > include/linux/printk.h:279:22: note: in expansion of macro 'pr_fmt' > printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__) > ^~~~~~ > include/linux/printk.h:280:17: note: in expansion of macro 'pr_warning' > #define pr_warn pr_warning > ^~~~~~~~~~ > > > fs/nfs/blocklayout/dev.c:320:3: note: in expansion of macro 'pr_warn' > > pr_warn("pNFS: failed to open device %s (%ld)\n", > ^~~~~~~ > fs/nfs/blocklayout/dev.c: In function 'bl_parse_scsi': > > > include/linux/device-mapper.h:536:34: error: expected ')' before 'DM_MSG_PREFIX' > > #define pr_fmt(fmt) DM_NAME ": " DM_MSG_PREFIX ": " fmt > ^ > include/linux/printk.h:284:19: note: in expansion of macro 'pr_fmt' > printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) > ^~~~~~ > fs/nfs/blocklayout/dev.c:373:2: note: in expansion of macro 'pr_info' > pr_info("pNFS: using block device %s (reservation key 0x%llx)\n", > ^~~~~~~ > > > include/linux/device-mapper.h:536:34: error: expected ')' before 'DM_MSG_PREFIX' > > #define pr_fmt(fmt) DM_NAME ": " DM_MSG_PREFIX ": " fmt > ^ > > > include/linux/printk.h:277:18: note: in expansion of macro 'pr_fmt' > > printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) > ^~~~~~ > fs/nfs/blocklayout/dev.c:378:3: note: in expansion of macro 'pr_err' > pr_err("pNFS: block device %s does not support reservations.", > ^~~~~~ > > > include/linux/device-mapper.h:536:34: error: expected ')' before 'DM_MSG_PREFIX' > > #define pr_fmt(fmt) DM_NAME ": " DM_MSG_PREFIX ": " fmt > ^ > > > include/linux/printk.h:277:18: note: in expansion of macro 'pr_fmt' > > printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) > ^~~~~~ > fs/nfs/blocklayout/dev.c:386:3: note: in expansion of macro 'pr_err' > pr_err("pNFS: failed to register key for block device %s.", > ^~~~~~ > -- > In file included from fs/nfs/blocklayout/blocklayout.h:35:0, > from fs/nfs/blocklayout/extent_tree.c:7: > include/linux/netdevice.h: In function 'netdev_cap_txqueue': > > > include/linux/device-mapper.h:536:34: error: expected ')' before 'DM_MSG_PREFIX' > > #define pr_fmt(fmt) DM_NAME ": " DM_MSG_PREFIX ": " fmt > ^ > include/linux/printk.h:279:22: note: in expansion of macro 'pr_fmt' > printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__) > ^~~~~~ > > > include/linux/net.h:238:3: note: in expansion of macro 'pr_warning' > > function(__VA_ARGS__); \ > ^~~~~~~~ > > > include/linux/net.h:252:2: note: in expansion of macro 'net_ratelimited_function' > > net_ratelimited_function(pr_warn, fmt, ##__VA_ARGS__) > ^~~~~~~~~~~~~~~~~~~~~~~~ > > > include/linux/net.h:252:27: note: in expansion of macro 'pr_warn' > > net_ratelimited_function(pr_warn, fmt, ##__VA_ARGS__) > ^~~~~~~ > > > include/linux/netdevice.h:3119:3: note: in expansion of macro 'net_warn_ratelimited' > > net_warn_ratelimited("%s selects TX queue %d, but real number of TX queues is %d\n", > ^~~~~~~~~~~~~~~~~~~~ > include/net/inet_connection_sock.h: In function 'inet_csk_clear_xmit_timer': > > > include/linux/device-mapper.h:536:34: error: expected ')' before 'DM_MSG_PREFIX' > > #define pr_fmt(fmt) DM_NAME ": " DM_MSG_PREFIX ": " fmt > ^ > include/linux/dynamic_debug.h:126:35: note: in expansion of macro 'pr_fmt' > __dynamic_pr_debug(&descriptor, pr_fmt(fmt), \ > ^~~~~~ > include/linux/printk.h:309:2: note: in expansion of macro 'dynamic_pr_debug' > dynamic_pr_debug(fmt, ##__VA_ARGS__) > ^~~~~~~~~~~~~~~~ > > > include/net/inet_connection_sock.h:213:3: note: in expansion of macro 'pr_debug' > > pr_debug("%s", inet_csk_timer_bug_msg); > ^~~~~~~~ > include/net/inet_connection_sock.h: In function 'inet_csk_reset_xmit_timer': > > > include/linux/device-mapper.h:536:34: error: expected ')' before 'DM_MSG_PREFIX' > > #define pr_fmt(fmt) DM_NAME ": " DM_MSG_PREFIX ": " fmt > ^ > include/linux/dynamic_debug.h:126:35: note: in expansion of macro 'pr_fmt' > __dynamic_pr_debug(&descriptor, pr_fmt(fmt), \ > ^~~~~~ > include/linux/printk.h:309:2: note: in expansion of macro 'dynamic_pr_debug' > dynamic_pr_debug(fmt, ##__VA_ARGS__) > ^~~~~~~~~~~~~~~~ > include/net/inet_connection_sock.h:229:3: note: in expansion of macro 'pr_debug' > pr_debug("reset_xmit_timer: sk=%p %d when=0x%lx, caller=%p\n", > ^~~~~~~~ > > > include/linux/device-mapper.h:536:34: error: expected ')' before 'DM_MSG_PREFIX' > > #define pr_fmt(fmt) DM_NAME ": " DM_MSG_PREFIX ": " fmt > ^ > include/linux/dynamic_debug.h:126:35: note: in expansion of macro 'pr_fmt' > __dynamic_pr_debug(&descriptor, pr_fmt(fmt), \ > ^~~~~~ > include/linux/printk.h:309:2: note: in expansion of macro 'dynamic_pr_debug' > dynamic_pr_debug(fmt, ##__VA_ARGS__) > ^~~~~~~~~~~~~~~~ > include/net/inet_connection_sock.h:247:3: note: in expansion of macro 'pr_debug' > pr_debug("%s", inet_csk_timer_bug_msg); > ^~~~~~~~ > > vim +536 include/linux/device-mapper.h > > 530 #endif > 531 > 532 #ifdef pr_fmt > 533 #undef pr_fmt > 534 #endif > 535 > > 536 #define pr_fmt(fmt) DM_NAME ": " DM_MSG_PREFIX ": " fmt > 537 > 538 #define DMCRIT(fmt, ...) \ > 539 pr_crit(fmt "\n", ##__VA_ARGS__) > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://lists.01.org/pipermail/kbuild-all Intel Corporation