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

            Bug ID: 23915
           Summary: __bases and __direct_bases intrinsics are not
                    supported (N2965)
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Frontend
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
    Classification: Unclassified

Clang cannot compile GCC header tr2/type_traits (see below).
Type traits "bases" and "direct_bases" were proposed as N2965 for C++11
standard, but were not included.
The feature is well-documented (see
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2965.html) and is
supported by GCC.
There are some questions and requests regarding this feature on developer
forums (for example,
http://stackoverflow.com/questions/18435001/what-is-the-status-of-n2965-stdbases-and-stddirect-bases).

$ clang --version
clang version 3.7.0 (trunk)
Target: x86_64-unknown-linux-gnu
Thread model: posix

$ cat test.cpp
#include <tr2/type_traits>

$ clang -std=c++11 -c test.cpp
In file included from test.cpp:1:
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../../include/c++/4.8.2/tr2/type_traits:90:45:
error: '_Tp' does not refer to a value
      typedef __reflection_typelist<__bases(_Tp)...>            type;
                                            ^
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../../include/c++/4.8.2/tr2/type_traits:87:21:
note: declared here
  template<typename _Tp>
                    ^
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../../include/c++/4.8.2/tr2/type_traits:97:52:
error: '_Tp' does not refer to a value
      typedef __reflection_typelist<__direct_bases(_Tp)...>     type;
                                                   ^
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../../include/c++/4.8.2/tr2/type_traits:94:21:
note: declared here
  template<typename _Tp>
                    ^
2 errors generated.

As you can see, Clang does not support __bases and __direct_bases intrinsics.

Alexey Frolov
=============
Software Engineer
Intel Compiler Team
Intel

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to