So the regress failure is a clang bug.  Already fixed upstream:

  https://reviews.llvm.org/D29778

ok?


Index: gnu/llvm/tools/clang/include/clang/Basic/Builtins.def
===================================================================
RCS file: /cvs/src/gnu/llvm/tools/clang/include/clang/Basic/Builtins.def,v
retrieving revision 1.1.1.4
diff -u -p -r1.1.1.4 Builtins.def
--- gnu/llvm/tools/clang/include/clang/Basic/Builtins.def       14 Mar 2017 
08:07:54 -0000      1.1.1.4
+++ gnu/llvm/tools/clang/include/clang/Basic/Builtins.def       4 Aug 2017 
14:24:47 -0000
@@ -1086,9 +1086,11 @@ LIBBUILTIN(ilogb, "id", "fne", "math.h",
 LIBBUILTIN(ilogbf, "if", "fne", "math.h", ALL_LANGUAGES)
 LIBBUILTIN(ilogbl, "iLd", "fne", "math.h", ALL_LANGUAGES)
 
-LIBBUILTIN(lgamma, "dd", "fne", "math.h", ALL_LANGUAGES)
-LIBBUILTIN(lgammaf, "ff", "fne", "math.h", ALL_LANGUAGES)
-LIBBUILTIN(lgammal, "LdLd", "fne", "math.h", ALL_LANGUAGES)
+// POSIX math.h declares a global, signgam, that lgamma writes to, so these
+// shouldn't have "e" or "c" attributes
+LIBBUILTIN(lgamma, "dd", "fn", "math.h", ALL_LANGUAGES)
+LIBBUILTIN(lgammaf, "ff", "fn", "math.h", ALL_LANGUAGES)
+LIBBUILTIN(lgammal, "LdLd", "fn", "math.h", ALL_LANGUAGES)
 
 LIBBUILTIN(llrint, "LLid", "fne", "math.h", ALL_LANGUAGES)
 LIBBUILTIN(llrintf, "LLif", "fne", "math.h", ALL_LANGUAGES)

Reply via email to