http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51186

             Bug #: 51186
           Summary: declaring main() with auto but without --std=c++11
                    gives inconsistent error messages
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: minor
          Priority: P3
         Component: c++
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: wswik...@poczta.fm


When I try to compile this code without specifying C++11 or C++0x standard

    auto main()->int
    {
    }

the following conflicting messages are generated:

    cpp.cpp:1:14: error: top-level declaration of 'main' specifies 'auto'
    cpp.cpp:1:14: error: 'main' function with late return type not declared
with 'auto' type specifier

The second one should be disabled when not in C++11 mode, or replaced with one
saying that funtions with late return type are not allowed.

Reply via email to