This is the mail archive of the gcc@gcc.gnu.org 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: RFC: Deprecate (a little bit) of C++ attribute syntax


Mark Mitchell <mark@codesourcery.com> writes:

[...]

| > Do you think it is the same reason why it seems to ignore
| > attributes for nested typedef-names? I.e. in
| >
| >    struct A {
| >       struct X { } __attribute__((__aligned__(4)));
| >       typedef struct { } Y __attribute__((__aligned__(4)));
| >    };
| 
| That's probably caused by something else -- but it could well be related.

Thanks, I'll keep investogating.

| > I mostly agree with all of yours suggestions -- as you know, I've been
| > working on the attribute stuff these days.  The oddity you mention may
| > be more prenicious.  Consider:
| >
| >    template<typename T>
| >       struct X { } __attribute__((__aligned__(__alignof__(T))));
| >
| > This may, at first sight, look innocent, but it doesn't do the obvious
| > thing one thinks of.
| 
| Again, similar -- but different.

Aha, thanks.

[...]

| This syntax (unlike the one I mentioned) has been supported by the C
| front end for a long time, which makes it much harder to deprecate in
| C++.

So in this case, we just document the issue, right?

-- Gaby


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