This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/60139] New: Imprecise column number for -pedantic on non-computable initializer element
- From: "chengniansun at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 10 Feb 2014 23:37:55 +0000
- Subject: [Bug c/60139] New: Imprecise column number for -pedantic on non-computable initializer element
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60139
Bug ID: 60139
Summary: Imprecise column number for -pedantic on
non-computable initializer element
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: chengniansun at gmail dot com
I have two questions regarding the warnings by gcc on array initializers.
1) the column numbers in the warnings by -pedantic are not precise.
2) the warning message says the warning is enabled by default, but in fact the
warning is only enabled with -pedantic. When I use the command
$gcc-trunk -c -std=c89 non-constant-initializers.c
then no warning is emitted.
$: cat non-constant-initializers.c
void fn() {
int a1;
int *p1 = &a1;
int** array[5] =
{&p1,
(void*)0, (void*)0, (void*)0, &p1};
}
$: gcc-trunk -c -std=c89 -pedantic non-constant-initializers.c
non-constant-initializers.c: In function âfnâ:
non-constant-initializers.c:5:3: warning: initializer element is not computable
at load time [enabled by default]
{&p1,
^
non-constant-initializers.c:6:9: warning: initializer element is not computable
at load time [enabled by default]
(void*)0, (void*)0, (void*)0, &p1};
^
$: gcc-trunk -c -std=c89 non-constant-initializers.c
$:
$: