You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by Martin Sebor <se...@roguewave.com> on 2007/06/22 17:37:34 UTC

Re: svn commit: r549766 - in /incubator/stdcxx/trunk: examples/manual/rwexcept.cpp include/rw/_error.h src/exception.cpp

faridz@apache.org wrote:
> Author: faridz
> Date: Fri Jun 22 03:15:46 2007
> New Revision: 549766
> 
> URL: http://svn.apache.org/viewvc?view=rev&rev=549766
[...]
> Modified: incubator/stdcxx/trunk/include/rw/_error.h
> URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/rw/_error.h?view=diff&rev=549766&r1=549765&r2=549766
> ==============================================================================
> --- incubator/stdcxx/trunk/include/rw/_error.h (original)
> +++ incubator/stdcxx/trunk/include/rw/_error.h Fri Jun 22 03:15:46 2007
> @@ -39,9 +39,12 @@
>  // (if any) used to format the exception object's what() string
>  void _RWSTD_EXPORT __rw_throw (int, ...);
>  
> +// frees memory buffer used for what() message
> +void _RWSTD_EXPORT __rw_free_what_buf (char*);
         ^^^^^^^^^^^^^

[...]
> Modified: incubator/stdcxx/trunk/src/exception.cpp
> URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/src/exception.cpp?view=diff&rev=549766&r1=549765&r2=549766
> ==============================================================================
> --- incubator/stdcxx/trunk/src/exception.cpp (original)
> +++ incubator/stdcxx/trunk/src/exception.cpp Fri Jun 22 03:15:46 2007
> @@ -438,10 +438,13 @@
>  static _RWSTD_THREAD int
>  __rw_what_refcnt;
>  
> -inline void __rw_free_what_buf (char* buf)
> +// free memory buffer allocated in __rw_vfmtwhat()
> +_RWSTD_EXPORT inline void __rw_free_what_buf (char* buf)
    ^^^^^^^^^^^^^^^^^^^^

 From 7.1.2, p4: "If a function with external linkage is declared
inline in one translation unit, it shall be declared inline in all
translation units in which it appears; no diagnostic is required."

Also, I think the convention used in the rest of the code is to
put _RWSTD_EXPORT before the return type of the function, but
you might want to double-check that. Either way, it should be
consistent between the declaration and the definition of the
function.

Martin

Re: svn commit: r549766 - in /incubator/stdcxx/trunk: examples/manual/rwexcept.cpp include/rw/_error.h src/exception.cpp

Posted by Martin Sebor <se...@roguewave.com>.
Farid Zaripov wrote:
>> -----Original Message-----
>> From: Martin Sebor [mailto:sebor@roguewave.com] 
>> Sent: Friday, June 22, 2007 6:38 PM
>> To: stdcxx-dev@incubator.apache.org
>> Subject: Re: svn commit: r549766 - in 
>> /incubator/stdcxx/trunk: examples/manual/rwexcept.cpp 
>> include/rw/_error.h src/exception.cpp
>>
> 
> [...]
> 
>>  From 7.1.2, p4: "If a function with external linkage is 
>> declared inline in one translation unit, it shall be declared 
>> inline in all translation units in which it appears; no 
>> diagnostic is required."
>>
>> Also, I think the convention used in the rest of the code is 
>> to put _RWSTD_EXPORT before the return type of the function, 
>> but you might want to double-check that. Either way, it 
>> should be consistent between the declaration and the 
>> definition of the function.
> 
>   Done: http://svn.apache.org/viewvc?view=rev&rev=549862

Sorry, this violates the last sentence of 3.2, p3:

     An inline function shall be defined in every translation
     unit in which it is used.

Martin

RE: svn commit: r549766 - in /incubator/stdcxx/trunk: examples/manual/rwexcept.cpp include/rw/_error.h src/exception.cpp

Posted by Farid Zaripov <Fa...@epam.com>.
> -----Original Message-----
> From: Martin Sebor [mailto:sebor@roguewave.com] 
> Sent: Friday, June 22, 2007 6:38 PM
> To: stdcxx-dev@incubator.apache.org
> Subject: Re: svn commit: r549766 - in 
> /incubator/stdcxx/trunk: examples/manual/rwexcept.cpp 
> include/rw/_error.h src/exception.cpp
> 

[...]

>  From 7.1.2, p4: "If a function with external linkage is 
> declared inline in one translation unit, it shall be declared 
> inline in all translation units in which it appears; no 
> diagnostic is required."
> 
> Also, I think the convention used in the rest of the code is 
> to put _RWSTD_EXPORT before the return type of the function, 
> but you might want to double-check that. Either way, it 
> should be consistent between the declaration and the 
> definition of the function.

  Done: http://svn.apache.org/viewvc?view=rev&rev=549862

Farid.