nemanjai added a comment.

If the reviewers don't mind, I would like to keep this patch with diagnostics 
for interoperability between the two types for now. This is simply because 
enabling such interoperability requires changes to some of the conversion 
infrastructure (i.e. allowing FPTrunc/FPExt for types of the same width, etc.). 
This is to prevent crashes on code such as:
  __float128 foo(long double d) {
    return d;
  }

A test case like that will trip asserts when attempting to generate code. Of 
course, this is easy to fix (3 minor changes in 2 files) but even if we emit 
that IR, the back end will fail when trying to compile it.
What I meant to do with this patch is to just get the Clang support in and emit 
diagnostics for things that the target isn't able to do yet. I will follow this 
up with a patch that will:

1. Remove the diagnostics
2. Allow the conversions
3. Provide libcalls for the necessary operations (similarly to what GCC does)


Repository:
  rL LLVM

http://reviews.llvm.org/D15120



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to