<tt><font size=2>On Wed, Apr 18, 2018 at 2:00 AM, via cfe-dev <cfe-dev@lists.llvm.org>
wrote:<br>
><br>
> Hello everyone,<br>
><br>
> currently I'm checking if some functions are inlined with clang or
not. Because of that I have a lot of unused variables storing return values
- but clang optimizes them away including the function. Even "volatile"
didn't stopped Clang from doing so. So I tried using the GCC attribute
"used". But clang just responses:<br>
> 1>main.cpp(9,23): warning : 'used' attribute ignored [-Wignored-attributes]<br>
> 1>          void* __attribute__((used))
adr = _ReturnAddress();<br>
><br>
><br>
> Why is clang doing this? And how can I prevent him easily from optimizing
my values without referencing them?<br>
<br>
It's hard to say for certain without a bit more information, but my<br>
guess is that your variable does not have static storage duration. For<br>
instance, the used attribute does not apply to local variables unless<br>
they're also declared static.<br>
<br>
HTH!<br>
<br>
~Aaron<br>
</font></tt>
<br><tt><font size=2 color=blue>Hey Aaron,</font></tt>
<br>
<br><tt><font size=2 color=blue>what is HTH? :0</font></tt>
<br>
<br><tt><font size=2 color=blue>Ohhh! Thank you! This was the problem.
I forgot to add "static". Sorry!</font></tt>
<br>
<br><tt><font size=2 color=blue>Kind greetings,</font></tt>
<br><tt><font size=2 color=blue>Björn</font></tt>
<br><font size=2 face="sans-serif"><br>
Als GmbH eingetragen im Handelsregister Bad Homburg v.d.H. HRB 9816, USt.ID-Nr.
DE 114 165 789<br>
Geschäftsführer: Dr. Hiroshi Nakamura, Dr. Robert Plank, Markus Bode, Heiko
Lampert, Takashi Nagano, Takeshi Fukushima. Junichi Tajika<br>
</font>