[LLVMbugs] [Bug 18529] New: Clang warns unused volatile global variable
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Fri Jan 17 23:36:34 PST 2014
http://llvm.org/bugs/show_bug.cgi?id=18529
Bug ID: 18529
Summary: Clang warns unused volatile global variable
Product: clang
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Frontend
Assignee: unassignedclangbugs at nondot.org
Reporter: chengniansun at gmail.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
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.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140118/926e7c95/attachment.html>
More information about the llvm-bugs
mailing list