nickdesaulniers added a comment.

This seems to be causing build errors for the linux kernel (which uses 
`-mno-x87`) for expressions like: `unsigned long foo = 300L * 1E6L;`
https://github.com/ClangBuiltLinux/linux/issues/1497

  // clang -O2 -mno-x87
  void foo (unsigned long);
  void bar (void) { foo(1 * 1E6L); }

  <source>:3:25: error: expression requires  'long double' type support, but 
target 'x86_64-unknown-linux-gnu' does not support it
  void bar (void) { foo(1 * 1E6L); }
                          ^

While we can change kernel sources to not use `L` suffixes for floating point 
literals, this is a curious difference from GCC and may lead to compatibility 
issues with other code bases.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D98895/new/

https://reviews.llvm.org/D98895

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

Reply via email to