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

         Key: XALANC-570
         URL: http://issues.apache.org/jira/browse/XALANC-570
     Project: XalanC
        Type: Bug
  Components: XalanC  
    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.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to