<html>
<head>
<base href="http://llvm.org/bugs/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Clang warns unused volatile global variable"
href="http://llvm.org/bugs/show_bug.cgi?id=18529">18529</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Clang warns unused volatile global variable
</td>
</tr>
<tr>
<th>Product</th>
<td>clang
</td>
</tr>
<tr>
<th>Version</th>
<td>trunk
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>Frontend
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedclangbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>chengniansun@gmail.com
</td>
</tr>
<tr>
<th>CC</th>
<td>llvmbugs@cs.uiuc.edu
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr></table>
<p>
<div>
<pre>Clang warns unused volatile global variable. As specified in the C standard,
the keyword "volatile" indicates that the variable may be used in a way UNKNOWN
to the compiler.
In the following instructions, I have a tiny program with a volatile global
variable. Even the program is closed with a main function, the developers are
still be able to reference this variable with its name after compilation and
inject assembly code into the assembly file. Therefore, this global variable is
not unused and should not be warned.
$: cat unused-var.c
static volatile int a = 1;
int main() {return 0;}
$: clang-trunk -Weverything -std=c99 -pedantic unused-var.c
unused-var.c:1:21: warning: unused variable 'a' [-Wunused-variable]
static volatile int a = 1;
^
1 warning generated.
$: clang-trunk --version
clang version 3.5 (trunk 198918)
Target: x86_64-unknown-linux-gnu
Thread model: posix
$: gcc-trunk -Wall -Wextra -std=c99 -pedantic unused-var.c
$: gcc-trunk --version
gcc-trunk (GCC) 4.9.0 20140109 (experimental)
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>