https://bugs.llvm.org/show_bug.cgi?id=46726

            Bug ID: 46726
           Summary: Clang rejects valid code with "anonymous types
                    declared in an anonymous union are an extension"
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Frontend
          Assignee: unassignedclangb...@nondot.org
          Reporter: haoxi...@gmail.com
                CC: llvm-bugs@lists.llvm.org, neeil...@live.com,
                    richard-l...@metafoo.co.uk

Hi, all.

This code, test.cc, is a valid code I guess, but Clang rejects this under
-pedantic-errors.

$cat test.cc
namespace g_namespace { 
    static union { union {} u; } ;
}

$clang++ -pedantic-errors test.cc
test.cc:2:21: error: anonymous types declared in an anonymous union are an
extension [-Werror,-Wnested-anon-types]
    static union  { union {} u; } ;
                    ^
1 error generated.

Apparently, "union {} u;" is not an anonymous union.

While in other mainstream compilers, gcc, icc, or msvc, they all accept this
code.

Every Clang version from 4.0 onwards behaves the same (I didn't test anything
older).

Thanks,
Haoxin

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to