[Bug objc++/49070] ObjC++ compiler fails to compile ObjC method invocations without keyword arguments

egallager at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Jul 23 20:43:00 GMT 2017


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49070

Eric Gallager <egallager at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |rejects-valid
                 CC|                            |egallager at gcc dot gnu.org
      Known to work|                            |4.0.1, 4.1.2
      Known to fail|                            |4.7.0, 8.0

--- Comment #2 from Eric Gallager <egallager at gcc dot gnu.org> ---
Output with gcc trunk:

$ /usr/local/bin/g++ -c 49070.mm
49070.mm: In function ‘objc_object* function(A*)’:
49070.mm:10:21: error: found ‘:’ in nested-name-specifier, expected ‘::’
  return [x method:x :x];
                     ^
                     ::
49070.mm:10:19: warning: ‘A’ may not respond to ‘-method:’
  return [x method:x :x];
                   ^
49070.mm:10:19: warning: (Messages without a matching method signature
49070.mm:10:19: warning: will be assumed to return ‘id’ and accept
49070.mm:10:19: warning: ‘...’ as arguments.)
49070.mm:10:12: error: expected ‘,’ before ‘method’
  return [x method:x :x];
            ^~~~~~
49070.mm:10:12: error: ‘method’ was not declared in this scope
49070.mm:10:18: error: expected ‘,’ before ‘:’ token
  return [x method:x :x];
                  ^
49070.mm:10:18: error: expected identifier before ‘:’ token
49070.mm: In lambda function:
49070.mm:10:24: error: expected ‘{’ before ‘;’ token
  return [x method:x :x];
                        ^
49070.mm: In function ‘objc_object* function(A*)’:
49070.mm:10:24: error: cannot convert ‘function(A*)::<lambda()>’ to
‘objc_object*’ in return


I also checked with an older version of g++ (Apple's 4.0.1) and can confirm
that the older version compiled it successfully.


More information about the Gcc-bugs mailing list