Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
5668970a
Commit
5668970a
authored
Jan 26, 2017
by
Jason Merrill
Committed by
Jason Merrill
Jan 26, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* name-lookup.c (parse_using_directive): Deprecate strong using.
From-SVN: r244936
parent
effdaefe
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
4 additions
and
58 deletions
+4
-58
gcc/cp/ChangeLog
+2
-0
gcc/cp/name-lookup.c
+2
-0
gcc/doc/extend.texi
+0
-48
gcc/testsuite/g++.dg/cpp0x/inline-ns6.C
+0
-0
gcc/testsuite/g++.dg/cpp0x/inline-ns7.C
+0
-0
gcc/testsuite/g++.dg/cpp0x/inline-ns8.C
+0
-0
gcc/testsuite/g++.dg/cpp0x/inline-ns9.C
+0
-0
gcc/testsuite/g++.dg/lookup/strong-using-4.C
+0
-8
libstdc++-v3/doc/html/manual/debug_mode_design.html
+0
-1
libstdc++-v3/doc/xml/manual/debug_mode.xml
+0
-1
No files found.
gcc/cp/ChangeLog
View file @
5668970a
2017-01-26 Jason Merrill <jason@redhat.com>
* name-lookup.c (parse_using_directive): Deprecate strong using.
PR c++/79176 - lambda ICE with -flto -Os
* decl2.c (vague_linkage_p): Handle decloned 'tors.
* tree.c (decl_linkage): Likewise.
...
...
gcc/cp/name-lookup.c
View file @
5668970a
...
...
@@ -4125,6 +4125,8 @@ parse_using_directive (tree name_space, tree attribs)
tree
name
=
get_attribute_name
(
a
);
if
(
is_attribute_p
(
"strong"
,
name
))
{
warning
(
OPT_Wdeprecated
,
"strong using is deprecated; use inline "
"namespaces instead"
);
if
(
!
toplevel_bindings_p
())
error
(
"strong using only meaningful at namespace scope"
);
else
if
(
name_space
!=
error_mark_node
)
...
...
gcc/doc/extend.texi
View file @
5668970a
...
...
@@ -21802,7 +21802,6 @@ Predefined Macros,cpp,The GNU C Preprocessor}).
method denoted by a @samp{->*} or @samp{.*} expression.
* C++ Attributes:: Variable, function, and type attributes for C++ only.
* Function Multiversioning:: Declaring multiple function versions.
* Namespace Association:: Strong using-directives for namespace association.
* Type Traits:: Compiler support for type traits.
* C++ Concepts:: Improved support for generic programming.
* Deprecated Features:: Things will disappear from G++.
...
...
@@ -22368,8 +22367,6 @@ does not have constructors or destructors.
@
end
table
See
also
@
ref
{
Namespace
Association
}.
@
node
Function
Multiversioning
@
section
Function
Multiversioning
@
cindex
function
versions
...
...
@@ -22428,51 +22425,6 @@ dispatching to call the right version at runtime. Refer to the
@
uref
{
http
://
gcc
.
gnu
.
org
/
wiki
/
FunctionMultiVersioning
,
GCC
wiki
on
Function
Multiversioning
}
for
more
details
.
@
node
Namespace
Association
@
section
Namespace
Association
@
strong
{
Caution
:}
The
semantics
of
this
extension
are
equivalent
to
C
++
2011
inline
namespaces
.
Users
should
use
inline
namespaces
instead
as
this
extension
will
be
removed
in
future
versions
of
G
++.
A
using
-
directive
with
@
code
{
__attribute
((
strong
))}
is
stronger
than
a
normal
using
-
directive
in
two
ways
:
@
itemize
@
bullet
@
item
Templates
from
the
used
namespace
can
be
specialized
and
explicitly
instantiated
as
though
they
were
members
of
the
using
namespace
.
@
item
The
using
namespace
is
considered
an
associated
namespace
of
all
templates
in
the
used
namespace
for
purposes
of
argument
-
dependent
name
lookup
.
@
end
itemize
The
used
namespace
must
be
nested
within
the
using
namespace
so
that
normal
unqualified
lookup
works
properly
.
This
is
useful
for
composing
a
namespace
transparently
from
implementation
namespaces
.
For
example
:
@
smallexample
namespace
std
@{
namespace
debug
@{
template
<
class
T
>
struct
A
@{
@};
@}
using
namespace
debug
__attribute
((
__strong__
));
template
<>
struct
A
<
int
>
@{
@};
//
@
r
{
OK
to
specialize
}
template
<
class
T
>
void
f
(
A
<
T
>);
@}
int
main
()
@{
f
(
std
::
A
<
float
>());
//
@
r
{
lookup
finds
}
std
::
f
f
(
std
::
A
<
int
>());
@}
@
end
smallexample
@
node
Type
Traits
@
section
Type
Traits
...
...
gcc/testsuite/g++.dg/
lookup/strong-using-1
.C
→
gcc/testsuite/g++.dg/
cpp0x/inline-ns6
.C
View file @
5668970a
File moved
gcc/testsuite/g++.dg/
lookup/strong-using-2
.C
→
gcc/testsuite/g++.dg/
cpp0x/inline-ns7
.C
View file @
5668970a
File moved
gcc/testsuite/g++.dg/
lookup/strong-using-3
.C
→
gcc/testsuite/g++.dg/
cpp0x/inline-ns8
.C
View file @
5668970a
File moved
gcc/testsuite/g++.dg/
lookup/strong-using-5
.C
→
gcc/testsuite/g++.dg/
cpp0x/inline-ns9
.C
View file @
5668970a
File moved
gcc/testsuite/g++.dg/lookup/strong-using-4.C
deleted
100644 → 0
View file @
effdaefe
// PR c++/16301
// { dg-do compile }
namespace
NS2
{
using
namespace
NS1
__attribute__
((
strong
));
// { dg-error "" }
}
libstdc++-v3/doc/html/manual/debug_mode_design.html
View file @
5668970a
...
...
@@ -250,7 +250,6 @@ namespace std
};
} // namespace __cxx1998
// namespace __debug __attribute__ ((strong));
inline namespace __debug { }
}
</pre></div><div
class=
"section"
><div
class=
"titlepage"
><div><div><h5
class=
"title"
><a
id=
"methods.coexistence.link"
></a>
Link- and run-time coexistence of release- and
...
...
libstdc++-v3/doc/xml/manual/debug_mode.xml
View file @
5668970a
...
...
@@ -656,7 +656,6 @@ namespace std
};
} // namespace __cxx1998
// namespace __debug __attribute__ ((strong));
inline namespace __debug { }
}
</programlisting>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment