llvm/llvm-project
Vedi su GitHubCan not use C99 function names as variable names in C89
Open
#15.522 aperta il 4 feb 2013
bugzillacclang:frontendconfirmedgood first issuerejects-valid
Metriche repository
- Star
- (26.378 star)
- Metriche merge PR
- (Merge medio 1g 2h) (1000 PR mergiate in 30 g)
Descrizione
| Bugzilla Link | 15150 |
| Version | unspecified |
| OS | All |
| Reporter | LLVM Bugzilla Contributor |
| CC | @gribozavr |
Extended Description
The following code doesn't compile in clang, but does in gcc:
int logf = 5;
int main() {
return logf;
}
# gcc test.c -o test -std=c89
# ./test; echo $?
5
# clang test.c -o test -std=c89
test.c:1:5: error: redefinition of 'logf' as different kind of symbol
int logf = 5;
^
test.c:1:5: note: previous definition is here
test.c:4:16: warning: incompatible pointer to integer conversion returning 'float (float)' from a function with result type 'int' [-Wint-conversion]
return logf;
^~~~
1 warning and 1 error generated.