tmp/tmpit6yx3b_/{from.md → to.md}
RENAMED
|
@@ -40,12 +40,12 @@ taken. This use is deprecated (see [[depr.register]]).
|
|
| 40 |
|
| 41 |
The `thread_local` specifier indicates that the named entity has thread
|
| 42 |
storage duration ([[basic.stc.thread]]). It shall be applied only to
|
| 43 |
the names of variables of namespace or block scope and to the names of
|
| 44 |
static data members. When `thread_local` is applied to a variable of
|
| 45 |
-
block scope the *storage-class-specifier* `static` is implied if
|
| 46 |
-
|
| 47 |
|
| 48 |
The `static` specifier can be applied only to names of variables and
|
| 49 |
functions and to anonymous unions ([[class.union]]). There can be no
|
| 50 |
`static` function declarations within a block, nor any `static` function
|
| 51 |
parameters. A `static` specifier used in the declaration of a variable
|
|
@@ -61,16 +61,10 @@ The `extern` specifier can be applied only to the names of variables and
|
|
| 61 |
functions. The `extern` specifier cannot be used in the declaration of
|
| 62 |
class members or function parameters. For the linkage of a name declared
|
| 63 |
with an `extern` specifier, see [[basic.link]]. The `extern` keyword
|
| 64 |
can also be used in s and s, but it is not a in such contexts.
|
| 65 |
|
| 66 |
-
A name declared in a namespace scope without a *storage-class-specifier*
|
| 67 |
-
has external linkage unless it has internal linkage because of a
|
| 68 |
-
previous declaration and provided it is not declared `const`. Objects
|
| 69 |
-
declared `const` and not explicitly declared `extern` have internal
|
| 70 |
-
linkage.
|
| 71 |
-
|
| 72 |
The linkages implied by successive declarations for a given entity shall
|
| 73 |
agree. That is, within a given scope, each declaration declaring the
|
| 74 |
same variable name or the same overloading of a function name shall
|
| 75 |
imply the same linkage. Each function in a given set of overloaded
|
| 76 |
functions can have a different linkage, however.
|
|
|
|
| 40 |
|
| 41 |
The `thread_local` specifier indicates that the named entity has thread
|
| 42 |
storage duration ([[basic.stc.thread]]). It shall be applied only to
|
| 43 |
the names of variables of namespace or block scope and to the names of
|
| 44 |
static data members. When `thread_local` is applied to a variable of
|
| 45 |
+
block scope the *storage-class-specifier* `static` is implied if no
|
| 46 |
+
other *storage-class-specifier* appears in the *decl-specifier-seq*.
|
| 47 |
|
| 48 |
The `static` specifier can be applied only to names of variables and
|
| 49 |
functions and to anonymous unions ([[class.union]]). There can be no
|
| 50 |
`static` function declarations within a block, nor any `static` function
|
| 51 |
parameters. A `static` specifier used in the declaration of a variable
|
|
|
|
| 61 |
functions. The `extern` specifier cannot be used in the declaration of
|
| 62 |
class members or function parameters. For the linkage of a name declared
|
| 63 |
with an `extern` specifier, see [[basic.link]]. The `extern` keyword
|
| 64 |
can also be used in s and s, but it is not a in such contexts.
|
| 65 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 66 |
The linkages implied by successive declarations for a given entity shall
|
| 67 |
agree. That is, within a given scope, each declaration declaring the
|
| 68 |
same variable name or the same overloading of a function name shall
|
| 69 |
imply the same linkage. Each function in a given set of overloaded
|
| 70 |
functions can have a different linkage, however.
|