http://llvm.org/bugs/show_bug.cgi?id=5253
Summary: [GNU Extension] Redefinition of "extern inline" function
Product: clang
Version: trunk
Platform: PC
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: Semantic Analyzer
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
Blocks: 4719
GCC allows redefinition of an "extern inline" function in GNU89 mode, accepting
the following code:
extern inline int f(int a) { return a; }
int f(int b) { return b; }
which Clang rejects with
$ clang -std=gnu89 foo.c
foo.c:3:5: error: redefinition of 'f'
int f(int b) { return b; }
^
foo.c:1:19: note: previous definition is here
extern inline int f(int a) { return a; }
^
2 diagnostics generated.
We previously decided that we would not implement this feature (see bug #4719),
but apparently this extension is used by Wine:
http://lists.cs.uiuc.edu/pipermail/cfe-dev/2009-October/006766.html
We should reconsider.
--
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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs