From d622ea199d5c7526242d266fa3a10daef8bdddc0 Mon Sep 17 00:00:00 2001 From: Aaron Ballman Date: Mon, 18 Apr 2016 18:10:53 +0000 Subject: [PATCH] Clarifying the wording of this diagnostic; it confused parameter and argument. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@266644 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Basic/DiagnosticSemaKinds.td | 5 +++-- lib/Sema/SemaChecking.cpp | 2 +- test/Sema/varargs-x86-64.c | 4 ++-- test/Sema/varargs.c | 10 +++++----- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/include/clang/Basic/DiagnosticSemaKinds.td b/include/clang/Basic/DiagnosticSemaKinds.td index 822124f0dd..b08241d849 100644 --- a/include/clang/Basic/DiagnosticSemaKinds.td +++ b/include/clang/Basic/DiagnosticSemaKinds.td @@ -7411,8 +7411,9 @@ def err_va_start_used_in_wrong_abi_function : Error< "'va_start' used in %select{System V|Win64}0 ABI function">; def err_ms_va_start_used_in_sysv_function : Error< "'__builtin_ms_va_start' used in System V ABI function">; -def warn_second_parameter_of_va_start_not_last_named_argument : Warning< - "second parameter of 'va_start' not last named argument">, InGroup; +def warn_second_arg_of_va_start_not_last_named_param : Warning< + "second argument to 'va_start' is not the last named parameter">, + InGroup; def warn_va_start_of_reference_type_is_undefined : Warning< "'va_start' has undefined behavior with reference types">, InGroup; def err_first_argument_to_va_arg_not_of_type_va_list : Error< diff --git a/lib/Sema/SemaChecking.cpp b/lib/Sema/SemaChecking.cpp index b50869384e..b1e6b99ce4 100644 --- a/lib/Sema/SemaChecking.cpp +++ b/lib/Sema/SemaChecking.cpp @@ -2723,7 +2723,7 @@ bool Sema::SemaBuiltinVAStartImpl(CallExpr *TheCall) { if (!SecondArgIsLastNamedArgument) Diag(TheCall->getArg(1)->getLocStart(), - diag::warn_second_parameter_of_va_start_not_last_named_argument); + diag::warn_second_arg_of_va_start_not_last_named_param); else if (Type->isReferenceType()) { Diag(Arg->getLocStart(), diag::warn_va_start_of_reference_type_is_undefined); diff --git a/test/Sema/varargs-x86-64.c b/test/Sema/varargs-x86-64.c index d50dd6a6fc..e3ded6fbf6 100644 --- a/test/Sema/varargs-x86-64.c +++ b/test/Sema/varargs-x86-64.c @@ -21,8 +21,8 @@ void __attribute__((ms_abi)) g1(int a) { void __attribute__((ms_abi)) g2(int a, int b, ...) { __builtin_ms_va_list ap; - __builtin_ms_va_start(ap, 10); // expected-warning {{second parameter of 'va_start' not last named argument}} - __builtin_ms_va_start(ap, a); // expected-warning {{second parameter of 'va_start' not last named argument}} + __builtin_ms_va_start(ap, 10); // expected-warning {{second argument to 'va_start' is not the last named parameter}} + __builtin_ms_va_start(ap, a); // expected-warning {{second argument to 'va_start' is not the last named parameter}} __builtin_ms_va_start(ap, b); } diff --git a/test/Sema/varargs.c b/test/Sema/varargs.c index 5329c2e61c..82fa42b2c1 100644 --- a/test/Sema/varargs.c +++ b/test/Sema/varargs.c @@ -4,7 +4,7 @@ void f1(int a) { __builtin_va_list ap; - + __builtin_va_start(ap, a, a); // expected-error {{too many arguments to function}} __builtin_va_start(ap, a); // expected-error {{'va_start' used in function with fixed args}} } @@ -12,16 +12,16 @@ void f1(int a) void f2(int a, int b, ...) { __builtin_va_list ap; - - __builtin_va_start(ap, 10); // expected-warning {{second parameter of 'va_start' not last named argument}} - __builtin_va_start(ap, a); // expected-warning {{second parameter of 'va_start' not last named argument}} + + __builtin_va_start(ap, 10); // expected-warning {{second argument to 'va_start' is not the last named parameter}} + __builtin_va_start(ap, a); // expected-warning {{second argument to 'va_start' is not the last named parameter}} __builtin_va_start(ap, b); } void f3(float a, ...) { __builtin_va_list ap; - + __builtin_va_start(ap, a); __builtin_va_start(ap, (a)); } -- 2.50.1