diff options
| author | Sanjay Patel <spatel@rotateright.com> | 2017-11-04 15:03:11 +0000 |
|---|---|---|
| committer | Sanjay Patel <spatel@rotateright.com> | 2017-11-04 15:03:11 +0000 |
| commit | c91975807568a05d9b35438d96711bdd3e25a4b2 (patch) | |
| tree | 789ba3b6dadee80950a9c5f2a9337077c78a60ed | |
| parent | 343e8227b701da66cbeac867feb9ca6d5211d535 (diff) | |
| download | bcm5719-llvm-c91975807568a05d9b35438d96711bdd3e25a4b2.tar.gz bcm5719-llvm-c91975807568a05d9b35438d96711bdd3e25a4b2.zip | |
[CodeGen] add remquo to list of recognized library calls
This is just an oversight because we already do recognize __builtin_remquo()
with the same signature.
http://en.cppreference.com/w/c/numeric/math/remquo
http://pubs.opengroup.org/onlinepubs/9699919799/functions/remquo.html
Differential Revision: https://reviews.llvm.org/D39615
llvm-svn: 317407
| -rw-r--r-- | clang/include/clang/Basic/Builtins.def | 4 | ||||
| -rw-r--r-- | clang/test/CodeGen/libcalls-errno.c | 12 |
2 files changed, 12 insertions, 4 deletions
diff --git a/clang/include/clang/Basic/Builtins.def b/clang/include/clang/Basic/Builtins.def index ab7d22f880c..34ffd8d8138 100644 --- a/clang/include/clang/Basic/Builtins.def +++ b/clang/include/clang/Basic/Builtins.def @@ -1162,6 +1162,10 @@ LIBBUILTIN(remainder, "ddd", "fne", "math.h", ALL_LANGUAGES) LIBBUILTIN(remainderf, "fff", "fne", "math.h", ALL_LANGUAGES) LIBBUILTIN(remainderl, "LdLdLd", "fne", "math.h", ALL_LANGUAGES) +LIBBUILTIN(remquo, "dddi*", "fn", "math.h", ALL_LANGUAGES) +LIBBUILTIN(remquof, "fffi*", "fn", "math.h", ALL_LANGUAGES) +LIBBUILTIN(remquol, "LdLdLdi*", "fn", "math.h", ALL_LANGUAGES) + LIBBUILTIN(rint, "dd", "fnc", "math.h", ALL_LANGUAGES) LIBBUILTIN(rintf, "ff", "fnc", "math.h", ALL_LANGUAGES) LIBBUILTIN(rintl, "LdLd", "fnc", "math.h", ALL_LANGUAGES) diff --git a/clang/test/CodeGen/libcalls-errno.c b/clang/test/CodeGen/libcalls-errno.c index 64bd83fece9..7813dc1cc25 100644 --- a/clang/test/CodeGen/libcalls-errno.c +++ b/clang/test/CodeGen/libcalls-errno.c @@ -418,10 +418,14 @@ void foo() { // HAS_ERRNO: declare float @remainderf(float, float) [[NOT_READNONE]] // HAS_ERRNO: declare x86_fp80 @remainderl(x86_fp80, x86_fp80) [[NOT_READNONE]] -// -// FIXME: remquo is not recognized as a mathlib call. -// - // remquo(f,f,i); remquof(f,f,i); remquol(f,f,i); + remquo(f,f,i); remquof(f,f,i); remquol(f,f,i); + +// NO__ERRNO: declare double @remquo(double, double, i32*) [[NOT_READNONE]] +// NO__ERRNO: declare float @remquof(float, float, i32*) [[NOT_READNONE]] +// NO__ERRNO: declare x86_fp80 @remquol(x86_fp80, x86_fp80, i32*) [[NOT_READNONE]] +// HAS_ERRNO: declare double @remquo(double, double, i32*) [[NOT_READNONE]] +// HAS_ERRNO: declare float @remquof(float, float, i32*) [[NOT_READNONE]] +// HAS_ERRNO: declare x86_fp80 @remquol(x86_fp80, x86_fp80, i32*) [[NOT_READNONE]] rint(f); rintf(f); rintl(f); |

