[Bug libstdc++/45347] concurrence.h: In constructor '__gnu_cxx::__cond::__cond()': /home/jayk/obj/gcc451/alphaev67-dec-osf5.1/libstdc++-v3/include/ext/concurrence.h:276:29: warning: missing initialize

2010-09-03 Thread paolo dot carlini at oracle dot com


--- Comment #4 from paolo dot carlini at oracle dot com  2010-09-03 15:05 
---
Thus, Jon, are we just missing a #pragma GCC system_header at the beginning of
that file? In case, just add it and close the PR?


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 CC||jwakely dot gcc at gmail dot
   ||com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45347



[Bug libstdc++/45347] concurrence.h: In constructor '__gnu_cxx::__cond::__cond()': /home/jayk/obj/gcc451/alphaev67-dec-osf5.1/libstdc++-v3/include/ext/concurrence.h:276:29: warning: missing initialize

2010-09-03 Thread paolo at gcc dot gnu dot org


--- Comment #5 from paolo at gcc dot gnu dot org  2010-09-03 23:19 ---
Subject: Bug 45347

Author: paolo
Date: Fri Sep  3 23:19:18 2010
New Revision: 163848

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163848
Log:
2010-09-03  Paolo Carlini  paolo.carl...@oracle.com

PR libstdc++/45347
* include/ext/concurrence.h: Add #pragma GCC system_header.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/ext/concurrence.h


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45347



[Bug libstdc++/45347] concurrence.h: In constructor '__gnu_cxx::__cond::__cond()': /home/jayk/obj/gcc451/alphaev67-dec-osf5.1/libstdc++-v3/include/ext/concurrence.h:276:29: warning: missing initialize

2010-09-03 Thread paolo dot carlini at oracle dot com


--- Comment #6 from paolo dot carlini at oracle dot com  2010-09-03 23:21 
---
Done.


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.6.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45347



[Bug libstdc++/45347] concurrence.h: In constructor '__gnu_cxx::__cond::__cond()': /home/jayk/obj/gcc451/alphaev67-dec-osf5.1/libstdc++-v3/include/ext/concurrence.h:276:29: warning: missing initialize

2010-08-23 Thread redi at gcc dot gnu dot org


--- Comment #1 from redi at gcc dot gnu dot org  2010-08-23 11:22 ---
this report isn't much help - does the warning occur when building the library,
or using it?

and I doubt it makes any difference, but you've reported it against 4.5.1 and
then said you're using 4.5.0

The warning means that the Tru64 definition of the PTHREAD_COND_INITIALIZER
macro doesn't give an initializer for a member of the Tru64 definition of
pthread_cond_t, so there's nothing libstdc++ can do except suppress the warning
by adding #pragma GCC system_header to that file 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45347



[Bug libstdc++/45347] concurrence.h: In constructor '__gnu_cxx::__cond::__cond()': /home/jayk/obj/gcc451/alphaev67-dec-osf5.1/libstdc++-v3/include/ext/concurrence.h:276:29: warning: missing initialize

2010-08-23 Thread jay dot krell at cornell dot edu


--- Comment #2 from jay dot krell at cornell dot edu  2010-08-23 11:26 
---
This is building libstdc++ 4.5.1.
  You can sort of tell from the path.
  I build in obj. I don't install to obj.
The bootstrap compiler might have been 4.5.0.
I can do it again with 4.5.1 as bootstrap.


I actually think this gcc warning generally shouldn't even exist, unless maybe
presented with a union whose first member is not its largest.
  Though perhaps gcc should do what Microsoft C does there -- always zero the
entire thing.


T foo = { 0 };


is just too nice of a generic portable zeroer of all types, except sometimes
unions.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45347



[Bug libstdc++/45347] concurrence.h: In constructor '__gnu_cxx::__cond::__cond()': /home/jayk/obj/gcc451/alphaev67-dec-osf5.1/libstdc++-v3/include/ext/concurrence.h:276:29: warning: missing initialize

2010-08-23 Thread redi at gcc dot gnu dot org


--- Comment #3 from redi at gcc dot gnu dot org  2010-08-23 11:35 ---
(In reply to comment #2)
 This is building libstdc++ 4.5.1.
   You can sort of tell from the path.
   I build in obj. I don't install to obj.

Ah yeah - the report would have been more useful with that info though, so
there's no need to infer it from your choice of path.

 The bootstrap compiler might have been 4.5.0.

Presumably it was, or showing the output of gcc -v wasn't much use either :)

 I can do it again with 4.5.1 as bootstrap.

That's not likely to help.  As I said, the warning is caused by definitions in
the OS headers, which just get used in the libstdc++ header.

 I actually think this gcc warning generally shouldn't even exist, unless maybe
 presented with a union whose first member is not its largest.
   Though perhaps gcc should do what Microsoft C does there -- always zero the
 entire thing.

That's what GCC does, as required by the standard.  Presumably that's exactly
what's intended and the Tru64 PTHREAD_COND_INITIALIZER macro relies on that
happening, so there's no problem.

I agree the warning isn't often useful, which is why it's not part of -Wall


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45347