Tim,

The patch for XALANC-570 appears to be trivial. According to C++ language standards, overloaded operators should have return statements. I need to review if any of the referenced members have a return type other than void, then resolve the differences according to C++ specifications.

I plan to make a proper patch for this issue and others. I hope to get the easy and necessary patches committed to the svn xalan/c/trunk in the near future.

I am currently preparing the documentation for the Xalan-C v1.11 release. As I do this I am reviewing all outstanding JIRA issues that need to be patched and committed. Significant feature enhancements will be deferred.

I am stymied since I have no committer authority. The reformed XALAN PMC has yet to vote in new membership.

Sincerely,
Steven J. Hathaway


On 7/6/2011 6:45 PM, Tim Williams (JIRA) wrote:
     [ 
https://issues.apache.org/jira/browse/XALANC-570?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13060986#comment-13060986
 ]

Tim Williams commented on XALANC-570:
-------------------------------------

Is there a proper patch for this?

Removal of compiler warnings from STLHelper.hpp
-----------------------------------------------

                 Key: XALANC-570
                 URL: https://issues.apache.org/jira/browse/XALANC-570
             Project: XalanC
          Issue Type: Bug
          Components: XalanC
    Affects Versions: 1.9
         Environment: g++ (GCC) 3.2.3 20030502 (Red Hat Linux  3.2.3-52), Intel
            Reporter: David Singleton
            Priority: Minor

When programs  using Xalan (or Xalan itself) are compiled, the following 
compiler warning is generated from 3 points in STLHelper.cpp (lines 127,  245 
and 284):
/home/singleto/Xalan_prob/xml-xalan/c/src/xalanc/Include/STLHelper.hpp: In
    member function `std::unary_function<const _Tp*, void>::result_type
    xalanc_1_9::DeleteFunctor<Type>::operator()(std::unary_function<const _Tp*,
    void>::argument_type) const':
/home/singleto/Xalan_prob/xml-xalan/c/src/xalanc/Include/STLHelper.hpp:127: 
warning: no
    return statement in function returning non-void
/home/singleto/Xalan_prob/xml-xalan/c/src/xalanc/Include/STLHelper.hpp: In
    member function `std::unary_function<_Tp, void>::result_type
    xalanc_1_9::ClearFunctor<Type>::operator()(std::unary_function<_Tp,
    void>::argument_type&) const':
/home/singleto/Xalan_prob/xml-xalan/c/src/xalanc/Include/STLHelper.hpp:245: 
warning: no
    return statement in function returning non-void
/home/singleto/Xalan_prob/xml-xalan/c/src/xalanc/Include/STLHelper.hpp: In
    member function `std::unary_function<T::value_type&, void>::result_type
    
xalanc_1_9::MapValueDeleteFunctor<T>::operator()(std::unary_function<T::value_type&,
    void>::argument_type) const':
/home/singleto/Xalan_prob/xml-xalan/c/src/xalanc/Include/STLHelper.hpp:284: 
warning: no
    return statement in function returning non-void
An inspection of the code ( see below) shows that in all three cases no value 
is returned.
Line 127
     result_type
     operator()(argument_type    thePointer) const
     {
         makeXalanDestroyFunctor(thePointer)(thePointer, m_memoryManager);
     }
Line 245
     result_type
     operator()(argument_type&    theArg) const
     {
         theArg.clear();
     }
Line 284
     result_type
     operator()(argument_type    thePair) const
     {
         makeXalanDestroyFunctor(thePair.second)(thePair.second, 
m_memoryManager);
     }
The easiest way to solve the problem (or at least to get the compiler warnings 
to go away) ist to add a return, as shown below:
Line 127
     result_type
     operator()(argument_type    thePointer) const
     {
        return  makeXalanDestroyFunctor(thePointer)(thePointer, 
m_memoryManager);
     }
Line 245
     result_type
     operator()(argument_type&    theArg) const
     {
         return theArg.clear();
     }
Line 284
     result_type
     operator()(argument_type    thePair) const
     {
         return makeXalanDestroyFunctor(thePair.second)(thePair.second, 
m_memoryManager);
     }
Perhaps I have overlooked something here, but I offer my correction in any 
case. I will send the amended code by email
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


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

Reply via email to