From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2484 invoked by alias); 11 Apr 2014 20:17:40 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 2473 invoked by uid 89); 11 Apr 2014 20:17:40 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.3 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-qc0-f178.google.com Received: from mail-qc0-f178.google.com (HELO mail-qc0-f178.google.com) (209.85.216.178) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Fri, 11 Apr 2014 20:17:39 +0000 Received: by mail-qc0-f178.google.com with SMTP id i8so6396028qcq.23 for ; Fri, 11 Apr 2014 13:17:37 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.224.114.209 with SMTP id f17mr1715974qaq.40.1397247457097; Fri, 11 Apr 2014 13:17:37 -0700 (PDT) Received: by 10.140.30.74 with HTTP; Fri, 11 Apr 2014 13:17:36 -0700 (PDT) In-Reply-To: References: Date: Fri, 11 Apr 2014 20:17:00 -0000 Message-ID: Subject: Re: [patch] Fix unused static symbols so they're not dropped by clang From: David Blaikie To: Doug Evans Cc: gdb-patches , Eric Christopher Content-Type: text/plain; charset=ISO-8859-1 X-IsSubscribed: yes X-SW-Source: 2014-04/txt/msg00220.txt.bz2 On Fri, Apr 11, 2014 at 11:23 AM, Doug Evans wrote: > On Thu, Apr 10, 2014 at 11:51 PM, David Blaikie wrote: >> Several tests used file-static functions and variables that were not >> referenced by the code. Even at -O0, clang omits these entities at the >> frontend so the tests fail. >> >> Since it doesn't look like these tests needed this functionality for >> what they were testing, I've modified the variables/functions to >> either be non-static, or marked them with __attribute__((used)). >> >> If it's preferred that I use the attribute more pervasively, rather >> than just making the entities non-static, I can provide a patch for >> that (or some other preferred solution). There's certainly precedent >> for both (non-static entities and __attribute__((used)) in the >> testsuite already and much more of the former than the latter). >> >> I have commit-after-review access, so just looking for sign-off here. > > Yikes. > > This is becoming more and more painful (not your fault of course!). > I can imagine this being a never ending source of regressions. > > Does clang perchance have a -O0-and-yes-I-really-mean-O0 option? Sort of. It does have -femit-all-decls, which, though poorly named, causes clang to produce definitions for unused static entities and even unused inline functions (which GCC doesn't do). I'm not sure where we'd build in passing that flag from the GCC test suite. I'd rather not have "clang passes the test suite only if you pass this carefully chosen set of flags".