public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/58724] New: doc: use of attributes for namespace is not clear
@ 2013-10-14 15:20 akim.demaille at gmail dot com
2013-10-14 15:54 ` [Bug c++/58724] " paolo.carlini at oracle dot com
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: akim.demaille at gmail dot com @ 2013-10-14 15:20 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58724
Bug ID: 58724
Summary: doc: use of attributes for namespace is not clear
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: minor
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: akim.demaille at gmail dot com
Hi friends,
I could not find an example of a use of the attributes for namespaces. It is
mentioned in the text body, but there is no example of the syntax (it appears
for the documentation of "visibility" in
http://gcc.gnu.org/onlinedocs/gcc-4.8.1/gcc/Function-Attributes.html#Function-Attributes).
Also, it does not appear in the node dedicated to C++ attributes
(http://gcc.gnu.org/onlinedocs/gcc-4.8.1/gcc/C_002b_002b-Attributes.html#C_002b_002b-Attributes).
Also, it might be worth noting (in the doc) that the __attribute__ syntax is
supported, but not [[...]]. I have no idea if this is meant. 4.8 issues a
weird error message, 4.9 ices.
$ cat foo.cc
namespace foo __attribute__((visibility("default"))) {}
namespace bar [[gnu::visibility("default")]] {}
$ g++-mp-4.8 -std=c++1y foo.cc -c
foo.cc:2:46: warning: '#'tree_list' not supported by dump_decl#<declaration
error>' attribute directive ignored [-Wattributes]
namespace bar [[gnu::visibility("default")]] {}
^
$ g++-mp-4.9 -std=c++1y foo.cc -c
foo.cc:2:46: internal compiler error: tree check: expected identifier_node,
have tree_list in private_is_attribute_p, at tree.c:5558
namespace bar [[gnu::visibility("default")]] {}
^
foo.cc:2:46: internal compiler error: Abort trap: 6
g++-mp-4.9: internal compiler error: Abort trap: 6 (program cc1plus)
zsh: abort g++-mp-4.9 -std=c++1y foo.cc -c
$ g++-mp-4.9 --version 13
g++-mp-4.9 (MacPorts gcc49 4.9-20130915_0) 4.9.0 20130915 (experimental)
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/58724] doc: use of attributes for namespace is not clear
2013-10-14 15:20 [Bug c++/58724] New: doc: use of attributes for namespace is not clear akim.demaille at gmail dot com
@ 2013-10-14 15:54 ` paolo.carlini at oracle dot com
2013-10-14 15:57 ` akim.demaille at gmail dot com
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-10-14 15:54 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58724
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2013-10-14
Ever confirmed|0 |1
--- Comment #1 from Paolo Carlini <paolo.carlini at oracle dot com> ---
In mainline (I don't think this can be fixed in 4.8.x), it seems to me that the
below may be all there is to the issue (for more about TREE_PURPOSE vs
get_attribute_name, see PR58600).
Can you test it on your code?
////////////////
Index: name-lookup.c
===================================================================
--- name-lookup.c (revision 203517)
+++ name-lookup.c (working copy)
@@ -3571,7 +3571,7 @@
for (d = attributes; d; d = TREE_CHAIN (d))
{
- tree name = TREE_PURPOSE (d);
+ tree name = get_attribute_name (d);
tree args = TREE_VALUE (d);
if (is_attribute_p ("visibility", name))
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/58724] doc: use of attributes for namespace is not clear
2013-10-14 15:20 [Bug c++/58724] New: doc: use of attributes for namespace is not clear akim.demaille at gmail dot com
2013-10-14 15:54 ` [Bug c++/58724] " paolo.carlini at oracle dot com
@ 2013-10-14 15:57 ` akim.demaille at gmail dot com
2013-10-14 16:01 ` paolo.carlini at oracle dot com
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: akim.demaille at gmail dot com @ 2013-10-14 15:57 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58724
--- Comment #2 from Akim Demaille <akim.demaille at gmail dot com> ---
Hi Paolo,
Sorry, I don't have a checked out version of the GCC. I'll
try to make one tomorrow.
Please, note that I was also mentioning the fact that the documentation
is not sufficiently clear, IMHO.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/58724] doc: use of attributes for namespace is not clear
2013-10-14 15:20 [Bug c++/58724] New: doc: use of attributes for namespace is not clear akim.demaille at gmail dot com
2013-10-14 15:54 ` [Bug c++/58724] " paolo.carlini at oracle dot com
2013-10-14 15:57 ` akim.demaille at gmail dot com
@ 2013-10-14 16:01 ` paolo.carlini at oracle dot com
2013-10-14 16:03 ` paolo.carlini at oracle dot com
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-10-14 16:01 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58724
--- Comment #3 from Paolo Carlini <paolo.carlini at oracle dot com> ---
Well, an ICE which can be easily avoided seems a separate issue to me. By the
way, the same patchlet should work in the release branch too.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/58724] doc: use of attributes for namespace is not clear
2013-10-14 15:20 [Bug c++/58724] New: doc: use of attributes for namespace is not clear akim.demaille at gmail dot com
` (2 preceding siblings ...)
2013-10-14 16:01 ` paolo.carlini at oracle dot com
@ 2013-10-14 16:03 ` paolo.carlini at oracle dot com
2013-10-14 16:17 ` [Bug c++/58724] ICE with attribute [[gnu::visibility("default")]] on namespace paolo.carlini at oracle dot com
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-10-14 16:03 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58724
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dodji at gcc dot gnu.org
--- Comment #4 from Paolo Carlini <paolo.carlini at oracle dot com> ---
Let's add Dodji.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/58724] ICE with attribute [[gnu::visibility("default")]] on namespace
2013-10-14 15:20 [Bug c++/58724] New: doc: use of attributes for namespace is not clear akim.demaille at gmail dot com
` (3 preceding siblings ...)
2013-10-14 16:03 ` paolo.carlini at oracle dot com
@ 2013-10-14 16:17 ` paolo.carlini at oracle dot com
2013-10-16 9:13 ` paolo.carlini at oracle dot com
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-10-14 16:17 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58724
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|doc: use of attributes for |ICE with attribute
|namespace is not clear |[[gnu::visibility("default"
| |)]] on namespace
Severity|minor |normal
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/58724] ICE with attribute [[gnu::visibility("default")]] on namespace
2013-10-14 15:20 [Bug c++/58724] New: doc: use of attributes for namespace is not clear akim.demaille at gmail dot com
` (4 preceding siblings ...)
2013-10-14 16:17 ` [Bug c++/58724] ICE with attribute [[gnu::visibility("default")]] on namespace paolo.carlini at oracle dot com
@ 2013-10-16 9:13 ` paolo.carlini at oracle dot com
2013-10-23 0:16 ` paolo.carlini at oracle dot com
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-10-16 9:13 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58724
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |paolo.carlini at oracle dot com
Target Milestone|--- |4.9.0
--- Comment #5 from Paolo Carlini <paolo.carlini at oracle dot com> ---
Mine. I'm also adding a small example to the docs.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/58724] ICE with attribute [[gnu::visibility("default")]] on namespace
2013-10-14 15:20 [Bug c++/58724] New: doc: use of attributes for namespace is not clear akim.demaille at gmail dot com
` (5 preceding siblings ...)
2013-10-16 9:13 ` paolo.carlini at oracle dot com
@ 2013-10-23 0:16 ` paolo.carlini at oracle dot com
2013-11-05 15:24 ` paolo at gcc dot gnu.org
2013-11-05 15:26 ` paolo.carlini at oracle dot com
8 siblings, 0 replies; 10+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-10-23 0:16 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58724
--- Comment #6 from Paolo Carlini <paolo.carlini at oracle dot com> ---
Pending patch here: http://gcc.gnu.org/ml/gcc-patches/2013-10/msg01166.html
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/58724] ICE with attribute [[gnu::visibility("default")]] on namespace
2013-10-14 15:20 [Bug c++/58724] New: doc: use of attributes for namespace is not clear akim.demaille at gmail dot com
` (6 preceding siblings ...)
2013-10-23 0:16 ` paolo.carlini at oracle dot com
@ 2013-11-05 15:24 ` paolo at gcc dot gnu.org
2013-11-05 15:26 ` paolo.carlini at oracle dot com
8 siblings, 0 replies; 10+ messages in thread
From: paolo at gcc dot gnu.org @ 2013-11-05 15:24 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58724
--- Comment #7 from paolo at gcc dot gnu.org <paolo at gcc dot gnu.org> ---
Author: paolo
Date: Tue Nov 5 15:22:36 2013
New Revision: 204401
URL: http://gcc.gnu.org/viewcvs?rev=204401&root=gcc&view=rev
Log:
2013-11-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58724
* doc/extend.texi [visibility ("visibility_type")]: Add example
about visibility attribute on namespace declaration.
/cp
2013-11-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58724
* name-lookup.c (handle_namespace_attrs): Use get_attribute_name.
/testsuite
2013-11-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58724
* g++.dg/cpp0x/gen-attrs-56.C: New.
Added:
trunk/gcc/testsuite/g++.dg/cpp0x/gen-attrs-56.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/name-lookup.c
trunk/gcc/doc/extend.texi
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/58724] ICE with attribute [[gnu::visibility("default")]] on namespace
2013-10-14 15:20 [Bug c++/58724] New: doc: use of attributes for namespace is not clear akim.demaille at gmail dot com
` (7 preceding siblings ...)
2013-11-05 15:24 ` paolo at gcc dot gnu.org
@ 2013-11-05 15:26 ` paolo.carlini at oracle dot com
8 siblings, 0 replies; 10+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-11-05 15:26 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58724
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #8 from Paolo Carlini <paolo.carlini at oracle dot com> ---
Fixed.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2013-11-05 15:26 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-14 15:20 [Bug c++/58724] New: doc: use of attributes for namespace is not clear akim.demaille at gmail dot com
2013-10-14 15:54 ` [Bug c++/58724] " paolo.carlini at oracle dot com
2013-10-14 15:57 ` akim.demaille at gmail dot com
2013-10-14 16:01 ` paolo.carlini at oracle dot com
2013-10-14 16:03 ` paolo.carlini at oracle dot com
2013-10-14 16:17 ` [Bug c++/58724] ICE with attribute [[gnu::visibility("default")]] on namespace paolo.carlini at oracle dot com
2013-10-16 9:13 ` paolo.carlini at oracle dot com
2013-10-23 0:16 ` paolo.carlini at oracle dot com
2013-11-05 15:24 ` paolo at gcc dot gnu.org
2013-11-05 15:26 ` 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).