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

Iain Sandoe <iains at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |meta-bug
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2019-06-01
         Depends on|                            |78352, 90707, 90708
     Ever confirmed|0                           |1

--- Comment #1 from Iain Sandoe <iains at gcc dot gnu.org> ---

The short list of major factors:

1.  (78352) GCC lacks support for the Apple "blocks" extension to the C family
of languages.

 - block syntax appears without guards in many places in modern Darwin system
headers.

2. (90707) - GNU Objective C (C++) does not support nullability syntax.

 - nullability introduces new keywords for objective c and, unlike the
equivalent markup in C/C++, these cannot be worked around with preprocessor
hacks,

3. (90708) - GNU Objective C (C++) does not support lightweight generics.

 - likewise this is an invasive syntax change that can't be worked around.

4. instancetype keyword (partially implemented, at least we can consume the
syntax).

-----

However, taking these points aside - for the APIs currently implemented by GNNU
objective c - we should seek a mechanism to monitor for regressions.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78352
[Bug 78352] GCC lacks support for the Apple "blocks" extension to the C family
of languages
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90707
[Bug 90707] GNU Objective C (C++) does not support nullability syntax.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90708
[Bug 90708] GNU Objective C (C++) does not support lightweight generics.

Reply via email to