public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/51316] New: alignof doesn't work with arrays of unknown bound
@ 2011-11-26 20:32 tsoae at mail dot ru
  2011-11-27  3:05 ` [Bug c++/51316] " joseph at codesourcery dot com
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: tsoae at mail dot ru @ 2011-11-26 20:32 UTC (permalink / raw)
  To: gcc-bugs

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

             Bug #: 51316
           Summary: alignof doesn't work with arrays of unknown bound
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: tsoae@mail.ru


gcc 4.7.0 rejects the following code:

    int main()
    {
        // error: invalid application of '__alignof__' to incomplete type 'int
[]'
        alignof(int []);
    }

5.3.6/1:

    An alignof expression yields the alignment requirement of its operand type.
The operand shall be a type-id representing a complete object type or an array
thereof or a reference to a complete object type.

int[] is array of complete object type.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug c++/51316] alignof doesn't work with arrays of unknown bound
  2011-11-26 20:32 [Bug c++/51316] New: alignof doesn't work with arrays of unknown bound tsoae at mail dot ru
@ 2011-11-27  3:05 ` joseph at codesourcery dot com
  2011-11-27 12:50 ` tsoae at mail dot ru
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: joseph at codesourcery dot com @ 2011-11-27  3:05 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from joseph at codesourcery dot com <joseph at codesourcery dot com> 2011-11-26 23:11:11 UTC ---
Note that this usage is not valid in C1X.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug c++/51316] alignof doesn't work with arrays of unknown bound
  2011-11-26 20:32 [Bug c++/51316] New: alignof doesn't work with arrays of unknown bound tsoae at mail dot ru
  2011-11-27  3:05 ` [Bug c++/51316] " joseph at codesourcery dot com
@ 2011-11-27 12:50 ` tsoae at mail dot ru
  2011-11-27 18:01 ` joseph at codesourcery dot com
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: tsoae at mail dot ru @ 2011-11-27 12:50 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Nikolka <tsoae at mail dot ru> 2011-11-27 08:37:37 UTC ---
> Note that this usage is not valid in C1X.

Could you explain?


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug c++/51316] alignof doesn't work with arrays of unknown bound
  2011-11-26 20:32 [Bug c++/51316] New: alignof doesn't work with arrays of unknown bound tsoae at mail dot ru
  2011-11-27  3:05 ` [Bug c++/51316] " joseph at codesourcery dot com
  2011-11-27 12:50 ` tsoae at mail dot ru
@ 2011-11-27 18:01 ` joseph at codesourcery dot com
  2011-12-28 20:38 ` paolo.carlini at oracle dot com
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: joseph at codesourcery dot com @ 2011-11-27 18:01 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from joseph at codesourcery dot com <joseph at codesourcery dot com> 2011-11-27 15:58:15 UTC ---
On Sun, 27 Nov 2011, tsoae at mail dot ru wrote:

> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51316
> 
> --- Comment #2 from Nikolka <tsoae at mail dot ru> 2011-11-27 08:37:37 UTC ---
> > Note that this usage is not valid in C1X.
> 
> Could you explain?

See C1X 6.5.3.4 paragraph 1, "The _Alignof operator shall not be applied 
to a function type or an incomplete type.".  This is a constraint, so a 
diagnostic is required.  Thus, if C++ allows this case, the diagnostic 
(which is in code shared between C and C++) must be appropriately 
conditional on the language being compiled.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug c++/51316] alignof doesn't work with arrays of unknown bound
  2011-11-26 20:32 [Bug c++/51316] New: alignof doesn't work with arrays of unknown bound tsoae at mail dot ru
                   ` (2 preceding siblings ...)
  2011-11-27 18:01 ` joseph at codesourcery dot com
@ 2011-12-28 20:38 ` paolo.carlini at oracle dot com
  2011-12-28 22:26 ` tsoae at mail dot ru
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-12-28 20:38 UTC (permalink / raw)
  To: gcc-bugs

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

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2011-12-28
         AssignedTo|unassigned at gcc dot       |paolo.carlini at oracle dot
                   |gnu.org                     |com
     Ever Confirmed|0                           |1

