[clang] [Clang] strengthen checks for 'main' function to meet [basic.start.main] p3 requirements (PR #101853)

via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 6 08:48:46 PDT 2024


================
@@ -990,6 +990,12 @@ def warn_main_redefined : Warning<"variable named 'main' with external linkage "
     "has undefined behavior">, InGroup<Main>;
 def ext_main_used : Extension<
     "referring to 'main' within an expression is a Clang extension">, InGroup<Main>;
+def ext_main_invalid_linkage_specification : ExtWarn<
+  "'main' should not be "
+  "'extern \"%select{C|C++}0\"'">, InGroup<Main>;
+def err_main_invalid_linkage_specification : Error<
+  "'main' should not be "
+  "'extern \"%select{C|C++}0\"'">;
----------------
Sirraide wrote:

> Is it advisable to use force push, or is it better to keep the commit history in PRs?

I don’t think we have a policy on that officially, and it doesn’t really matter because we do squash+merge anyway, so the commit history for a pr can be as messy as it needs to be. *Personally*, however, I’d prefer it if people *didn’t* use force pushes simply because that way I know what was added and what I haven’t reviewed yet instead of having to go over the entire pr again.

https://github.com/llvm/llvm-project/pull/101853


More information about the cfe-commits mailing list