]> granicus.if.org Git - clang/commit
[Sema] main can't be declared as global variable, in C++.
authorDavide Italiano <davide@freebsd.org>
Fri, 14 Aug 2015 14:13:29 +0000 (14:13 +0000)
committerDavide Italiano <davide@freebsd.org>
Fri, 14 Aug 2015 14:13:29 +0000 (14:13 +0000)
commit93fc20d91cb409d32000efe0774b1b3d150eeee9
treeb76a44ce1280ffac67210e3f58ac137f9b8426bd
parentd2bb23931372b6ca308b8757bd6c4dc37ebb1b4d
[Sema] main can't be declared as global variable, in C++.

So, we now reject that. We also warn for any external-linkage global
variable named main in C, because it results in undefined behavior.

PR:   24309
Differential Revision: http://reviews.llvm.org/D11658
Reviewed by: rsmith

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@245051 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/DiagnosticSemaKinds.td
lib/Sema/SemaDecl.cpp
test/CXX/basic/basic.start/basic.start.main/p3.cpp [new file with mode: 0644]
test/Sema/warn-extern-main.c [new file with mode: 0644]