[ 
https://issues.apache.org/jira/browse/XERCESC-2138?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16372208#comment-16372208
 ] 

Roger Leigh edited comment on XERCESC-2138 at 2/21/18 11:27 PM:
----------------------------------------------------------------

I've attached a few patches which clean up some particular old features, 
enabling namespaces and standard header usage by default.  There's much more 
which could be cleaned up; this is just a demonstration.

 

Interestingly, with the above patches, it uncovers a *lot* of extra warnings.  
Many would be resolved with the appropriate C++ casts, but there could be a 
number of bugs lurking in there which were previously hidden from sight.  
Fixing all this stuff up could potentially improve the quality of the 
implementation, so might be worth considering for a point release.  While the 
above diffs might look scary, there are no API changes and it's primarily 
removal of autoconf/cmake checks which are pointless with a standard C++ 
implementation.

 

Edit: the extra warnings might actually be from upgrading to GCC 7.3 and 
unrelated to the patches.


was (Author: rleigh):
I've attached a few patches which clean up some particular old features, 
enabling namespaces and standard header usage by default.  There's much more 
which could be cleaned up; this is just a demonstration.

 

Interestingly, with the above patches, it uncovers a *lot* of extra warnings.  
Many would be resolved with the appropriate C++ casts, but there could be a 
number of bugs lurking in there which were previously hidden from sight.  
Fixing all this stuff up could potentially improve the quality of the 
implementation, so might be worth considering for a point release.  While the 
above diffs might look scary, there are no API changes and it's primarily 
removal of autoconf/cmake checks which are pointless with a standard C++ 
implementation.

> Xerces-C++ should use C++98 features and remove pre-Standard workarounds
> ------------------------------------------------------------------------
>
>                 Key: XERCESC-2138
>                 URL: https://issues.apache.org/jira/browse/XERCESC-2138
>             Project: Xerces-C++
>          Issue Type: Bug
>          Components: Build
>    Affects Versions: 3.2.0
>            Reporter: Johnny Willemsen
>            Priority: Trivial
>         Attachments: 0001-Make-XSConstants-a-namespace.patch, 
> 0002-Drop-XERCES_HAS_CPP_NAMESPACE-check.patch, 
> 0003-Drop-XERCES_STD_NAMESPACE-check.patch, 
> 0004-Drop-XERCES_NO_NATIVE_BOOL-check.patch, 
> 0005-Drop-XERCES_NEW_IOSTREAMS-check.patch, 
> 0006-Use-cstdlib-in-place-of-stdlib.h.patch, 
> 0007-Use-cstdio-in-place-of-stdio.h.patch, 
> 0008-Use-cstring-in-place-of-string.h.patch, 
> 0009-Remove-use-of-strings.h.patch
>
>
> When compiling xercesc-3.2.0 with mingw-64 gcc 4.9.3 on Windows we get a lot 
> of warnings, for example:
> class xercesc_3_2::XSConstants' only defines private constructors and has no 
> friends
>  In file included from 
> C:/cygwin64/home/administrator/build-ad87109bfff0765f4dd8cf4943b04d16a4070fea/xerces-c-3.2.0/src/xercesc/framework/psvi/XSObject.hpp:26:0,
> Gandalf_win10_x86_64_01(administrator@172.16.2.213) 
> [pkg_xercesc:windows-pkg-xercesc]                  from 
> C:/cygwin64/home/administrator/build-ad87109bfff0765f4dd8cf4943b04d16a4070fea/xerces-c-3.2.0/src/xercesc/framework/psvi/XSTypeDefinition.hpp:25,
> Gandalf_win10_x86_64_01(administrator@172.16.2.213) 
> [pkg_xercesc:windows-pkg-xercesc]                  from 
> C:/cygwin64/home/administrator/build-ad87109bfff0765f4dd8cf4943b04d16a4070fea/xerces-c-3.2.0/src/xercesc/framework/psvi/XSSimpleTypeDefinition.hpp:25,
> Gandalf_win10_x86_64_01(administrator@172.16.2.213) 
> [pkg_xercesc:windows-pkg-xercesc]                  from 
> C:/cygwin64/home/administrator/build-ad87109bfff0765f4dd8cf4943b04d16a4070fea/xerces-c-3.2.0/src/xercesc/validators/datatype/DatatypeValidator.hpp:32,
> Gandalf_win10_x86_64_01(administrator@172.16.2.213) 
> [pkg_xercesc:windows-pkg-xercesc]                  from 
> C:/cygwin64/home/administrator/build-ad87109bfff0765f4dd8cf4943b04d16a4070fea/xerces-c-3.2.0/src/xercesc/framework/XMLAttr.hpp:28,
> Gandalf_win10_x86_64_01(administrator@172.16.2.213) 
> [pkg_xercesc:windows-pkg-xercesc]                  from 
> C:/cygwin64/home/administrator/build-ad87109bfff0765f4dd8cf4943b04d16a4070fea/xerces-c-3.2.0/src/xercesc/framework/XMLValidator.hpp:25,
> Gandalf_win10_x86_64_01(administrator@172.16.2.213) 
> [pkg_xercesc:windows-pkg-xercesc]                  from 
> C:/cygwin64/home/administrator/build-ad87109bfff0765f4dd8cf4943b04d16a4070fea/xerces-c-3.2.0/src/xercesc/sax2/SAX2XMLReader.hpp:27,
> Gandalf_win10_x86_64_01(administrator@172.16.2.213) 
> [pkg_xercesc:windows-pkg-xercesc]                  from 
> C:/cygwin64/home/administrator/build-ad87109bfff0765f4dd8cf4943b04d16a4070fea/xerces-c-3.2.0/samples/src/SAX2Print/SAX2Print.cpp:28:
> Gandalf_win10_x86_64_01(administrator@172.16.2.213) 
> [pkg_xercesc:windows-pkg-xercesc] 
> C:/cygwin64/home/administrator/build-ad87109bfff0765f4dd8cf4943b04d16a4070fea/xerces-c-3.2.0/src/xercesc/framework/psvi/XSConstants.hpp:56:24:
>  warning: 'class xercesc_3_2::XSConstants' only defines private constructors 
> and has no friends [-Wctor-dtor-privacy]
> Gandalf_win10_x86_64_01(administrator@172.16.2.213) 
> [pkg_xercesc:windows-pkg-xercesc]  class XMLPARSER_EXPORT XSConstants 
> Gandalf_win10_x86_64_01(administrator@172.16.2.213) 
> [pkg_xercesc:windows-pkg-xercesc]                         ^



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org

Reply via email to