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

Steven J. Hathaway commented on XALANC-570:
-------------------------------------------

On the issue of (return void;) research into the actual language specifications
for this issue has been completed.

The return statement is allowed and should be applied.  This is a code bug
that can be found in the following files.

There are three files where a template class uses "void>"

xalanc/Include/STLHelper.hpp

xalanc/XPath/XObjectFactory.hpp

xalanc.XPath/XPathFactory.hpp

Check these three files for adding return statements to
the operator() definitions.


> 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
>         Attachments: STLHelper.hpp, STLHelper.hpp, STLHelper.hpp.diff
>
>
> 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