From: Julien Grall <julien.grall@linaro.org>
To: Jan Beulich <JBeulich@suse.com>
Cc: xen-devel@lists.xenproject.org,
Daniel De Graaf <dgdegra@tycho.nsa.gov>,
stefano.stabellini@citrix.com, ian.campbell@citrix.com,
tim@xen.org
Subject: Re: [PATCH 05/34] xen/xsm: flask: Remove unused function avc_sidcmp
Date: Wed, 26 Mar 2014 17:06:41 +0000 [thread overview]
Message-ID: <53330921.3050309@linaro.org> (raw)
In-Reply-To: <5333119D020000780000291A@nat28.tlf.novell.com>
On 03/26/2014 04:42 PM, Jan Beulich wrote:
>>>> On 26.03.14 at 17:11, <julien.grall@linaro.org> wrote:
>> On 03/26/2014 11:57 AM, Jan Beulich wrote:
>>>>>> On 25.03.14 at 17:55, <julien.grall@linaro.org> wrote:
>>>> Fix compilation with Clang 3.5:
>>>>
>>>> avc.c:657:19: error: unused function 'avc_sidcmp' [-Werror,-Wunused-function]
>>>> static inline int avc_sidcmp(u32 x, u32 y)
>>>
>>> Despite Daniel having acked this already, this seems conceptually wrong
>>> to me: static inline functions are quite frequently unused (and I assume
>>> the compiler warns about them only if they're not in a header file), and
>>> hence the compiler shouldn't be warning about them in the first place.
>>
>> This function has not been used seen 2007. I think this is the only
>> static inline function not defined in headers which is not used.
>>
>> Why shouldn't the compiler warn about it? Rather than static inline
>> function defined in the header, this kind function is dead code. If we
>> want to keep it we should at least mark them as unused.
>>
>> IHMO I don't think we need to keep function that weren't used since ages
>> and I bet it was a forgotten when the code was reworked a long time ago.
>
> Yes, and my comment wasn't about this specific function, but the
> general pattern: You justified your change with the build breakage,
> whereas you could have stated what you said just now in your
> reply. IOW I'm fine with you cleaning up things that were more or
> less obviously forgotten in an earlier change. But code adjustments
> just to satisfy an overly picky compiler aren't that nice. After all
> such functions can serve a purpose (and I think if you looked around
> you'd find other unused stuff that could be deleted yet - so far - isn't
> being, as being potentially useful in the future), and the compiler here
> - from what I can tell - is warning on these simply because they aren't
> in header files. Which in turn raises the question how the compiler
> knows what a header file is (remember that we have quite a few
> instances of .c files including other .c files, and I'd bet the compiler
> treats these as header files too). Summary: Likely the compiler is
> issuing this sort of warning inconsistently, and hence it would better
> not issue the warning at all (or at least provide a way to suppress it).
Thanks for your comment. I will update the different commit message.
The new version of clang has amazing feature like guard checking (see
patch #17)... I was wondering the same thing when I first discovered
this kind of errors.
I guess with the '# 1 "/local/.../.h" hints the compiler is able to know
where does the error come from.
I will try to find why clang is considering static inline invalid in .c
context.
--
Julien Grall
next prev parent reply other threads:[~2014-03-26 17:06 UTC|newest]
Thread overview: 152+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-25 16:55 [PATCH 00/34] Add clang support for ARM and cleanups Julien Grall
2014-03-25 16:55 ` [PATCH 01/34] xen: clang: Disable initializer-overrides warning Julien Grall
2014-03-26 11:51 ` Jan Beulich
2014-03-26 15:00 ` Julien Grall
2014-03-26 15:09 ` Tim Deegan
2014-03-26 15:11 ` Julien Grall
2014-03-25 16:55 ` [PATCH 02/34] xen: clang: Disable built-in assembler Julien Grall
2014-03-26 11:53 ` Jan Beulich
2014-03-26 13:16 ` Tim Deegan
2014-03-26 15:08 ` Julien Grall
2014-03-26 15:30 ` Jan Beulich
2014-03-27 18:01 ` Tim Deegan
2014-03-28 8:14 ` Jan Beulich
2014-03-28 11:28 ` Tim Deegan
2014-03-28 11:39 ` Jan Beulich
2014-04-03 16:07 ` [PATCH v2] asm-offsets: encode magic asm-offset runes as strings Tim Deegan
2014-04-03 16:25 ` Ian Campbell
2014-04-04 7:11 ` Jan Beulich
2014-04-23 13:17 ` Julien Grall
2014-04-24 10:45 ` Tim Deegan
2014-04-24 11:29 ` Julien Grall
2014-03-29 22:55 ` [PATCH 02/34] xen: clang: Disable built-in assembler Julien Grall
2014-03-31 8:58 ` Jan Beulich
2014-04-01 13:11 ` Ian Campbell
2014-04-01 14:50 ` Julien Grall
2014-04-01 15:28 ` Ian Campbell
2014-04-01 15:52 ` Julien Grall
2014-03-25 16:55 ` [PATCH 03/34] xen: clang: Support correctly cross-compile Julien Grall
2014-03-25 16:55 ` [PATCH 04/34] xen/compiler: Introduce always_unused define Julien Grall
2014-03-25 17:34 ` Stefano Stabellini
2014-03-25 17:56 ` Julien Grall
2014-03-25 16:55 ` [PATCH 05/34] xen/xsm: flask: Remove unused function avc_sidcmp Julien Grall
2014-03-25 17:36 ` Daniel De Graaf
2014-03-26 11:57 ` Jan Beulich
2014-03-26 16:11 ` Julien Grall
2014-03-26 16:42 ` Jan Beulich
2014-03-26 17:06 ` Julien Grall [this message]
2014-03-26 17:30 ` Julien Grall
2014-03-25 16:55 ` [PATCH 06/34] xen/x86: shadow: sh_next_page is only used when GUEST_PAGING_LEVELS = 2 Julien Grall
2014-03-25 16:55 ` [PATCH 07/34] xen/common: sched_sedf: Remove unused functions Julien Grall
2014-03-25 17:03 ` George Dunlap
2014-03-25 16:55 ` [PATCH 08/34] xen/common: rcupdate: Remove unused function rcu_batch_after Julien Grall
2014-03-25 16:55 ` [PATCH 09/34] xen/common: tmem: Remove dumb check in do_tmem_destroy_pool Julien Grall
2014-03-25 18:05 ` Andrew Cooper
2014-03-25 18:18 ` Julien Grall
2014-04-03 18:06 ` Konrad Rzeszutek Wilk
2014-05-22 16:01 ` [PATCH 09/34] xen/common: tmem: Remove dumb check in do_tmem_destroy_pool [and 2 more messages] Ian Jackson
2014-05-23 6:08 ` Jan Beulich
2014-05-23 10:23 ` Ian Jackson
2014-05-23 10:47 ` Jan Beulich
2014-03-25 16:55 ` [PATCH 10/34] xen/crypto: rijndael: Fix compilation with Clang 3.5 Julien Grall
2014-04-01 15:54 ` Keir Fraser
2014-03-25 16:55 ` [PATCH 11/34] xen/arm: Introduce __builtin_stack_pointer Julien Grall
2014-03-25 17:18 ` Ian Campbell
2014-03-25 18:01 ` Julien Grall
2014-03-26 10:31 ` Ian Campbell
2014-03-26 10:38 ` Julien Grall
2014-03-26 10:42 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 12/34] xen/arm: psci: Don't need to check if vcpuid is negative Julien Grall
2014-03-27 16:42 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 13/34] xen/arm: gic: Introduce GIC_SGI_MAX Julien Grall
2014-03-25 18:19 ` Stefano Stabellini
2014-03-25 23:23 ` Julien Grall
2014-03-26 9:03 ` Ian Campbell
2014-03-26 9:41 ` Julien Grall
2014-03-26 10:21 ` Ian Campbell
2014-03-26 9:57 ` Julien Grall
2014-03-26 14:24 ` Stefano Stabellini
2014-03-25 16:55 ` [PATCH 14/34] xen/arm: mm: Mark check_memory_layout_alignment_constraints as unused Julien Grall
2014-03-27 16:42 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 15/34] xen/arm: traps: Mark check_stack_alignment_constraints " Julien Grall
2014-03-27 16:43 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 16/34] xen/arm: Guard correctly asm-arm/platforms/midway.h Julien Grall
2014-03-27 16:43 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 17/34] xen/arm: Guard correctly asm-arm/platform/omap5.h Julien Grall
2014-03-27 16:44 ` Ian Campbell
2014-03-27 16:52 ` Julien Grall
2014-03-27 17:06 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 18/34] xen/arm: omap5: Correctly constify platform compatibility list Julien Grall
2014-03-27 17:03 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 19/34] xen/arm: Provide eabi wrapper for __aeabi_mem* functions Julien Grall
2014-03-25 17:25 ` Ian Campbell
2014-03-25 18:12 ` Julien Grall
2014-03-26 10:39 ` Ian Campbell
2014-03-26 15:38 ` Julien Grall
2014-03-26 15:46 ` Julien Grall
2014-03-26 15:47 ` Ian Campbell
2014-03-26 16:01 ` Julien Grall
2014-03-26 16:11 ` Ian Campbell
2014-03-26 16:16 ` Julien Grall
2014-03-26 16:22 ` Tim Deegan
2014-03-26 16:39 ` Julien Grall
2014-03-26 16:42 ` Ian Campbell
2014-03-26 16:46 ` Tim Deegan
2014-03-26 16:52 ` Julien Grall
2014-03-25 16:55 ` [PATCH 20/34] xen/common: cpupool: cpupool_unassign_cpu is only used internally Julien Grall
2014-03-31 5:02 ` Juergen Gross
2014-03-25 16:55 ` [PATCH 21/34] xen/common: domctl: Some functions are " Julien Grall
2014-04-01 17:40 ` Keir Fraser
2014-03-25 16:55 ` [PATCH 22/34] xen/common: tmem: " Julien Grall
2014-03-25 16:55 ` [PATCH 23/34] xen/sched: credit2: " Julien Grall
2014-03-25 17:03 ` George Dunlap
2014-03-25 16:55 ` [PATCH 24/34] xen/arm: setup: setup_cache is " Julien Grall
2014-03-27 17:07 ` Ian Campbell
2014-03-28 17:17 ` Julien Grall
2014-03-25 16:55 ` [PATCH 25/34] xen/arm: traps: show_stack " Julien Grall
2014-03-27 17:08 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 26/34] xen/arm: traps: Drop dump_guest_s1_walk Julien Grall
2014-03-27 17:09 ` Ian Campbell
2014-04-01 16:59 ` Julien Grall
2014-04-02 8:38 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 27/34] xen/arm: time: move ticks_to_ns and ns_to_ticks in asm/time.h Julien Grall
2014-03-27 17:11 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 28/34] xen/xsm: flask: flask_disable is only used internally Julien Grall
2014-03-25 17:36 ` Daniel De Graaf
2014-03-25 16:55 ` [PATCH 29/34] xen/xsm: flask: ss: remove unused function determine_oocontext Julien Grall
2014-03-25 17:37 ` Daniel De Graaf
2014-03-25 16:55 ` [PATCH 30/34] xen: Add missing includes on different files Julien Grall
2014-03-25 17:38 ` Daniel De Graaf
2014-03-26 12:57 ` Jan Beulich
2014-03-26 17:41 ` Julien Grall
2014-03-27 7:57 ` Jan Beulich
2014-04-09 16:06 ` Julien Grall
2014-04-09 16:17 ` Jan Beulich
2014-04-09 16:40 ` Julien Grall
2014-03-27 17:11 ` Ian Campbell
2014-03-27 17:30 ` Julien Grall
2014-03-27 17:39 ` Ian Campbell
2014-03-27 17:47 ` Julien Grall
2014-03-28 9:59 ` Ian Campbell
2014-04-01 17:58 ` Julien Grall
2014-04-02 8:45 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 31/34] tools: Disable ignored-attributes warning when compiling with clang Julien Grall
2014-03-27 17:14 ` Ian Campbell
2014-03-27 17:49 ` Julien Grall
2014-09-13 18:42 ` [PATCH] clang: sizeof(type) must not have __attribute__(aligned) Marcin Cieslak
2014-09-16 16:21 ` Ian Campbell
2014-09-16 18:26 ` Julien Grall
2014-09-16 18:32 ` Ian Campbell
2014-09-17 10:50 ` Jan Beulich
2014-09-17 21:18 ` Julien Grall
2014-03-25 16:55 ` [PATCH 32/34] tools/libxl: list_domains: shutdown is typed unsigned Julien Grall
2014-03-25 18:22 ` Andrew Cooper
2014-03-27 17:15 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 33/34] tools/libxl: libxl__json_object_to_yajl_gen should return yajl_gen_status Julien Grall
2014-03-25 17:28 ` Ian Campbell
2014-03-27 12:37 ` Julien Grall
2014-03-27 17:16 ` [PATCH 33/34] tools/libxl: libxl__json_object_to_yajl_gen should Ian Campbell
2014-03-25 16:55 ` [PATCH 34/34] DO NOT APPLY xen/common: kernel: Workaround clang 3.5 Julien Grall
2014-03-25 18:22 ` [PATCH 00/34] Add clang support for ARM and cleanups Stefano Stabellini
2014-03-25 23:26 ` Julien Grall
2014-03-27 16:34 ` Tim Deegan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53330921.3050309@linaro.org \
--to=julien.grall@linaro.org \
--cc=JBeulich@suse.com \
--cc=dgdegra@tycho.nsa.gov \
--cc=ian.campbell@citrix.com \
--cc=stefano.stabellini@citrix.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).