From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by sourceware.org (Postfix) with ESMTP id 337583870854 for ; Thu, 7 May 2020 17:25:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 337583870854 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-494-5T8o6sFYMXuzPtXZoLJK0g-1; Thu, 07 May 2020 13:24:58 -0400 X-MC-Unique: 5T8o6sFYMXuzPtXZoLJK0g-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id ABF9E107B267; Thu, 7 May 2020 17:24:57 +0000 (UTC) Received: from redhat.com (ovpn-112-227.rdu2.redhat.com [10.10.112.227]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3081010013BD; Thu, 7 May 2020 17:24:57 +0000 (UTC) Date: Thu, 7 May 2020 13:24:55 -0400 From: Marek Polacek To: Martin Sebor , GCC Patches Subject: Re: [PATCH] c++: Fix spelling of non-static Message-ID: <20200507172455.GF4475@redhat.com> References: <20200319154857.2703391-1-polacek@redhat.com> <92b2eaf5-3b0e-607a-4e1f-26884fdf06f5@gmail.com> <20200319165142.GY3554@redhat.com> MIME-Version: 1.0 In-Reply-To: <20200319165142.GY3554@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-Spam-Status: No, score=-19.6 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 May 2020 17:25:18 -0000 On Thu, Mar 19, 2020 at 12:51:42PM -0400, Marek Polacek via Gcc-patches wro= te: > On Thu, Mar 19, 2020 at 10:45:01AM -0600, Martin Sebor via Gcc-patches wr= ote: > > On 3/19/20 9:48 AM, Marek Polacek via Gcc-patches wrote: > > > I was looking at DR 296 and noticed that we say "nonstatic" instead o= f > > > "non-static", which is the version the standard uses. So this patch > > > fixes the spelling throughout the front end. Did not check e.g. > > > non-dependent or any other. > > >=20 > > > Bootstrapped/regtested on x86_64-linux, ok for trunk? > >=20 > > If this is the spelling we want to standardize on, would you mind > > adding a check to -Wformat-diag as well so these misspellings get > > diagnosed in diagnostic messages? We might also want to add > > a mention of it to the Spelling section of the GCC Coding > > Conventions. >=20 > Good point, I can definitely add it. For now I'm putting this aside thou= gh. Actually, I wasn't sure where to add such a diagnostic, check_plain doesn't= seem to already check for similar typos, so I'll just go ahead with my patch as-= is. > > Alternatively, please try to remember to CC me when you commit > > the patch in stage1 and I'll add that myself. > >=20 > > Thanks > > Martin > >=20 > > PS The hyphenated form makes sense to me when applied to keywords > > or standard terms like non-inline or non-static. I'm not sure it's > > necessary or even widespread in other already established terms > > like nonnegative, and it's even explicitly discouraged in the GCC > > Coding Conventions for nonzero. > >=20 > > >=20 > > > =09* decl.c (grok_op_properties): Fix spelling of non-static. > > > =09* typeck.c (build_class_member_access_expr): Likewise. > > >=20 > > > =09* g++.dg/other/operator1.C: Adjust expected message. > > > =09* g++.dg/overload/operator2.C: Likewise. > > > =09* g++.dg/template/error30.C: Likewise. > > > =09* g++.old-deja/g++.jason/operator.C: Likewise. > > > --- > > > gcc/cp/call.c | 2 +- > > > gcc/cp/class.c | 8 ++++---- > > > gcc/cp/cxx-pretty-print.c | 2 +- > > > gcc/cp/decl.c | 2 +- > > > gcc/cp/init.c | 10 +++++----- > > > gcc/cp/search.c | 6 +++--- > > > gcc/cp/typeck.c | 2 +- > > > gcc/testsuite/g++.dg/other/operator1.C | 2 +- > > > gcc/testsuite/g++.dg/overload/operator2.C | 4 ++-- > > > gcc/testsuite/g++.dg/template/error30.C | 2 +- > > > gcc/testsuite/g++.old-deja/g++.jason/operator.C | 4 ++-- > > > 11 files changed, 22 insertions(+), 22 deletions(-) > > >=20 > > > diff --git a/gcc/cp/call.c b/gcc/cp/call.c > > > index 1715acc0ec3..db396f428a4 100644 > > > --- a/gcc/cp/call.c > > > +++ b/gcc/cp/call.c > > > @@ -8671,7 +8671,7 @@ build_over_call (struct z_candidate *cand, int = flags, tsubst_flags_t complain) > > > =09 (DECL_CONTEXT (fn), BINFO_TYPE (cand->conversion_path)))) > > > =09flags |=3D LOOKUP_NONVIRTUAL; > > > - /* [class.mfct.nonstatic]: If a nonstatic member function of a= class > > > + /* [class.mfct.non-static]: If a non-static member function of= a class > > > =09 X is called for an object that is not of type X, or of a type > > > =09 derived from X, the behavior is undefined. > > > diff --git a/gcc/cp/class.c b/gcc/cp/class.c > > > index 5340799fdd3..fb2ef202629 100644 > > > --- a/gcc/cp/class.c > > > +++ b/gcc/cp/class.c > > > @@ -3661,7 +3661,7 @@ check_field_decls (tree t, tree *access_decls, > > > =09 { > > > =09 /* ARM $12.6.2: [A member initializer list] (or, for an > > > =09=09 aggregate, initialization by a brace-enclosed list) is the > > > -=09=09 only way to initialize nonstatic const and reference > > > +=09=09 only way to initialize non-static const and reference > > > =09=09 members. */ > > > =09 TYPE_HAS_COMPLEX_COPY_ASSIGN (t) =3D 1; > > > =09 TYPE_HAS_COMPLEX_MOVE_ASSIGN (t) =3D 1; > > > @@ -3784,7 +3784,7 @@ check_field_decls (tree t, tree *access_decls, > > > =09 { > > > =09 /* ARM $12.6.2: [A member initializer list] (or, for an > > > =09=09 aggregate, initialization by a brace-enclosed list) is the > > > -=09=09 only way to initialize nonstatic const and reference > > > +=09=09 only way to initialize non-static const and reference > > > =09=09 members. */ > > > =09 TYPE_HAS_COMPLEX_COPY_ASSIGN (t) =3D 1; > > > =09 TYPE_HAS_COMPLEX_MOVE_ASSIGN (t) =3D 1; > > > @@ -3799,7 +3799,7 @@ check_field_decls (tree t, tree *access_decls, > > > =09 | CLASSTYPE_READONLY_FIELDS_NEED_INIT (type)); > > > =09} > > > - /* Core issue 80: A nonstatic data member is required to have = a > > > + /* Core issue 80: A non-static data member is required to have= a > > > =09 different name from the class iff the class has a > > > =09 user-declared constructor. */ > > > if (constructor_name_p (DECL_NAME (field), t) > > > @@ -8104,7 +8104,7 @@ resolve_address_of_overloaded_function (tree ta= rget_type, > > > member functions match targets of type "pointer-to-member > > > function;" the function type of the pointer to member is use= d to > > > select the member function from the set of overloaded member > > > - functions. If a nonstatic member function is selected, the > > > + functions. If a non-static member function is selected, the > > > reference to the overloaded function name is required to hav= e the > > > form of a pointer to member as described in 5.3.1. > > > diff --git a/gcc/cp/cxx-pretty-print.c b/gcc/cp/cxx-pretty-print.c > > > index 100154e400f..05c56775adc 100644 > > > --- a/gcc/cp/cxx-pretty-print.c > > > +++ b/gcc/cp/cxx-pretty-print.c > > > @@ -1532,7 +1532,7 @@ pp_cxx_parameter_declaration_clause (cxx_pretty= _printer *pp, tree t) > > > } > > > bool first =3D true; > > > - /* Skip artificial parameter for nonstatic member functions. */ > > > + /* Skip artificial parameter for non-static member functions. */ > > > if (TREE_CODE (t) =3D=3D METHOD_TYPE) > > > types =3D TREE_CHAIN (types); > > > diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c > > > index 319b7ee5c1c..31025cd5edc 100644 > > > --- a/gcc/cp/decl.c > > > +++ b/gcc/cp/decl.c > > > @@ -14388,7 +14388,7 @@ grok_op_properties (tree decl, bool complain) > > > =09 || operator_code =3D=3D ARRAY_REF > > > =09 || operator_code =3D=3D NOP_EXPR) > > > =09{ > > > -=09 error_at (loc, "%qD must be a nonstatic member function", decl)= ; > > > +=09 error_at (loc, "%qD must be a non-static member function", decl= ); > > > =09 return false; > > > =09} > > > diff --git a/gcc/cp/init.c b/gcc/cp/init.c > > > index 27623cf4db1..ac661e06d20 100644 > > > --- a/gcc/cp/init.c > > > +++ b/gcc/cp/init.c > > > @@ -160,7 +160,7 @@ build_zero_init_1 (tree type, tree nelts, bool st= atic_storage_p, > > > -- if T is a scalar type, the storage is set to the value of z= ero > > > =09converted to T. > > > - -- if T is a non-union class type, the storage for each nonstat= ic > > > + -- if T is a non-union class type, the storage for each non-sta= tic > > > =09data member and each base-class subobject is zero-initialized. > > > -- if T is a union type, the storage for its first data member= is > > > @@ -2219,8 +2219,8 @@ build_offset_ref (tree type, tree member, bool = address_p, > > > /* If MEMBER is non-static, then the program has fallen afoul= of > > > =09 [expr.prim]: > > > -=09 An id-expression that denotes a nonstatic data member or > > > -=09 nonstatic member function of a class can only be used: > > > +=09 An id-expression that denotes a non-static data member or > > > +=09 non-static member function of a class can only be used: > > > =09 -- as part of a class member access (_expr.ref_) in which the > > > =09 object-expression refers to the member's class or a class > > > @@ -2228,8 +2228,8 @@ build_offset_ref (tree type, tree member, bool = address_p, > > > =09 -- to form a pointer to member (_expr.unary.op_), or > > > -=09 -- in the body of a nonstatic member function of that class or > > > -=09 of a class derived from that class (_class.mfct.nonstatic_), o= r > > > +=09 -- in the body of a non-static member function of that class o= r > > > +=09 of a class derived from that class (_class.mfct.non-static_), = or > > > =09 -- in a mem-initializer for a constructor for that class or f= or > > > =09 a class derived from that class (_class.base.init_). */ > > > diff --git a/gcc/cp/search.c b/gcc/cp/search.c > > > index 6eada2d3788..d9a2d748428 100644 > > > --- a/gcc/cp/search.c > > > +++ b/gcc/cp/search.c > > > @@ -631,7 +631,7 @@ protected_accessible_p (tree decl, tree derived, = tree type, tree otype) > > > /* [class.protected] > > > When a friend or a member function of a derived class referenc= es > > > - a protected nonstatic member of a base class, an access check > > > + a protected non-static member of a base class, an access check > > > applies in addition to those described earlier in clause > > > _class.access_) Except when forming a pointer to member > > > (_expr.unary.op_), the access must be through a pointer to, > > > @@ -921,11 +921,11 @@ struct lookup_field_info { > > > of that class. > > > [class.member.lookup]:If the resulting set of declarations are n= ot all > > > - from sub-objects of the same type, or the set has a nonstatic m= ember > > > + from sub-objects of the same type, or the set has a non-static me= mber > > > and includes members from distinct sub-objects, there is an amb= iguity > > > and the program is ill-formed. > > > - This function checks that T contains no nonstatic members. */ > > > + This function checks that T contains no non-static members. */ > > > int > > > shared_member_p (tree t) > > > diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c > > > index 8e3188a415d..99d76e18eab 100644 > > > --- a/gcc/cp/typeck.c > > > +++ b/gcc/cp/typeck.c > > > @@ -2512,7 +2512,7 @@ build_class_member_access_expr (cp_expr object,= tree member, > > > if (complain & tf_error) > > > =09{ > > > =09 if (TREE_CODE (member) =3D=3D FIELD_DECL) > > > -=09 error ("invalid use of nonstatic data member %qE", member); > > > +=09 error ("invalid use of non-static data member %qE", member); > > > =09 else > > > =09 error ("%qD is not a member of %qT", member, object_type); > > > =09} > > > diff --git a/gcc/testsuite/g++.dg/other/operator1.C b/gcc/testsuite/g= ++.dg/other/operator1.C > > > index d0b0cb25f8c..121c106ad18 100644 > > > --- a/gcc/testsuite/g++.dg/other/operator1.C > > > +++ b/gcc/testsuite/g++.dg/other/operator1.C > > > @@ -1,7 +1,7 @@ > > > // PR c++/27547 > > > // { dg-do compile } > > > -int operator=3D(int); // { dg-error "5:.int operator=3D\\(int\\). m= ust be a nonstatic member function" } > > > +int operator=3D(int); // { dg-error "5:.int operator=3D\\(int\\). m= ust be a non-static member function" } > > > void foo() > > > { > > > diff --git a/gcc/testsuite/g++.dg/overload/operator2.C b/gcc/testsuit= e/g++.dg/overload/operator2.C > > > index b60c629744e..64640b6cfe0 100644 > > > --- a/gcc/testsuite/g++.dg/overload/operator2.C > > > +++ b/gcc/testsuite/g++.dg/overload/operator2.C > > > @@ -3,7 +3,7 @@ > > > struct A > > > { > > > - static operator int(); // { dg-error "10:.static A::operator int\\= (\\). must be a nonstatic member function" } > > > + static operator int(); // { dg-error "10:.static A::operator int\\= (\\). must be a non-static member function" } > > > }; > > > struct B > > > @@ -11,4 +11,4 @@ struct B > > > static int operator*(); // { dg-error "14:.static int B::operator= \\*\\(\\). must be either a non-static member function or a non-member func= tion" } > > > }; > > > -static operator int(); // { dg-error "8:.operator int\\(\\). must be= a nonstatic member function" } > > > +static operator int(); // { dg-error "8:.operator int\\(\\). must be= a non-static member function" } > > > diff --git a/gcc/testsuite/g++.dg/template/error30.C b/gcc/testsuite/= g++.dg/template/error30.C > > > index e1706af0b7a..3a87872d526 100644 > > > --- a/gcc/testsuite/g++.dg/template/error30.C > > > +++ b/gcc/testsuite/g++.dg/template/error30.C > > > @@ -2,4 +2,4 @@ > > > template struct A; > > > -template class B> A::x> operator() (); // = { dg-error "51:.A::x> operator\\(\\)\\(\\). must be a nonstatic memb= er function" } > > > +template class B> A::x> operator() (); // = { dg-error "51:.A::x> operator\\(\\)\\(\\). must be a non-static mem= ber function" } > > > diff --git a/gcc/testsuite/g++.old-deja/g++.jason/operator.C b/gcc/te= stsuite/g++.old-deja/g++.jason/operator.C > > > index 69a41cf2448..79c1932a353 100644 > > > --- a/gcc/testsuite/g++.old-deja/g++.jason/operator.C > > > +++ b/gcc/testsuite/g++.old-deja/g++.jason/operator.C > > > @@ -6,7 +6,7 @@ typedef __SIZE_TYPE__ size_t; > > > struct A { > > > int operator?:(int a, int b);=09 // { dg-error "prohibits overl= oading" } > > > - static int operator()(int a);=09 // { dg-error "14:.static int A= ::operator\\(\\)\\(int\\). must be a nonstatic member function" } > > > + static int operator()(int a);=09 // { dg-error "14:.static int A= ::operator\\(\\)\\(int\\). must be a non-static member function" } > > > static int operator+(A,A);=09 // { dg-error "14:.static int A::= operator\\+\\(A, A\\). must be either a non-static member function or a non= -member function" } > > > int operator+(int a, int b =3D 1); // { dg-error "7:.int A::opera= tor\\+\\(int, int\\). must have either zero or one argument" } > > > int operator++(char);=09=09 // { dg-error "7:postfix .int A::op= erator\\+\\+\\(char\\). must have .int. as its argument" } > > > @@ -29,4 +29,4 @@ void * operator new (A a);=09// { dg-error ".operat= or new. takes type .size_t." } > > > void operator delete (A a);=09// { dg-error ".operator delete. take= s type .void\\*. as first parameter" } > > > char * operator char * (int);=09// { dg-error "return type" "ret" } > > > -// { dg-error "8:.operator char\\*\\*\\(int\\). must be a nonstatic = member function" "mem" { target *-*-* } .-1 } > > > +// { dg-error "8:.operator char\\*\\*\\(int\\). must be a non-static= member function" "mem" { target *-*-* } .-1 } > > >=20 > > > base-commit: 02f7334ac93f53ed06d881beb611e88be36dc56a > > >=20 > >=20 >=20 > Marek >=20