title: is_trivially_copyable/constructible etc support of clang++ and g++
body: <p>iso 20.9.4.3 Type Properties [meta.unary.prop] are not fully supported by g++'s libstdc++-v3 ; e.g.:</p>
  
  <pre><code>wget -O - https://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/include/std/type_traits 2&gt;/dev/null | grep "still unimplemented"
  
  
    // is_trivially_copyable (still unimplemented)
    /// is_trivially_constructible (still unimplemented)
    /// is_trivially_default_constructible (still unimplemented)
    /// is_trivially_copy_constructible (still unimplemented)
    /// is_trivially_move_constructible (still unimplemented)
    /// is_trivially_assignable (still unimplemented)
    /// is_trivially_copy_assignable (still unimplemented)
    /// is_trivially_move_assignable (still unimplemented
  </code></pre>
  
  <p>and thus, at least as far as I understand it, clang builds based on gcc installations will inherit this lack of implementation; at least the </p>
  
  <pre><code>clang version 3.5.0 (212792)
  </code></pre>
  
  <p>I built just some hours ago with </p>
  
  <pre><code>g++ (Debian 4.8.3-3) 4.8.3
  </code></pre>
  
  <p>(but which somehow uses gcc-4.9 includes nevertheless) does not support those type traits mentioned. </p>
  
  <hr>
  
  <p>But somehow Coliru 
  <a href="http://coliru.stacked-crooked.com/" rel="nofollow">http://coliru.stacked-crooked.com/</a></p>
  
  <p>has a clang installation, which, if invoked with </p>
  
  <pre><code>clang++ -std=c++11 -stdlib=libc++  -O2 -Wall -Wextra -pedantic -pthread -pedantic-errors main.cpp -lm  -lsupc++  &amp;&amp; ./a.out
  </code></pre>
  
  <p>compiles e.g. this</p>
  
  <p><a href="http://en.cppreference.com/w/cpp/types/is_constructible" rel="nofollow">http://en.cppreference.com/w/cpp/types/is_constructible</a></p>
  
  <p>example without complaints.</p>
  
  <p>So there must be method to compile or setup clang, at least on Linux with headers which  support also those type traits yet unimplemented by libstdc++.</p>
  
  <hr>
  
  <p>In addition, llvm has this</p>
  
  <p><a href="http://libcxx.llvm.org/type_traits_design.html" rel="nofollow">http://libcxx.llvm.org/type_traits_design.html</a></p>
  
  <p>summary compiled, but I have no clue how to use those "__" intrinsics; they apparently do neither live in std:: nor ::;</p>
  
  <p>--</p>
  
  <p><em>So - <strong>how to setup or configure recent llvm/clang on Linux so that clang++ has the most of those set of type traits available?</em></strong></p>
  
  <p><strong>Addendum</strong> in respose to a comment</p>
  
  <pre><code>clang++ -std=c++11 -stdlib=libc++  -O2 -Wall -Wextra -pedantic -pthread -pedantic-errors test_type_traits.cxx -lm  -lsupc++  
  </code></pre>
  
  <p>test_type_traits.cxx:1:10:</p>
  
  <p>fatal error: 'iostream' file not found
      #include 
               ^
      1 error generated.</p>