Go to file
Douglas Gregor 4afc236cee When instantiating a function type, instantiate the return type before
instantiating the parameters. In a perfect world, this wouldn't
matter, and compilers are free to instantiate in any order they
want. However, every other compiler seems to instantiate the return
type first, and some code (in this case, Boost.Polygon) depends on
this and SFINAE to avoid instantiating something that shouldn't be
instantiated.

We could fight this battle, and insist that Clang is allowed to do
what it does, but it's not beneficial: it's more predictable to
instantiate this way, in source order. When we implement
late-specified return types, we'll need to instantiate the return type
last when it was late-specified, hence the FIXME.

We now compile Boost.Polygon properly.

llvm-svn: 112561
2010-08-31 00:26:14 +00:00
clang When instantiating a function type, instantiate the return type before 2010-08-31 00:26:14 +00:00
compiler-rt Adds an extra explicit cast to fix Bug 7931 and removes codepaths that were never used 2010-08-17 19:13:45 +00:00
libcxx [futures.task] and [futures.async]. Requires variadics and rvalue-ref support. 2010-08-30 18:46:21 +00:00
lldb Add LLDB_EXTERNAL_EDITOR 2010-08-30 23:48:25 +00:00
llvm Fix a typo. 2010-08-30 23:59:30 +00:00