Message ID | 1498412703-24303-3-git-send-email-simon.marchi@ericsson.com |
---|---|
State | New, archived |
Headers |
Received: (qmail 3946 invoked by alias); 25 Jun 2017 17:45:56 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: <gdb-patches.sourceware.org> List-Unsubscribe: <mailto:gdb-patches-unsubscribe-##L=##H@sourceware.org> List-Subscribe: <mailto:gdb-patches-subscribe@sourceware.org> List-Archive: <http://sourceware.org/ml/gdb-patches/> List-Post: <mailto:gdb-patches@sourceware.org> List-Help: <mailto:gdb-patches-help@sourceware.org>, <http://sourceware.org/ml/#faqs> Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 3460 invoked by uid 89); 25 Jun 2017 17:45:43 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.5 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: sesbmg23.ericsson.net Received: from sesbmg23.ericsson.net (HELO sesbmg23.ericsson.net) (193.180.251.37) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 25 Jun 2017 17:45:41 +0000 Received: from ESESSHC012.ericsson.se (Unknown_Domain [153.88.183.54]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id 80.67.05871.EA6FF495; Sun, 25 Jun 2017 19:45:18 +0200 (CEST) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.54) with Microsoft SMTP Server (TLS) id 14.3.352.0; Sun, 25 Jun 2017 19:45:17 +0200 Authentication-Results: sourceware.org; dkim=none (message not signed) header.d=none; sourceware.org; dmarc=none action=none header.from=ericsson.com; Received: from elxacz23q12.localdomain (80.216.243.234) by DBXPR07MB318.eurprd07.prod.outlook.com (2a01:111:e400:941d::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.5; Sun, 25 Jun 2017 17:45:15 +0000 From: Simon Marchi <simon.marchi@ericsson.com> To: <gdb-patches@sourceware.org> CC: Simon Marchi <simon.marchi@ericsson.com> Subject: [PATCH 2/3] vec: Silence -Wunused-function warnings on clang Date: Sun, 25 Jun 2017 19:45:02 +0200 Message-ID: <1498412703-24303-3-git-send-email-simon.marchi@ericsson.com> In-Reply-To: <1498412703-24303-1-git-send-email-simon.marchi@ericsson.com> References: <1498412703-24303-1-git-send-email-simon.marchi@ericsson.com> MIME-Version: 1.0 Content-Type: text/plain X-ClientProxiedBy: AM4PR0202CA0010.eurprd02.prod.outlook.com (2603:10a6:200:89::20) To DBXPR07MB318.eurprd07.prod.outlook.com (2a01:111:e400:941d::12) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3239c148-a09a-4ccc-4898-08d4bbf1f086 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095); SRVR:DBXPR07MB318; X-Microsoft-Exchange-Diagnostics: 1; DBXPR07MB318; 3:lClp275zA1iNXRbkqc1bquJY9cvmwWnFLaxn9m0J9tRt1btWDrqA+j4pKbCiSN82KucR5HzTHzs/wNQjv9DVDG8M6hhnkTXdMXU/jCy1alnASfcEHfLcCJLhf6GeH+bni25z1v/qQU6QA0c/P+dI9j7sxdmA8g5jYSFHwIFgc7WPKnSR8MbC3Ypm4mmByFL8yullt7hg2faocz7m1nYBrKfT6M7zr4jF+EYxKkCrSnTyly8JKrmB9wSjLaDkAPhwqKch7FG6Y5+pkiS1TEU1BkBhf/0xN04dyqTXwfacFJF5AbynJjRXL+s/TYvFM6c66OlpG9xsYsyyOq+TFN+ONkKlCi57Kqk6IqA8XDEjD/NaQ5YbzItubDesVYrW0Xg0TRjy6Nm+IrXg7Vi3E7zu1B31G6istN8DP09lY907BZELsaKbqqGxlsPxpvy9IrxyfhzFVYCCSJZXTICsQIfkOTqQ5HSlatjjjFvItrZElQHy7ojRMf8W6kUN5LgZcaLcofpTbJSHRIQg4GILdDkg9U4Jb0GG7qItJUpByXNkWJ5TcCfn39eD576P9qXaX4g3OlaMv7G/twn/mX0q+qB96wFArXDwiMrZTyDtLSrwMKWvevhW2U9L7vfzcB5grBF6zi+mEXj/xl42wrLXglTm6A8KNZaCwzcM0aAUOQZCaXewDJ5PD4R7X6BAFS9Qy9jv X-MS-TrafficTypeDiagnostic: DBXPR07MB318: X-Microsoft-Exchange-Diagnostics: 1; DBXPR07MB318; 25:BTqofWrw412OKpVUmgbTL4E2Yhhf/qHOepRxOioHeWRBSbs0J3ETQIxxdyZXVEKShBufV9hk9HMBbraUgwrzrIy+LxkF5EV67HWKVVshQPt8hRi5mkBnlegL2Zjrsn6hlqQzOyGdAaN5SnK6oWjOeZW1En96jAt6aBTqOcB5bZyejLGSLw3rM4vJSyBYcgwxjKlynSrWlz5qwB0gq5gr21XJmsjaBAhsBpudIOFX0O1hg2c/cjUiL2l8otuwqgwBcydCFjrSyKFw0xD6CBWGEBsZSUR21CPm7oxjARByUceQY1MchvwQ0jtRhEmOw5c0nDkvbf2fc3sdlzh+TaytRSFmgfzq9WOmpLVULX/ghDYmmKW01DpwJpCDp6hkuaNEtM65AzqzW+wHsSdbPKzay4Sc8qqGsIubwDZtHrz9zgE4vbMRTCVhyluu65ILpoPW6FX/VysrTTec5MxygkiPJ0tEPgW1ncNLUELYBN9Cypyf1Iw7gAAhfFVvX712xdVuiEquNv1K92VX+shgtqO+6Wo7KtNOIrbUxujkdpQE3uXpai3JB2gfIJCwVyH9Rcqgmkwy7WhSWcW5uulEc3PwwJin+V2dpjPQyy0aY8Cn1bUK2u2A16qIu4LrWFbQbOP6LxYqbvEItBEkxELIPploAJlBii91vvM2g1AKcoZredkTSMAi9LLGFIOjgwk9Z9FVZ+YFhxi/QndKFK2v9tK9LVY8fLvuHPi6B7kVvc/7PA/AkdE0aZm8Ib83nC28/ydq2OxXajy5QMDnQInRWsynFmIyMaPYd7tGTbEgbKZNXgd/7H8YjtxYdx5iXexFvmmet7jzfoFA7nU75ZT6NJry/yNBJ7n6BugaD7PQ8SVugssiAiN0pSyGboLFHMlnqPOKWi9IDd2fetvMTB2agnlQqTPD+tya+MA11h7pQXGxMzA= X-Microsoft-Exchange-Diagnostics: 1; DBXPR07MB318; 31:wsz3Vb24v8urcYYo3BFo5kTEPsX2nVfeXhaeBD2+okB03FK5slUVSg1Z9aoV1gVgHVfle1gFvGcNpmuI/g4tyM0E3mlOIe6WQ4qnyy3+8ZWikZdrMrmyHd5alqW1NnQJOLVZzW6B5NovAnx0BCIhyoFKvuHipXneDTfiyS3PdwwQtFAyn66NNYHRn1wVeJWqdU59c+E0x0Hm4xcG3VEmUz1BEoRbc8rrB6uGU8WFFuqO+WC/ar8hIqlTt9fyfpGWb9VHZwA7thn3VklOzrKPn9QYkc4QagbpbQEjYuDAaYo6eSFq/gZfjwWpLdGt7KHaUEXOfrW1ONc/yeKd8BAAfjkGCcJqjRWfscwU74B/7gCQf14uB0B1/8Cuio9acKNNQusIkWrcmShu/zoNZRZ2o9v6B7Rrc5jvrO6HJGPyN0n16PHPqCU3lotHGaqaOvu6YS7xGpJAy0ZWPk0TekwQqHf7m0FLWd5xE99xpeJ8CUK3lM7BUEe6qLwgOPWfj7RGtb1+L1LqY2yomwnReHsIEmDGfHRi8uLAvwuUMxc5aPZbb3v0c0lrwjtfFulaaCcSKbVGJyLOgXDEk3v9AOvL1kSWlP7GeGdkVFQyU2rn6LVIdSszqeZ22QjBN22Zk7SKcS3kb5Yni67sHvn4K4NgX7hXVLs09mBvcuEC7RE1alg= X-Microsoft-Exchange-Diagnostics: 1; DBXPR07MB318; 20:MEyZHLgQsDIbjnm2H0SQ5OOOLynY36f+H3QpnUzSMuxaCLkErExCDed7Gv44L0ZYrCL/l8oA5zfzyOVkLp5v4JLxbuzQ8fODlYhekbueEC20aPfSTK1O4rTn+vPE3CZlakfn6nAA3BruP/htaHzGKUENZyPygVi2z70v+IDYHQfyNvdHfGxGTlmRpwg6isM3xRuNKXNR+SdxKcYc26aDA14xmYn4YVXSyKtLrC8j5bqe7JOHPwkimB/tNOBVn+LcLSErVKuMoeio0DhGiK/JQC5FetECHDpeC92dQjcsN62cZaaNKs4dMuHQlD+xYrfK4hBCjAxZBEo66+btDQssS/fwGKtEwGYYbyl+/p+LhthfcK0XpSiSX0hsGAIXMT6wwDZNpQOFNFHBDUIeQ30syBn+O72hPHeSfmM/7jKpLt5sgvEnmnd/HULPI8sEPpuUF0izBeWGDgcBxPnYSp/5dHtPRUFRXjJKJeCT9Xy1ezziKmHeoRYcyCaHVhKwqC+o X-Microsoft-Antispam-PRVS: <DBXPR07MB3187CA86628D4504A90E9E7EDDE0@DBXPR07MB318.eurprd07.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(262104967686372)(148574349560750); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(10201501046)(100000703101)(100105400095)(6041248)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123560025)(20161123555025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DBXPR07MB318; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DBXPR07MB318; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DBXPR07MB318; 4:tYZNUuR2LEvJYJLp3Zu4UbV4ek4Oh2oAE9/vhD/8tQo?= =?us-ascii?Q?Tr9G69tVhPkPtdEUvHcbJTdaiIzpT7nSU7szkyKLkGwE/VYDf8GNK4OqI9hB?= =?us-ascii?Q?L3K6NEuKrnEx4uBl69ECVdFrB+uEXJdAuZG4ea7SDaqyhnUAPgt+vd82I0+0?= =?us-ascii?Q?B9suKWEjM8sy/kAkk5+CxUvQ/XiMcI7FiwYlgZB/LDPhKdKVrBgdIi+nwrKN?= =?us-ascii?Q?dcmm/Bl7Z/84Ogv0uOYFz+il/cMxBySCXhD2OI1JjT4oWsp6bvzhDDL9NP2b?= =?us-ascii?Q?ciJuVEebksSyvw+vq43tDeteBaYtSj788zKA0X8kgW8KoM6+k6XV8EU/IIFy?= =?us-ascii?Q?qqgNJ3u4AlJWi08vEUV+yeCi4Ls7ryBXfDHuqhaUSv1cbdA/aI28gvQNgIIq?= =?us-ascii?Q?b8tPaf3kF3DkajZWwvpt/BCiuXyGGnMMw8xvFmKlc1T9rMAeXsSN/OyONAXc?= =?us-ascii?Q?Zay9ERqXNnp8no7kRRmFPpKMJqGzGw/QTXepioyq9+A1mM9vb0Jv/Noi6pP9?= =?us-ascii?Q?yqyNMu/lYUDqe04J6EdDiLqdRuNBYgv5/Z6hgrQeBsm1WmuIuSF82GIn+OL5?= =?us-ascii?Q?h0D2o8VHQj+g6IjIzPVBxajcuEmKDir6qyXbQqhrGjkdjT8IWj25BCoq2nIQ?= =?us-ascii?Q?Z0b8TBU6payvKrYM3XLRX5aJ6GMN2kwDJeLw6C8TGN3IfWT+0KJETRuIHKom?= =?us-ascii?Q?PvfrVPpdcxn79wRqOojN7NPzfBJ7GzM1HvPfpyCyLLgX6i+HiZk8OwqOvPKr?= =?us-ascii?Q?sM52xJm3Xw9/Mz3sDdQs5ukHtdilVd/MR6uzbD/8YXyR7dP0fGuAV4pRn2uE?= =?us-ascii?Q?qMjEO4DZxIQv2lHxLBshWIqpepvcO9bI9CcKalRcYxORYt5klQPZQ5Smlrcy?= =?us-ascii?Q?6y1LLUH1wWUQ9u6q4CNqg9QYaMKRhgkP+hHQgM+dA2hnwE0V+BQKmxlyLYWg?= =?us-ascii?Q?abohhDm1qkiwOdMfOKRFJ4Tg6EajeQLd/HCDQvfjTnJa9/bH2AdOd/lBegn5?= =?us-ascii?Q?h8QW1zlRgXcyqq4DDP4/aim3va7bwwBpWkzldPAmvdJifa0ZIBVi8iPO9zx+?= =?us-ascii?Q?DmKP6r6IT0QkF3SeiZKJxpJSZGPY+GHruopLRyQiGlkWgA12h6F1I1tLBpLP?= =?us-ascii?Q?Gwiw44p9ghQMsV64vW1wqvEiS/XfLi3CvHjOm+mCfFy5cWU39si4NFA7c6rQ?= =?us-ascii?Q?pHEgut2p/8Dw2PfIGAw39rtz4w7ogz0EbTVBnyozsmq3WB33PSnYG8qULfAg?= =?us-ascii?Q?lWBVZZL99GbRrjtpnsvg1nxUlXta5m3xHpsox?= X-Forefront-PRVS: 034902F5BC X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39860400002)(39850400002)(39410400002)(39400400002)(39840400002)(39450400003)(6512007)(4326008)(25786009)(6306002)(6916009)(2950100002)(305945005)(6506006)(7736002)(966005)(53936002)(189998001)(86362001)(6486002)(42186005)(110136004)(107886003)(66066001)(47776003)(38730400002)(36756003)(6116002)(2906002)(2361001)(3846002)(2351001)(478600001)(5003940100001)(6666003)(5660300001)(50226002)(8676002)(81166006)(50466002)(33646002)(48376002)(50986999)(76176999); DIR:OUT; SFP:1101; SCL:1; SRVR:DBXPR07MB318; H:elxacz23q12.localdomain; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DBXPR07MB318; 23:DhAKTK8c5kgpLkjpcsGPfimEyjCumufwmdVHnHpvQD?= =?us-ascii?Q?wyr3FYHdwzCLgZH9EjIzWLH8zwwxUULModjVAL3UsmMvkSSIzu103o2iygFp?= =?us-ascii?Q?oIWX18sxJxoFojrbVgs7k+9HTzuAkEA7U98vMoi/gy6WdIrSp31ZkROhxWqN?= =?us-ascii?Q?i47xCsruCPL2ulWPPumyRDLwN0Y0NlrOpVDIEGNvcDtBThpgdewHaZjF//ti?= =?us-ascii?Q?BBwIZVeAX7hqHJ4a86HrcHtt1Q1m4cz0LFT+1HKmz2zR48bfPd7MdJOyowwT?= =?us-ascii?Q?D/P03xfPFt3PqC5kLiTDTtmjUkad35G3LPmctiO0jlnw6sfwfs7kSr8CQOBT?= =?us-ascii?Q?C3RAnV+r3ijzO+aJYorycwMPC00UQFp7IFjDJTevGNqsQYSFjCSVj03tos0I?= =?us-ascii?Q?NYCnwfdWoPU7MUEiKSweVHP78qFm6GIMqTsYVWa1lnT8kRAvC4Uli9Om7rIq?= =?us-ascii?Q?khPHDuLrUNvH8rH3MSQgF4I1gfPo/G2Of3IQDYPKBGeIWL3F5osKDSYJ6VcQ?= =?us-ascii?Q?N2G+Dhe3oig54xYO2Ezy1rRGlJHRAv3twXM3oczs7vtCu+YThccSs8l2GfdP?= =?us-ascii?Q?+JG0hmx/hKP1pSdtaTUAbietDEdQ9svnD7sLybhkyvxsHkqMTcwCNUVxJsml?= =?us-ascii?Q?onCEq/0EKtAFWdjXDx9vaXTbpjON1VPRqnXfca7QAp2Py+8GfOd/cnvtbH3M?= =?us-ascii?Q?1eSXBireul+zXalNDvVCWYwjJfpl+bQEk7zrXsDcN93xQG/17ZOvVVqZRZiX?= =?us-ascii?Q?P0yNZ3lGoTs0JuFd9RiEn0cOBAsT5t7s0aJHnEkUiGr2MakjYIrP9CCpODtw?= =?us-ascii?Q?PM71XtsbcpGS9gerQufxzrggJov0sN5hsGHh3svR9dLjKJQK8rk4TY3/lkQw?= =?us-ascii?Q?lt98Zg6OK+7QNNtj/Wqq+eyPKZClIsa+SKAy1At6Qvr1MuuZRLIKGhshUArl?= =?us-ascii?Q?nlumQKzBSIMc6jfSR5oKfZVB5Fo1KhdUF2eTBMUg+zy/C9PERUdceuNzomNd?= =?us-ascii?Q?p/m8asFKIAPSqeC+iaQ+HKOkrNhofgNH37Fp4bwgB1LaPS0FYfmqT4Pf63zB?= =?us-ascii?Q?A4kyLV7OAorxFexkMcc+iuovjvhJQAfFNIJ3bsAwThBzRCujNmp9eHGiRGM5?= =?us-ascii?Q?Jey/vEPXffY+PV9uo296yNvbyVXmf9?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DBXPR07MB318; 6:grHVqmkQounaD5tkvDWP4J7F2Llt1RvPxBCqykkZ9ud?= =?us-ascii?Q?7iX5STg/ngzi4yiGka4DnRM8J2JdV3XNf2A2FlinFa6wUq38Eqo1z800zsfH?= =?us-ascii?Q?uNYl60n1KUsck3sWSRixQlhlCkcab2p7fieebPVkfAShQjFz6buIpRG9h4ak?= =?us-ascii?Q?cBBW4a6OCQlFPMQ+EjsEYI8PKWj8e5vaO1ZkRAwKincnzJTKqS5bkSpYjEhM?= =?us-ascii?Q?8vA4AxlUwlZEr8pyvDJbB+tOv2RRaYc9EQzgWeQU2DJB8iSaqhXrKDJkB34s?= =?us-ascii?Q?zQIzSM9GfCanBI2HD6Skz4UZrXW9ZAH2i5vxTE5w8+FHUfikLOf5CVDggoF1?= =?us-ascii?Q?o93jqiN9qkMmMKyRwDY4os7aK6giJ8OeyayLuFb+Sx25ODMJ16MLQf5J7uUR?= =?us-ascii?Q?JxmXbqyaKfwoN7uymTf8oQS4PfMY/cY//45LbN/rjEldmdrESSEP2cyZRMbA?= =?us-ascii?Q?iVdWNoP88qSRigkiASk5NrOKjd7yj1U0FZMPN0zq/D6tTuPsI5qX6am/fCcV?= =?us-ascii?Q?wxTB2pY6re80iu4RpkAfHIB442YjkV7BoeFoE2cM26uUF1A58Bvp8FkI7L9U?= =?us-ascii?Q?sbCt3PqOpNxA4uOrEoZ4OgtBeqkBwwuOjrAdybMVaivoe120om8wOzM9ot38?= =?us-ascii?Q?mIFCIGjtBZQATeRpO7FhwBQIjGccpvoUVOufs2Ev0p9MhIhO1r2WHnMRKe0O?= =?us-ascii?Q?PS0OP+A1khRw5jJ6+gPR/PALHq5boEfhoHrXA4S3gyFBFT7PNlQowEAPiFsv?= =?us-ascii?Q?6Qo7GPew/YWHBcG6GucmLLc4GGZ9ajRh7GhV+CsevXX7WPgUdfKpRd8fmTpn?= =?us-ascii?Q?pbKSB1F8AS+hm1ACZTIIM/LI9NBqVa91wLZCOjFk0/DB7bDVVRf+iNWGR6wU?= =?us-ascii?Q?7XgWh0Sx5DNSZ9fOc8hBLGCj701xceNsYgmVDXf2E9irPc1hjLjIBPhsWZMv?= =?us-ascii?Q?7LMypv03k6QeQvsODmr4VeBc0CzUoIivVS6dXC9uzbxAL2r0lJXMYkgbq+Rc?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; DBXPR07MB318; 5:x24wz4uE1FkEcC5U4qKuEOOzgNIUcqd+mpq01cqRGjw78Dmoso6y4aWtzVlRe7D9MKH2jmDpSVhtVgqGFaZ2VkkbOKTKuW+t0akgUUMkzw0ppGJMqQ5NLt7+WrsDbPgq1IMMjIZs1dlIjpISS/hQ+MkQd3jy9ZsWHIRmBEt+uZZFA72Fzf8qA75KLWc5LP9F4V/r4rpU9bTkUn2YDuFeIogXBPTvEZNN8Uy/hzNB68RBqW7vuKa61+VBATjQl9xT9gWYun59t6SgjVFzaqoJ+lgwj7m9kqXu3V96M9xg6Ot3lWWUwp56LmiWI1FHs1DjsavYFGbREG6p5/qMY1s44AVoZwXjZgYsFngRuz/Vt2vA5ZC0z9+PFumG/U0FTGH8MWLd5ZXhRJcMSrxB92Leb/1pYMxltcIf7TvISaPhyR2OliE5B2PBdQ2nUoRG7qW/UOEYt3dosDulA4iJfmV7cuJqFUsxUYcTFpG5zyAHW5erblv9drpfGFNY+k+farqU; 24:1HMzJFwUZC6alaCRaDcgtZ+qPT3ght5UEz15kgljI3JIUnR7icAIihO6sV7RpJOiUv21/tCk8zl1jNF6a4WN5UjraC4DrgMXwFHCpGlJlYo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DBXPR07MB318; 7:smu9Qhqn+d/ab2OSfRz+zdAAqj/Ec8ZmFkDBEg+LiMX1LiM7J8AO3YgBCnyiuNGUQAKyAN5U2bHWfdvqYgDHrwrsEZOLUacij01lViGw7SUur81AX0cyPz0zL2ycVQYttuZTyNvV0zY/3t39MIID+OW/U/vPtKk+Igw8g/ZllU98ALMrDRB2UKjk1Q71bMc6+NAPfxnyDPFd7fBeTcg8NJi71m18O/vtDqVTJLCZjivnEHyINYfgiFtphsDW9eG68NmycjzRQqJw3wpkieOHrsynn/5S7yx5TdJSleznsyOc5DYGjKYVXNNFzWUXrN6FHpmiDr9vASez3MO+8BMYnNV5dtgzoXBjeb84oZkE+Wqe3GDv2+dyTbWJgSoTMKmRwMjeUfrOg05XKFggw5eVZhKEnK2muaTAChwaQJRbAkJnidtn+CpUtXGUZx0v3AnVnB/r0Tn1OZ37iqmZFpjNA6dPV6vtZJ3uAGB1XWE8KN5Ga/w+evPjgQkMC+p9sFIx33x5nzoT/eRjqIikRU3EKx/3UVB/cl09mCHhe4C4He5CuRVBOomSP7YmGsQns9/4tdOpMMOqC0qdUE+X717wCXIQP/0qD0FZMBGyL4Zd0x/T8mNABA8qcIAZ3IIs2z4h5xGw/flUOiyD5DxsAHBkRYoBR9S+d+f4FG9/p7Ktz93A5yLnLuDcz6kGKI5W+mIHrBIjJ5VSw4+R7xGSw08hVAzjEaAXE171nk782r4BZU8vmUBWZRhcEpM2TT5Su+X4Y8tackduOroiJw74cFsJFyaiigAeHkZiPh8Q7oVuoLM= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2017 17:45:15.9958 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBXPR07MB318 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes |
Commit Message
Simon Marchi
June 25, 2017, 5:45 p.m. UTC
clang has a too aggressive (or broken, depends on how you want to see it) -Wunused-function warning, which is triggered by the functions defined by DEF_VEC_* but not used in the current source file. Normally, it won't warn about unused static inline functions defined in header files, because it's expected that a source file won't use all functions defined in a header file it includes. However, the DEF_VEC_* macros define those functions in source files, which leads clang to think that we should remove those functions. It is therefore missing a check to see whether those functions are resulting from macro expansion. A bug already exists for that: https://bugs.llvm.org//show_bug.cgi?id=22712 It's quite easy to silence this warning in a localized way, that is in the DEF_VEC_* macros. gdb/ChangeLog: * common/diagnostics.h (DIAGNOSTIC_IGNORE_UNUSED_FUNCTION): New macro. * common/vec.h: Include diagnostics.h. (DEF_VEC_I, DEF_VEC_P, DEF_VEC_O): Ignore -Wunused-function warning. --- gdb/common/diagnostics.h | 3 +++ gdb/common/vec.h | 11 +++++++++++ 2 files changed, 14 insertions(+)
Comments
On 06/25/2017 06:45 PM, Simon Marchi wrote: > clang has a too aggressive (or broken, depends on how you want to see > it) -Wunused-function warning, There's no way to avoid the warning in this use case, so I can't see how to call it anything but the latter. > which is triggered by the functions > defined by DEF_VEC_* but not used in the current source file. Normally, > it won't warn about unused static inline functions defined in header > files, because it's expected that a source file won't use all functions > defined in a header file it includes. However, the DEF_VEC_* macros > define those functions in source files, which leads clang to think that > we should remove those functions. It is therefore missing a check to > see whether those functions are resulting from macro expansion. A bug > already exists for that: > > https://bugs.llvm.org//show_bug.cgi?id=22712 > > It's quite easy to silence this warning in a localized way, that is in > the DEF_VEC_* macros. > > gdb/ChangeLog: > > * common/diagnostics.h (DIAGNOSTIC_IGNORE_UNUSED_FUNCTION): New > macro. > * common/vec.h: Include diagnostics.h. > (DEF_VEC_I, DEF_VEC_P, DEF_VEC_O): Ignore -Wunused-function > warning. > --- > gdb/common/diagnostics.h | 3 +++ > gdb/common/vec.h | 11 +++++++++++ > 2 files changed, 14 insertions(+) > > diff --git a/gdb/common/diagnostics.h b/gdb/common/diagnostics.h > index 35bacf2..ee824a3 100644 > --- a/gdb/common/diagnostics.h > +++ b/gdb/common/diagnostics.h > @@ -35,9 +35,12 @@ > # define DIAGNOSTIC_IGNORE_SELF_MOVE DIAGNOSTIC_IGNORE ("-Wself-move") > # define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER \ > DIAGNOSTIC_IGNORE ("-Wdeprecated-register") > +# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \ > + DIAGNOSTIC_IGNORE ("-Wunused-function") GCC also understands this warning. So I think we should define the ignore macro for GCC too. Now that raises the question of whether you want to suppress the warning in vec.h for GCC too. But that's actually the point that made me come here to comment: Imagine that we'll want to suppress -Wunused-function with GCC in some other source file, for some reason. At that point we'll naturally want to adjust diagnostics.h to define # define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \ DIAGNOSTIC_IGNORE ("-Wunused-function") for GCC too instead of leaving DIAGNOSTIC_IGNORE_UNUSED_FUNCTION empty for GCC. But, that will make the existing (at that time) users of DIAGNOSTIC_IGNORE_UNUSED_FUNCTION start suppressing the warning on GCC too, and we may or not want that. This, to me indicates that: #1 - The common/diagnostics.h macros define the non-empty "ignore" macro on all compilers that understand it. Then vec.h does: DIAGNOSTIC_PUSH #ifdef __clang__ DIAGNOSTIC_IGNORE_UNUSED_FUNCTION #endif #2 - We name the macro something else more targeted for this specific use case, and define it to empty for GCC, and to -Wunused-function on clang. #2.1 - If put on common/diagnostics.h, name it something generic, like: /* Suppress -Wunused-function for functions defined in source files as result of expanding macros (that define the functions) defined in headers. */ #ifdef __lang # define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION_HEADER_MACRO_EXPANSION \ DIAGNOSTIC_IGNORE_UNUSED_FUNCTION #else # define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION_HEADER_MACRO_EXPANSION #endif #2.2 - Otherwise, define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION for for GCC and clang, and put something like this on top of vec.h: /* Comment describing issue and pointing to clang bug report. */ #ifdef __clang__ #define DIAGNOSTIC_IGNORE_UNUSED_VEC_FUNCTION \ DIAGNOSTIC_IGNORE_UNUSED_FUNCTION #else #define DIAGNOSTIC_IGNORE_UNUSED_VEC_FUNCTION #endif And use that instead of DIAGNOSTIC_IGNORE_FUNCTION. I think I prefer #2.2, then #2.1, then #1. Thanks, Pedro Alves
On 2017-06-26 11:28, Pedro Alves wrote: > On 06/25/2017 06:45 PM, Simon Marchi wrote: >> clang has a too aggressive (or broken, depends on how you want to see >> it) -Wunused-function warning, > > There's no way to avoid the warning in this use case, so I can't see > how to call it anything but the latter. > >> which is triggered by the functions >> defined by DEF_VEC_* but not used in the current source file. >> Normally, >> it won't warn about unused static inline functions defined in header >> files, because it's expected that a source file won't use all >> functions >> defined in a header file it includes. However, the DEF_VEC_* macros >> define those functions in source files, which leads clang to think >> that >> we should remove those functions. It is therefore missing a check to >> see whether those functions are resulting from macro expansion. A bug >> already exists for that: >> >> https://bugs.llvm.org//show_bug.cgi?id=22712 >> >> It's quite easy to silence this warning in a localized way, that is in >> the DEF_VEC_* macros. >> >> gdb/ChangeLog: >> >> * common/diagnostics.h (DIAGNOSTIC_IGNORE_UNUSED_FUNCTION): New >> macro. >> * common/vec.h: Include diagnostics.h. >> (DEF_VEC_I, DEF_VEC_P, DEF_VEC_O): Ignore -Wunused-function >> warning. >> --- >> gdb/common/diagnostics.h | 3 +++ >> gdb/common/vec.h | 11 +++++++++++ >> 2 files changed, 14 insertions(+) >> >> diff --git a/gdb/common/diagnostics.h b/gdb/common/diagnostics.h >> index 35bacf2..ee824a3 100644 >> --- a/gdb/common/diagnostics.h >> +++ b/gdb/common/diagnostics.h >> @@ -35,9 +35,12 @@ >> # define DIAGNOSTIC_IGNORE_SELF_MOVE DIAGNOSTIC_IGNORE >> ("-Wself-move") >> # define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER \ >> DIAGNOSTIC_IGNORE ("-Wdeprecated-register") >> +# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \ >> + DIAGNOSTIC_IGNORE ("-Wunused-function") > > GCC also understands this warning. So I think we should define > the ignore macro for GCC too. > > Now that raises the question of whether you want to suppress the > warning in vec.h for GCC too. But that's actually the point > that made me come here to comment: > > Imagine that we'll want to suppress -Wunused-function with GCC > in some other source file, for some reason. At that point we'll > naturally want to adjust diagnostics.h to define > > # define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \ > DIAGNOSTIC_IGNORE ("-Wunused-function") > > for GCC too instead of leaving DIAGNOSTIC_IGNORE_UNUSED_FUNCTION empty > for GCC. But, that will make the existing (at that time) users > of DIAGNOSTIC_IGNORE_UNUSED_FUNCTION start suppressing the warning > on GCC too, and we may or not want that. > > This, to me indicates that: > > #1 - The common/diagnostics.h macros define the non-empty "ignore" > macro on all compilers that understand it. Then vec.h does: > > DIAGNOSTIC_PUSH > #ifdef __clang__ > DIAGNOSTIC_IGNORE_UNUSED_FUNCTION > #endif > > #2 - We name the macro something else more targeted for this > specific use case, and define it to empty for GCC, and to > -Wunused-function on clang. > > #2.1 - If put on common/diagnostics.h, name it something > generic, like: > > /* Suppress -Wunused-function for functions defined in source files as > result of expanding macros (that define the functions) defined > in headers. */ > #ifdef __lang > # define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION_HEADER_MACRO_EXPANSION \ > DIAGNOSTIC_IGNORE_UNUSED_FUNCTION > #else > # define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION_HEADER_MACRO_EXPANSION > #endif > > #2.2 - Otherwise, define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION > for for GCC and clang, and put something like this on > top of vec.h: > > /* Comment describing issue and pointing to clang bug report. */ > #ifdef __clang__ > #define DIAGNOSTIC_IGNORE_UNUSED_VEC_FUNCTION \ > DIAGNOSTIC_IGNORE_UNUSED_FUNCTION > #else > #define DIAGNOSTIC_IGNORE_UNUSED_VEC_FUNCTION > #endif > > And use that instead of DIAGNOSTIC_IGNORE_FUNCTION. > > I think I prefer #2.2, then #2.1, then #1. > > Thanks, > Pedro Alves I wanted to keep it simple and easy to understand, so I didn't want to add to many layers of definitions. I thought that even if we ignored -Wunused-function in the vector macro expansions when compiling with GCC, it wasn't a big deal. But 2.2 is fine with me, I'll try it. It's all temporary anyway (famous last words), since the days of vec.h are counted :).
On 06/26/2017 01:28 PM, Simon Marchi wrote: > I wanted to keep it simple and easy to understand, so I didn't want to > add to many layers of definitions. I thought that even if we ignored > -Wunused-function in the vector macro expansions when compiling with > GCC, it wasn't a big deal. That's another option (and I think it should be fine, with a comment), but it wasn't what the patch was doing, so you'd be leaving deciding whether that's fine to whoever comes next and wants to make DIAGNOSTICS_IGNORE_UNUSED_FUNCTION on gcc. IMO, that's a form of technical dept that we should avoid. The point here I'm trying to convey is: avoid letting the specifics of users of the DIAGNOSTICS_IGNORE users bleed into the conditionals that are used to define the macros in diagnostics.h. At least for the macros that map directly to the warning name. > But 2.2 is fine with me, I'll try it. It's > all temporary anyway (famous last words), since the days of vec.h are > counted :). True. :-) Thanks, Pedro Alves
On 2017-06-26 14:47, Pedro Alves wrote: > On 06/26/2017 01:28 PM, Simon Marchi wrote: > >> I wanted to keep it simple and easy to understand, so I didn't want to >> add to many layers of definitions. I thought that even if we ignored >> -Wunused-function in the vector macro expansions when compiling with >> GCC, it wasn't a big deal. > > That's another option (and I think it should be fine, with a comment), > but it wasn't what the patch was doing, so you'd be leaving deciding > whether that's fine to whoever comes next and wants to make > DIAGNOSTICS_IGNORE_UNUSED_FUNCTION on gcc. IMO, that's a form of > technical dept that we should avoid. You are right, and it was due to technical laziness :P.
diff --git a/gdb/common/diagnostics.h b/gdb/common/diagnostics.h index 35bacf2..ee824a3 100644 --- a/gdb/common/diagnostics.h +++ b/gdb/common/diagnostics.h @@ -35,9 +35,12 @@ # define DIAGNOSTIC_IGNORE_SELF_MOVE DIAGNOSTIC_IGNORE ("-Wself-move") # define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER \ DIAGNOSTIC_IGNORE ("-Wdeprecated-register") +# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \ + DIAGNOSTIC_IGNORE ("-Wunused-function") #else # define DIAGNOSTIC_IGNORE_SELF_MOVE # define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER +# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION #endif #endif /* COMMON_DIAGNOSTICS_H */ diff --git a/gdb/common/vec.h b/gdb/common/vec.h index 982f771..0221c88 100644 --- a/gdb/common/vec.h +++ b/gdb/common/vec.h @@ -20,6 +20,8 @@ #if !defined (GDB_VEC_H) #define GDB_VEC_H +#include "diagnostics.h" + /* The macros here implement a set of templated vector types and associated interfaces. These templates are implemented with macros, as we're not in C++ land. The interface functions are @@ -408,6 +410,8 @@ typedef struct VEC(T) \ /* Vector of integer-like object. */ #define DEF_VEC_I(T) \ +DIAGNOSTIC_PUSH \ +DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \ static inline void VEC_OP (T,must_be_integral_type) (void) \ { \ (void)~(T)0; \ @@ -416,10 +420,13 @@ static inline void VEC_OP (T,must_be_integral_type) (void) \ VEC_T(T); \ DEF_VEC_FUNC_P(T) \ DEF_VEC_ALLOC_FUNC_I(T) \ +DIAGNOSTIC_POP \ struct vec_swallow_trailing_semi /* Vector of pointer to object. */ #define DEF_VEC_P(T) \ +DIAGNOSTIC_PUSH \ +DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \ static inline void VEC_OP (T,must_be_pointer_type) (void) \ { \ (void)((T)1 == (void *)1); \ @@ -428,13 +435,17 @@ static inline void VEC_OP (T,must_be_pointer_type) (void) \ VEC_T(T); \ DEF_VEC_FUNC_P(T) \ DEF_VEC_ALLOC_FUNC_P(T) \ +DIAGNOSTIC_POP \ struct vec_swallow_trailing_semi /* Vector of object. */ #define DEF_VEC_O(T) \ +DIAGNOSTIC_PUSH \ +DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \ VEC_T(T); \ DEF_VEC_FUNC_O(T) \ DEF_VEC_ALLOC_FUNC_O(T) \ +DIAGNOSTIC_POP \ struct vec_swallow_trailing_semi /* Avoid offsetof (or its usual C implementation) as it triggers