[LLVMbugs] [Bug 7486] New: clang: hard to understand error message for missing macro declaration
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Thu Jun 24 12:55:04 PDT 2010
http://llvm.org/bugs/show_bug.cgi?id=7486
Summary: clang: hard to understand error message for missing
macro declaration
Product: clang
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: -New Bugs
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: edwintorok at gmail.com
CC: llvmbugs at cs.uiuc.edu
This compiles fine with clang:
#define FO0(X) unsigned X = 0;
FOO(y)
struct Bar {
int x;
However this gives an undecipherable error message (without looking at the
source code at least):
FO0(y)
struct Bar {
int x;
};
$ clang foo.c -c
foo.c:2:8: warning: declaration of 'struct Bar' will not be visible outside of
this function
struct Bar {
^
foo.c:2:1: error: declaration does not declare a parameter
struct Bar {
^
foo.c:4:3: error: expected function body after function declarator
};
^
3 diagnostics generated.
The error is that the header defining FO0 was not included (or the name of the
macro was typoed).
Clang's error says nothing about FO0.
One of the notes should show the "function"'s name at least.
Also clang has plenty of clues that this really isn't a function declaration,
so it could hint that maybe you wanted to invoke an undeclared macro.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list