From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:50478) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ufsrc-0001Ot-Td for qemu-devel@nongnu.org; Fri, 24 May 2013 10:21:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UfsrZ-0008WO-2Q for qemu-devel@nongnu.org; Fri, 24 May 2013 10:21:00 -0400 Received: from usindpps05.hds.com ([207.126.252.18]:46092) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UfsrY-0008W0-7H for qemu-devel@nongnu.org; Fri, 24 May 2013 10:20:56 -0400 From: Tomoki Sekiyama Date: Fri, 24 May 2013 14:20:31 +0000 Message-ID: In-Reply-To: <20130524085206.GB21639@stefanha-thinkpad.redhat.com> Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-ID: <7B61967A646C9242AFC74C2F82D97256@hds.com> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [Qemu-devel] [RFC PATCH v3 02/11] Fix errors and warnings while compiling with c++ compilier List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: "mdroth@linux.vnet.ibm.com" , "qemu-devel@nongnu.org" , "lcapitulino@redhat.com" , "vrozenfe@redhat.com" , "pbonzini@redhat.com" , Seiji Aguchi , "areis@redhat.com" On 5/24/13 4:52 , "Stefan Hajnoczi" wrote: >On Thu, May 23, 2013 at 06:34:43PM +0000, Tomoki Sekiyama wrote: >> On 5/23/13 8:12 , "Stefan Hajnoczi" wrote: >>=20 >> >On Tue, May 21, 2013 at 11:33:41AM -0400, Tomoki Sekiyama wrote: >> >> Add C++ keywords to avoid errors in compiling with c++ compiler. >> >> This also renames class member of PciDeviceInfo to q_class. >> >>=20 >> >> Signed-off-by: Tomoki Sekiyama >> >> --- >> >> hmp.c | 2 +- >> >> hw/pci/pci.c | 2 +- >> >> scripts/qapi.py | 9 ++++++++- >> >> 3 files changed, 10 insertions(+), 3 deletions(-) >> > >> >Please also extend scripts/checkpatch.pl. Otherwise it is very likely >> >that C++ keywords will be introduced again in the future. Most people >> >will not build the VSS code and therefore checkpatch.pl needs to ensure >> >that patches with C++ keywords will not be accepted. >> > >> >Stefan >>=20 >> I think it would be difficult to identify problematic C++ keywords usage >> from patches because headers can legally contain C++ keywords and >> checkpatch.pl doesn't know where it should be used. >> Do you have any good ideas? > >We can ignore false warnings for 0.1% of patches (the ones that touch >VSS C++ code). But for the remaining 99.9% of patches it's worth >guarding against VSS bitrot. > >Remember not many people will compile it and therefore they won't notice >when they break it. I really think it's worth putting some effort in >now so VSS doesn't periodically break. > >checkpatch.pl is a hacky sort of C parser. It already checks for a >bunch of similar things and it knows about comments, macros, and >strings. It does not perform #include expansion, so there is no risk of >including system headers that have C++ code. > >Stefan Thanks for your comment. I'm still wondering because it actually causes a lot false positives (not just 0.1%...) even for the patches not touching VSS. For example, keyword 'class' is used in qdev-monitor.c, qom/object.c, and a lot of files in hw/*/*.c and include/{hw,qom}/*.h, but they have nothing to do with qemu-ga. Qemu-ga is just a part of whole qemu source code, so I don't want to warn around the other parts. Thanks, Tomoki Sekiyama