From Jason Turner

[class.union.anon]

Diff to HTML by rtfpessoa

tmp/tmpwm5eoqbc/{from.md → to.md} RENAMED
@@ -29,15 +29,16 @@ void f() {
29
  Here `a` and `p` are used like ordinary (non-member) variables, but
30
  since they are union members they have the same address.
31
 
32
  — *end example*]
33
 
34
- Anonymous unions declared in the scope of a namespace with external
35
- linkage shall be declared `static`. Anonymous unions declared at block
36
- scope shall be declared with any storage class allowed for a block
37
- variable, or with no storage class. A storage class is not allowed in a
38
- declaration of an anonymous union in a class scope.
 
39
 
40
  [*Note 1*:
41
 
42
  A union for which objects, pointers, or references are declared is not
43
  an anonymous union.
 
29
  Here `a` and `p` are used like ordinary (non-member) variables, but
30
  since they are union members they have the same address.
31
 
32
  — *end example*]
33
 
34
+ An anonymous union declared in the scope of a namespace with external
35
+ linkage shall use the *storage-class-specifier* `static`. Anonymous
36
+ unions declared at block scope shall not use a *storage-class-specifier*
37
+ that is not permitted in the declaration of a block variable. An
38
+ anonymous union declaration at class scope shall not have a
39
+ *storage-class-specifier*.
40
 
41
  [*Note 1*:
42
 
43
  A union for which objects, pointers, or references are declared is not
44
  an anonymous union.