[LLVMbugs] [Bug 23915] New: __bases and __direct_bases intrinsics are not supported (N2965)

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Jun 22 15:39:18 PDT 2015


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: unassignedclangbugs at nondot.org
          Reporter: alexfrolov1878 at yandex.ru
                CC: llvmbugs at cs.uiuc.edu
    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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20150622/8b399120/attachment.html>


More information about the llvm-bugs mailing list