This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix PR/11067 Strange warning with pure virtual inline function


> When a pure virtual function is also marked as inline, gcc should not warn
> about it not being defined with -Winline. The problem is the function is 
> declared inline but this warning does not make sense for pure virtual 
> functions.

Why? It's admittedly rare, but it's legal to have a definition for a pure 
virtual function, and then it can also be inlined. The warning is just as 
useful (or not useful, IMHO) as for any other function.

W.

---------------
struct X {
    virtual inline void f() = 0;
};

struct Y : X {
    virtual void f () {
	X::f ();
      }
};
--------------
tmp/gg> gcc -c x.cc -Winline
x.cc:2: warning: inline function `virtual void X::f()' used but never defined


-------------------------------------------------------------------------
Wolfgang Bangerth              email:            bangerth@ices.utexas.edu
                               www: http://www.ices.utexas.edu/~bangerth/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]