Hi,

On 08/21/2015 08:30 AM, Markus Trippelsdorf wrote:
On 2015.08.21 at 08:18 +0200, Markus Trippelsdorf wrote:
On 2015.08.19 at 21:46 +0200, Paolo Carlini wrote:
Hi,

submitter noticed that, in violation of [basic.start.main], we don't
reject as ill-formed the declaration of a 'main' variable in the global
namespace. Not a big deal IMHO, but the below simple check works well
for me on x86_64-linux.
Well, it breaks building Firefox for example (several violations).
I'm not sure this is really worth the hassle. Maybe a warning instead of
an error would be acceptable?
For example:

  % echo "void foo() { int main; }" | g++ -c -x c++ -
<stdin>: In function ‘void foo()’:
<stdin>:1:18: error: cannot declare ‘::main’ to be a global variable
This is simply a bug in my patch, isn't intended. I'll see if I can fix it today or I will simply revert the change for now. Sorry about that. Another issue, is whether we want to implement that sentence, and we want an error. For example, current clang does, and emits an error. I don't have a strong opinion about that.

Paolo.

Reply via email to