This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PING^8][PATCH] Add a couple of dialect and warning options regarding Objective-C instance variable scope

Still pinging.

On 03/28/2014 11:58 AM, Dimitris Papavasiliou wrote:

On 03/23/2014 03:20 AM, Dimitris Papavasiliou wrote:

On 03/13/2014 11:54 AM, Dimitris Papavasiliou wrote:

On 03/06/2014 07:44 PM, Dimitris Papavasiliou wrote:

On 02/27/2014 11:44 AM, Dimitris Papavasiliou wrote:

On 02/20/2014 12:11 PM, Dimitris Papavasiliou wrote:
Hello all,

Pinging this patch review request again. See previous messages quoted
below for details.


On 02/13/2014 04:22 PM, Dimitris Papavasiliou wrote:

Pinging this patch review request. Can someone involved in the
Objective-C language frontend have a quick look at the
description of
the proposed features and tell me if it'd be ok to have them in the
trunk so I can go ahead and create proper patches?


On 02/06/2014 11:25 AM, Dimitris Papavasiliou wrote:

This is a patch regarding a couple of Objective-C related dialect
options and warning switches. I have already submitted it a while
but gave up after pinging a couple of times. I am now informed that
should have kept pinging until I got someone's attention so I'm
resending it.

The patch is now against an old revision and as I stated originally
probably not in a state that can be adopted as is. I'm sending it
as is
so that the implemented features can be assesed in terms of their
usefulness and if they're welcome I'd be happy to make any
changes to bring it up-to-date, split it into smaller patches, add
test-cases and anything else that is deemed necessary.

Here's the relevant text from my initial message:

Two of these switches are related to a feature request I
submitted a
while ago, Bug 56044
( I won't
the entire argument here since it is available in the feature
The relevant functionality in the patch comes in the form of two

-Wshadow-ivars which controls the "local declaration of ‘somevar’
instance variable" warning which curiously is enabled by default
of being controlled at least by -Wshadow. The patch changes it so
this warning can be enabled and disabled specifically through
-Wshadow-ivars as well as with all other shadowing-related warnings
through -Wshadow.

The reason for the extra switch is that, while searching through
Internet for a solution to this problem I have found out that other
people are inconvenienced by this particular warning as well so it
be useful to be able to turn it off while keeping all the other
shadowing-related warnings enabled.

-flocal-ivars which when true, as it is by default, treats instance
variables as having local scope. If false (-fno-local-ivars)
variables must always be referred to as self->ivarname and
references of
ivarname resolve to the local or global scope as usual.

I've also taken the opportunity of adding another switch
unrelated to
the above but related to instance variables:

-fivar-visibility which can be set to either private, protected
default), public and package. This sets the default instance
visibility which normally is implicitly protected. My use-case for
it is
basically to be able to set it to public and thus effectively
this visibility mechanism altogether which I find no use for and
therefore have to circumvent. I'm not sure if anyone else feels the
way towards this but I figured it was worth a try.

I'm attaching a preliminary patch against the current revision in
anyone wants to have a look. The changes are very small and any
mistakes should be immediately obvious. I have to admit to having
virtually no knowledge of the internals of GCC but I have tried to
in line with formatting guidelines and general style as well as
up the particulars of the way options are handled in the available
documentation to avoid blind copy-pasting. I have also tried to
functionality both in my own (relatively large, or at least not too
small) project and with small test programs and everything works as
expected. Finallly, I tried running the tests too but these fail to
complete both in the patched and unpatched version, possibly due to
way I've configured GCC.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]