+2020-05-07  Marek Polacek  <polacek@redhat.com>
+
+       * decl.c (grok_op_properties): Fix spelling of non-static.
+       * typeck.c (build_class_member_access_expr): Likewise.
+
 2020-05-07  Richard Biener  <rguenther@suse.de>
 
        PR middle-end/94703
 
              (DECL_CONTEXT (fn), BINFO_TYPE (cand->conversion_path)))) 
        flags |= 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
         X is called for an object that is not of type X, or of a type
         derived from X, the behavior is undefined.
 
 
            {
              /* ARM $12.6.2: [A member initializer list] (or, for an
                 aggregate, initialization by a brace-enclosed list) is the
-                only way to initialize nonstatic const and reference
+                only way to initialize non-static const and reference
                 members.  */
              TYPE_HAS_COMPLEX_COPY_ASSIGN (t) = 1;
              TYPE_HAS_COMPLEX_MOVE_ASSIGN (t) = 1;
            {
              /* ARM $12.6.2: [A member initializer list] (or, for an
                 aggregate, initialization by a brace-enclosed list) is the
-                only way to initialize nonstatic const and reference
+                only way to initialize non-static const and reference
                 members.  */
              TYPE_HAS_COMPLEX_COPY_ASSIGN (t) = 1;
              TYPE_HAS_COMPLEX_MOVE_ASSIGN (t) = 1;
            | CLASSTYPE_READONLY_FIELDS_NEED_INIT (type));
        }
 
-      /* 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
         different name from the class iff the class has a
         user-declared constructor.  */
       if (constructor_name_p (DECL_NAME (field), t)
        member functions match targets of type "pointer-to-member
        function;" the function type of the pointer to member is used 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 have the
        form of a pointer to member as described in 5.3.1.
 
 
     }
   bool first = true;
 
-  /* Skip artificial parameter for nonstatic member functions.  */
+  /* Skip artificial parameter for non-static member functions.  */
   if (TREE_CODE (t) == METHOD_TYPE)
     types = TREE_CHAIN (types);
 
 
          || operator_code == ARRAY_REF
          || operator_code == NOP_EXPR)
        {
-         error_at (loc, "%qD must be a nonstatic member function", decl);
+         error_at (loc, "%qD must be a non-static member function", decl);
          return false;
        }
 
 
      -- if T is a scalar type, the storage is set to the value of zero
        converted to T.
 
-     -- if T is a non-union class type, the storage for each nonstatic
+     -- if T is a non-union class type, the storage for each non-static
        data member and each base-class subobject is zero-initialized.
 
      -- if T is a union type, the storage for its first data member is
       /* If MEMBER is non-static, then the program has fallen afoul of
         [expr.prim]:
 
-          An id-expression that denotes a nonstatic data member or
-          nonstatic member function of a class can only be used:
+          An id-expression that denotes a non-static data member or
+          non-static member function of a class can only be used:
 
           -- as part of a class member access (_expr.ref_) in which the
           object-expression refers to the member's class or a class
 
           -- to form a pointer to member (_expr.unary.op_), or
 
-          -- in the body of a nonstatic member function of that class or
-          of a class derived from that class (_class.mfct.nonstatic_), or
+          -- in the body of a non-static member function of that class or
+          of a class derived from that class (_class.mfct.non-static_), or
 
           -- in a mem-initializer for a constructor for that class or for
           a class derived from that class (_class.base.init_).  */
 
   /* [class.protected]
 
      When a friend or a member function of a derived class references
-     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,
    of that class.
 
    [class.member.lookup]:If the resulting set of declarations are not all
-   from sub-objects of the same type, or the set has a  nonstatic  member
+   from sub-objects of the same type, or the set has a non-static member
    and  includes members from distinct sub-objects, there is an ambiguity
    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)
 
       if (complain & tf_error)
        {
          if (TREE_CODE (member) == FIELD_DECL)
-           error ("invalid use of nonstatic data member %qE", member);
+           error ("invalid use of non-static data member %qE", member);
          else
            error ("%qD is not a member of %qT", member, object_type);
        }
 
+2020-05-07  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/other/operator1.C: Adjust expected message.
+       * g++.dg/overload/operator2.C: Likewise.
+       * g++.dg/template/error30.C: Likewise.
+       * g++.old-deja/g++.jason/operator.C: Likewise.
+
 2020-05-07  Richard Biener  <rguenther@suse.de>
 
        PR middle-end/94703
 
 // PR c++/27547
 // { dg-do compile }
 
-int operator=(int);  // { dg-error "5:.int operator=\\(int\\). must be a nonstatic member function" }
+int operator=(int);  // { dg-error "5:.int operator=\\(int\\). must be a non-static member function" }
 
 void foo()
 {
 
 
 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
   static int operator*(); // { dg-error "14:.static int B::operator\\*\\(\\). must be either a non-static member function or a non-member function" }
 };
 
-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" }
 
 
 template<int> struct A;
 
-template<template<typename> class B> A<B<int>::x> operator() (); // { dg-error "51:.A<B<int>::x> operator\\(\\)\\(\\). must be a nonstatic member function" }
+template<template<typename> class B> A<B<int>::x> operator() (); // { dg-error "51:.A<B<int>::x> operator\\(\\)\\(\\). must be a non-static member function" }
 
 
 struct A {
   int operator?:(int a, int b);           // { dg-error "prohibits overloading" } 
-  static int operator()(int a);           // { dg-error "14:.static int A::operator\\(\\)\\(int\\). must be a nonstatic member function" }
+  static int operator()(int a);           // { dg-error "14:.static int A::operator\\(\\)\\(int\\). must be a non-static member function" }
   static int operator+(A,A);      // { 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 = 1); // { dg-error "7:.int A::operator\\+\\(int, int\\). must have either zero or one argument" }
   int operator++(char);                   // { dg-error "7:postfix .int A::operator\\+\\+\\(char\\). must have .int. as its argument" }
 void operator delete (A a);    // { dg-error ".operator delete. takes type .void\\*. as first parameter" }
 
 char * operator char * (int);  // { 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 }