--- Comment #4 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-12-28 20:24:44 UTC ---
On it.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug c++/51316] alignof doesn't work with arrays of unknown bound
  2011-11-26 20:32 [Bug c++/51316] New: alignof doesn't work with arrays of unknown bound tsoae at mail dot ru
                   ` (3 preceding siblings ...)
  2011-12-28 20:38 ` paolo.carlini at oracle dot com
@ 2011-12-28 22:26 ` tsoae at mail dot ru
  2011-12-28 22:32 ` paolo.carlini at oracle dot com
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: tsoae at mail dot ru @ 2011-12-28 22:26 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Nikolka <tsoae at mail dot ru> 2011-12-28 22:06:18 UTC ---
> On it.

There is an active core issue about alignof:

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3309.html#1305

Probably, you should take into account the proposed resolution.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug c++/51316] alignof doesn't work with arrays of unknown bound
  2011-11-26 20:32 [Bug c++/51316] New: alignof doesn't work with arrays of unknown bound tsoae at mail dot ru
                   ` (4 preceding siblings ...)
  2011-12-28 22:26 ` tsoae at mail dot ru
@ 2011-12-28 22:32 ` paolo.carlini at oracle dot com
  2011-12-30 21:13 ` paolo at gcc dot gnu.org
  2011-12-30 21:21 ` paolo.carlini at oracle dot com
  7 siblings, 0 replies; 9+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-12-28 22:32 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-12-28 22:31:02 UTC ---
Yeah, just allow the types at issue, that was clarified in core/930 actually.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug c++/51316] alignof doesn't work with arrays of unknown bound
  2011-11-26 20:32 [Bug c++/51316] New: alignof doesn't work with arrays of unknown bound tsoae at mail dot ru
                   ` (5 preceding siblings ...)
  2011-12-28 22:32 ` paolo.carlini at oracle dot com
@ 2011-12-30 21:13 ` paolo at gcc dot gnu.org
  2011-12-30 21:21 ` paolo.carlini at oracle dot com
  7 siblings, 0 replies; 9+ messages in thread
From: paolo at gcc dot gnu.org @ 2011-12-30 21:13 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from paolo at gcc dot gnu.org <paolo at gcc dot gnu.org> 2011-12-30 21:11:24 UTC ---
Author: paolo
Date: Fri Dec 30 21:11:20 2011
New Revision: 182746

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=182746
Log:
/c-family
2011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>

    PR c++/51316
    * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
    of array types with an unknown bound.

/testsuite
2011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>

    PR c++/51316
    * g++.dg/cpp0x/alignof4.C: New.

Added:
    trunk/gcc/testsuite/g++.dg/cpp0x/alignof4.C
Modified:
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c-common.c
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug c++/51316] alignof doesn't work with arrays of unknown bound
  2011-11-26 20:32 [Bug c++/51316] New: alignof doesn't work with arrays of unknown bound tsoae at mail dot ru
                   ` (6 preceding siblings ...)
  2011-12-30 21:13 ` paolo at gcc dot gnu.org
@ 2011-12-30 21:21 ` paolo.carlini at oracle dot com
  7 siblings, 0 replies; 9+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-12-30 21:21 UTC (permalink / raw)
  To: gcc-bugs

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

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |4.7.0

--- Comment #8 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-12-30 21:13:01 UTC ---
Fixed for 4.7.0.


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2011-12-30 21:13 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-26 20:32 [Bug c++/51316] New: alignof doesn't work with arrays of unknown bound tsoae at mail dot ru
2011-11-27  3:05 ` [Bug c++/51316] " joseph at codesourcery dot com
2011-11-27 12:50 ` tsoae at mail dot ru
2011-11-27 18:01 ` joseph at codesourcery dot com
2011-12-28 20:38 ` paolo.carlini at oracle dot com
2011-12-28 22:26 ` tsoae at mail dot ru
2011-12-28 22:32 ` paolo.carlini at oracle dot com
2011-12-30 21:13 ` paolo at gcc dot gnu.org
2011-12-30 21:21 ` paolo.carlini at oracle dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).