[PATCH] D25480: __builtin_fpclassify missing one int parameter

2016-10-14 Thread David Sheinkman via cfe-commits
This revision was automatically updated to reflect the committed changes.
Closed by commit rL284277: __builtin_fpclassify missing one int parameter 
(authored by davidsh).

Changed prior to commit:
  https://reviews.llvm.org/D25480?vs=74377=74740#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D25480

Files:
  cfe/trunk/include/clang/Basic/Builtins.def
  cfe/trunk/test/Sema/builtin-unary-fp.c


Index: cfe/trunk/include/clang/Basic/Builtins.def
===
--- cfe/trunk/include/clang/Basic/Builtins.def
+++ cfe/trunk/include/clang/Basic/Builtins.def
@@ -367,7 +367,7 @@
 BUILTIN(__builtin_isunordered   , "i.", "Fnc")
 
 // Unary FP classification
-BUILTIN(__builtin_fpclassify, "i.", "Fnc")
+BUILTIN(__builtin_fpclassify, "ii.", "Fnc")
 BUILTIN(__builtin_isfinite,   "i.", "Fnc")
 BUILTIN(__builtin_isinf,  "i.", "Fnc")
 BUILTIN(__builtin_isinf_sign, "i.", "Fnc")
Index: cfe/trunk/test/Sema/builtin-unary-fp.c
===
--- cfe/trunk/test/Sema/builtin-unary-fp.c
+++ cfe/trunk/test/Sema/builtin-unary-fp.c
@@ -11,6 +11,7 @@
   check(__builtin_isnan(1,2)); // expected-error{{too many arguments}}
   check(__builtin_fpclassify(0, 0, 0, 0, 0, 1.0));
   check(__builtin_fpclassify(0, 0, 0, 0, 0, 1)); // expected-error{{requires 
argument of floating point type}}
+  check(__builtin_fpclassify(0, 1, 2, 3, 4.5, 5.0)); // 
expected-warning{{implicit conversion from 'double' to 'int' changes value from 
4.5 to 4}}
   check(__builtin_fpclassify(0, 0, 0, 0, 1)); // expected-error{{too few 
arguments}}
   check(__builtin_fpclassify(0, 0, 0, 0, 0, 1, 0)); // expected-error{{too 
many arguments}}
 }


Index: cfe/trunk/include/clang/Basic/Builtins.def
===
--- cfe/trunk/include/clang/Basic/Builtins.def
+++ cfe/trunk/include/clang/Basic/Builtins.def
@@ -367,7 +367,7 @@
 BUILTIN(__builtin_isunordered   , "i.", "Fnc")
 
 // Unary FP classification
-BUILTIN(__builtin_fpclassify, "i.", "Fnc")
+BUILTIN(__builtin_fpclassify, "ii.", "Fnc")
 BUILTIN(__builtin_isfinite,   "i.", "Fnc")
 BUILTIN(__builtin_isinf,  "i.", "Fnc")
 BUILTIN(__builtin_isinf_sign, "i.", "Fnc")
Index: cfe/trunk/test/Sema/builtin-unary-fp.c
===
--- cfe/trunk/test/Sema/builtin-unary-fp.c
+++ cfe/trunk/test/Sema/builtin-unary-fp.c
@@ -11,6 +11,7 @@
   check(__builtin_isnan(1,2)); // expected-error{{too many arguments}}
   check(__builtin_fpclassify(0, 0, 0, 0, 0, 1.0));
   check(__builtin_fpclassify(0, 0, 0, 0, 0, 1)); // expected-error{{requires argument of floating point type}}
+  check(__builtin_fpclassify(0, 1, 2, 3, 4.5, 5.0)); // expected-warning{{implicit conversion from 'double' to 'int' changes value from 4.5 to 4}}
   check(__builtin_fpclassify(0, 0, 0, 0, 1)); // expected-error{{too few arguments}}
   check(__builtin_fpclassify(0, 0, 0, 0, 0, 1, 0)); // expected-error{{too many arguments}}
 }
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D25480: __builtin_fpclassify missing one int parameter

2016-10-11 Thread Hubert Tong via cfe-commits
hubert.reinterpretcast added a comment.

In https://reviews.llvm.org/D25480#567552, @ahatanak wrote:

> __builtin_fpclassify takes five int arguments followed by one last argument 
> that is of floating point type. Do you know if there is a way to specify the 
> last one argument is a floating point rather than using '.'?


There is already code in `clang/lib/Sema/SemaChecking.cpp` to generate 
`diag::err_typecheck_call_invalid_unary_fp`.


https://reviews.llvm.org/D25480



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


[PATCH] D25480: __builtin_fpclassify missing one int parameter

2016-10-11 Thread Akira Hatanaka via cfe-commits
ahatanak added a comment.

__builtin_fpclassify takes five int arguments followed by one last argument 
that is of floating point type. Do you know if there is a way to specify the 
last one argument is a floating point rather than using '.'?


https://reviews.llvm.org/D25480



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


[PATCH] D25480: __builtin_fpclassify missing one int parameter

2016-10-11 Thread Hubert Tong via cfe-commits
hubert.reinterpretcast added a comment.

A test should probably be added as well.


https://reviews.llvm.org/D25480



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


[PATCH] D25480: __builtin_fpclassify missing one int parameter

2016-10-11 Thread Tania Albarghouthi via cfe-commits
taniabarg created this revision.
taniabarg added reviewers: davidsh, hubert.reinterpretcast.
taniabarg added a subscriber: cfe-commits.

BIF fpclassify has the wrong number of integer parameters specified in 
Builtins.def. There should be 5 int parameters (each representing the values 
FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL and FP_ZERO) but Builtins.def 
previously specified 4.


https://reviews.llvm.org/D25480

Files:
  include/clang/Basic/Builtins.def


Index: include/clang/Basic/Builtins.def
===
--- include/clang/Basic/Builtins.def
+++ include/clang/Basic/Builtins.def
@@ -367,7 +367,7 @@
 BUILTIN(__builtin_isunordered   , "i.", "Fnc")

 // Unary FP classification
-BUILTIN(__builtin_fpclassify, "i.", "Fnc")
+BUILTIN(__builtin_fpclassify, "ii.", "Fnc")
 BUILTIN(__builtin_isfinite,   "i.", "Fnc")
 BUILTIN(__builtin_isinf,  "i.", "Fnc")
 BUILTIN(__builtin_isinf_sign, "i.", "Fnc")


Index: include/clang/Basic/Builtins.def
===
--- include/clang/Basic/Builtins.def
+++ include/clang/Basic/Builtins.def
@@ -367,7 +367,7 @@
 BUILTIN(__builtin_isunordered   , "i.", "Fnc")

 // Unary FP classification
-BUILTIN(__builtin_fpclassify, "i.", "Fnc")
+BUILTIN(__builtin_fpclassify, "ii.", "Fnc")
 BUILTIN(__builtin_isfinite,   "i.", "Fnc")
 BUILTIN(__builtin_isinf,  "i.", "Fnc")
 BUILTIN(__builtin_isinf_sign, "i.", "Fnc")
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits