mayurpandey created this revision. mayurpandey added reviewers: george.burgess.iv, hfinkel. mayurpandey added a subscriber: cfe-commits.
clang was crashing when no argument was provided to __builtin_signbit function. Added a check to handle the error. No regressions on testing. http://reviews.llvm.org/D22334 Files: lib/Sema/SemaChecking.cpp test/Sema/builtins.c Index: test/Sema/builtins.c =================================================================== --- test/Sema/builtins.c +++ test/Sema/builtins.c @@ -248,3 +248,7 @@ return buf; } + +int test21(double a) { + return __builtin_signbit(); // expected-error {{too few arguments}} +} Index: lib/Sema/SemaChecking.cpp =================================================================== --- lib/Sema/SemaChecking.cpp +++ lib/Sema/SemaChecking.cpp @@ -763,6 +763,10 @@ } break; } + case Builtin::BI__builtin_signbit: + if (checkArgCount(*this, TheCall, 1)) + return true; + break; case Builtin::BI__builtin_isgreater: case Builtin::BI__builtin_isgreaterequal: case Builtin::BI__builtin_isless:
Index: test/Sema/builtins.c =================================================================== --- test/Sema/builtins.c +++ test/Sema/builtins.c @@ -248,3 +248,7 @@ return buf; } + +int test21(double a) { + return __builtin_signbit(); // expected-error {{too few arguments}} +} Index: lib/Sema/SemaChecking.cpp =================================================================== --- lib/Sema/SemaChecking.cpp +++ lib/Sema/SemaChecking.cpp @@ -763,6 +763,10 @@ } break; } + case Builtin::BI__builtin_signbit: + if (checkArgCount(*this, TheCall, 1)) + return true; + break; case Builtin::BI__builtin_isgreater: case Builtin::BI__builtin_isgreaterequal: case Builtin::BI__builtin_isless:
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits