Cleanup result_of tests and fix issues with the C++03 result_of.
authorEric Fiselier <eric@efcs.ca>
Sat, 13 Jun 2015 08:25:24 +0000 (08:25 +0000)
committerEric Fiselier <eric@efcs.ca>
Sat, 13 Jun 2015 08:25:24 +0000 (08:25 +0000)
commitd9ad0cbd70426f1b85d37d9059e66b2e5f1f0c8b
tree313a12c431776963482bd4c9da2640b00b1e604c
parented81d1c1f265be64053ff154e112b083bafe4b91
Cleanup result_of tests and fix issues with the C++03 result_of.

The two main fixes this patch contains are:
- use __identity_t instead of common_type. common_type was used as an
  identity metafunction but the decay resulted in incorrect results.
- Pointers to free functions were not counted as functions. Remove the pointer
  before checking if a type is a function.

llvm-svn: 239668
libcxx/TODO.TXT
libcxx/include/type_traits
libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/result_of.pass.cpp
libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp [new file with mode: 0644]