Author: zoecarver Date: 2020-02-24T14:35:02-08:00 New Revision: 698078257285a044110620d7dab2fb4451a3fa29
URL: https://github.com/llvm/llvm-project/commit/698078257285a044110620d7dab2fb4451a3fa29 DIFF: https://github.com/llvm/llvm-project/commit/698078257285a044110620d7dab2fb4451a3fa29.diff LOG: Revert "Validate argument passed to __builtin_frame_address and __builtin_return_address" This reverts commit c93112dc4f745b0455addb54bfe1c2f79b827c6d. Added: Modified: clang/lib/Sema/SemaChecking.cpp clang/test/Sema/builtin-stackaddress.c Removed: ################################################################################ diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp index 590a7b43d1e8..a986ef2bb685 100644 --- a/clang/lib/Sema/SemaChecking.cpp +++ b/clang/lib/Sema/SemaChecking.cpp @@ -1847,11 +1847,6 @@ Sema::CheckBuiltinFunctionCall(FunctionDecl *FDecl, unsigned BuiltinID, if (SemaBuiltinOSLogFormat(TheCall)) return ExprError(); break; - case Builtin::BI__builtin_frame_address: - case Builtin::BI__builtin_return_address: - if (!SemaBuiltinConstantArgRange(TheCall, 0, 0, 0xFFFF)) - return ExprError(); - break; } // Since the target specific builtins for each arch overlap, only check those diff --git a/clang/test/Sema/builtin-stackaddress.c b/clang/test/Sema/builtin-stackaddress.c index a122f851adbd..5f63bb114624 100644 --- a/clang/test/Sema/builtin-stackaddress.c +++ b/clang/test/Sema/builtin-stackaddress.c @@ -1,6 +1,5 @@ // RUN: %clang_cc1 -fsyntax-only -verify %s - -void a(unsigned x) { +void* a(unsigned x) { return __builtin_return_address(0); } @@ -9,30 +8,9 @@ return __builtin_return_address(x); // expected-error{{argument to '__builtin_re } void* c(unsigned x) { -// expected-error@+1 {{argument value 4294967295 is outside the valid range [0, 65535]}} -return __builtin_return_address(-1); -} - -void* d(unsigned x) { -// expected-error@+1 {{argument value 1048575 is outside the valid range [0, 65535]}} -return __builtin_return_address(0xFFFFF); -} - -void* e(unsigned x) { return __builtin_frame_address(0); } -void f(unsigned x) { -// expected-error@+1 {{argument to '__builtin_frame_address' must be a constant integer}} -return __builtin_frame_address(x); -} - -void* g(unsigned x) { -// expected-error@+1 {{argument value 4294967295 is outside the valid range [0, 65535]}} -return __builtin_frame_address(-1); -} - -void* h(unsigned x) { -// expected-error@+1 {{argument value 1048575 is outside the valid range [0, 65535]}} -return __builtin_frame_address(0xFFFFF); +void d(unsigned x) { +return __builtin_frame_address(x); // expected-error{{argument to '__builtin_frame_address' must be a constant integer}} } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits