Author: mehdi_amini Date: Wed Dec 14 22:58:51 2016 New Revision: 289763 URL: http://llvm.org/viewvc/llvm-project?rev=289763&view=rev Log: Revert "Fix printf specifier handling: invalid specifier should not be marked as "consuming data arguments""
This reverts commit r289762, wasn't ready to be pushed, it broke the printf tests. Modified: cfe/trunk/include/clang/Analysis/Analyses/FormatString.h cfe/trunk/test/CodeGen/builtins.c Modified: cfe/trunk/include/clang/Analysis/Analyses/FormatString.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/Analyses/FormatString.h?rev=289763&r1=289762&r2=289763&view=diff ============================================================================== --- cfe/trunk/include/clang/Analysis/Analyses/FormatString.h (original) +++ cfe/trunk/include/clang/Analysis/Analyses/FormatString.h Wed Dec 14 22:58:51 2016 @@ -211,8 +211,6 @@ public: return false; case PercentArg: return false; - case InvalidSpecifier: - return false; default: return true; } Modified: cfe/trunk/test/CodeGen/builtins.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins.c?rev=289763&r1=289762&r2=289763&view=diff ============================================================================== --- cfe/trunk/test/CodeGen/builtins.c (original) +++ cfe/trunk/test/CodeGen/builtins.c Wed Dec 14 22:58:51 2016 @@ -538,34 +538,6 @@ void test_builtin_os_log_precision_width __builtin_os_log_format(buf, "Hello %*.*s World", precision, width, data); } -// CHECK-LABEL: define void @test_builtin_os_log_invalid -// CHECK: (i8* [[BUF:%.*]], i32 [[DATA:%.*]]) -void test_builtin_os_log_invalid(void *buf, int data) { - volatile int len; - // CHECK: store i8* [[BUF]], i8** [[BUF_ADDR:%.*]], align 8 - // CHECK: store i32 [[DATA]], i32* [[DATA_ADDR:%.*]] - - // CHECK: store volatile i32 8, - len = __builtin_os_log_format_buffer_size("invalid specifier %: %d even a trailing one%", data); - - // CHECK: [[BUF2:%.*]] = load i8*, i8** [[BUF_ADDR]] - // CHECK: [[SUMMARY:%.*]] = getelementptr i8, i8* [[BUF2]], i64 0 - // CHECK: store i8 0, i8* [[SUMMARY]] - // CHECK: [[NUM_ARGS:%.*]] = getelementptr i8, i8* [[BUF2]], i64 1 - // CHECK: store i8 1, i8* [[NUM_ARGS]] - - // CHECK: [[ARG1_DESC:%.*]] = getelementptr i8, i8* [[BUF2]], i64 2 - // CHECK: store i8 0, i8* [[ARG1_DESC]] - // CHECK: [[ARG1_SIZE:%.*]] = getelementptr i8, i8* [[BUF2]], i64 3 - // CHECK: store i8 4, i8* [[ARG1_SIZE]] - // CHECK: [[ARG1:%.*]] = getelementptr i8, i8* [[BUF2]], i64 4 - // CHECK: [[ARG1_INT:%.*]] = bitcast i8* [[ARG1]] to i32* - // CHECK: [[ARG1_VAL:%.*]] = load i32, i32* [[DATA_ADDR]] - // CHECK: store i32 [[ARG1_VAL]], i32* [[ARG1_INT]] - - __builtin_os_log_format(buf, "invalid specifier %: %d even a trailing one%", data); -} - // CHECK-LABEL: define void @test_builtin_os_log_percent // CHECK: (i8* [[BUF:%.*]], i8* [[DATA1:%.*]], i8* [[DATA2:%.*]]) // Check that the %% which does not consume any argument is correctly handled _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits