Warnings during Cygwin build using gcc 3.3

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Warnings during Cygwin build using gcc 3.3

James R. Phillips-3
I recently built script from source on cygwin, so I could capture build records
for post-build inspection.  Looking at the typescript file after building
octave 2.1.71 on cygwin (using gcc 3.3.3), I see quite a few messages like
this:

/home/dad/sources/octave/2.1.71/gcc3.3.3/octave-2.1.71/liboctave/Array.h:220:
wa
rning: variable `Array<Complex>* const this' might be clobbered by `longjmp' or
`vfork'

Some of the warnings are associated with the c++ libraries/headers, e.g.

/usr/include/c++/3.3.3/bits/stl_vector.h:265: warning: variable
`std::vector<octave_value, std::allocator<octave_value> >* const this' might be
clobbered by `longjmp' or `vfork'

As I understand it, the cygwin C++ runtime uses setjmp/longjmp extensively.
Could differences in the gcc 3.3 vs 3.4 runtime libraries be responsible for
the failure of builds using gcc 3.4 to run properly?  I.e., could it be that
the compiler warnings are problems in fact for gcc 3.4 but not for gcc 3.3?

Jim Phillips

Reply | Threaded
Open this post in threaded view
|

Re: Warnings during Cygwin build using gcc 3.3

David Bateman-3
James R. Phillips a écrit :

>I recently built script from source on cygwin, so I could capture build records
>for post-build inspection.  Looking at the typescript file after building
>octave 2.1.71 on cygwin (using gcc 3.3.3), I see quite a few messages like
>this:
>
>/home/dad/sources/octave/2.1.71/gcc3.3.3/octave-2.1.71/liboctave/Array.h:220:
>wa
>rning: variable `Array<Complex>* const this' might be clobbered by `longjmp' or
>`vfork'
>
>Some of the warnings are associated with the c++ libraries/headers, e.g.
>
>/usr/include/c++/3.3.3/bits/stl_vector.h:265: warning: variable
>`std::vector<octave_value, std::allocator<octave_value> >* const this' might be
>clobbered by `longjmp' or `vfork'
>
>As I understand it, the cygwin C++ runtime uses setjmp/longjmp extensively.
>Could differences in the gcc 3.3 vs 3.4 runtime libraries be responsible for
>the failure of builds using gcc 3.4 to run properly?  I.e., could it be that
>the compiler warnings are problems in fact for gcc 3.4 but not for gcc 3.3?
>
>  
>
No, this just means that some variable needs to be declared as
"volatile" at line 265 of stl_vector.h..

Cheers
David