monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-devel] Re: [Monotone-debian] Bug#455646: FTBFS with GCC 4.3: m


From: brian m. carlson
Subject: [Monotone-devel] Re: [Monotone-debian] Bug#455646: FTBFS with GCC 4.3: missing #includes
Date: Fri, 14 Dec 2007 17:31:12 +0000
User-agent: Mutt/1.5.17 (2007-11-01)

On Fri, Dec 14, 2007 at 07:19:52AM -0700, Martin Michlmayr wrote:
* Zack Weinberg <address@hidden> [2007-12-14 01:18]:
1) "declaration changes meaning of symbol" errors.  I see two of these:

roster.cc:3503: error: declaration of 'virtual
void<unnamed>::a_scalar::set(const revision_id&,
<unnamed>::scalar_val, const std::set<revision<hexenc<id> >,
std::less<revision<hexenc<id> > >, std::allocator<revision<hexenc<id>
> > >&, roster_t&, marking_map&)'
bits/stl_set.h:95: error: changes meaning of 'set' from 'class
std::set<revision<hexenc<id> >, std::less<revision<hexenc<id> > >,
std::allocator<revision<hexenc<id> > > >'

Maybe brian m. carlson can explain this error again, but see #444359
for something like that in another package.

Yeah. I can see why it's an error, but I'm not sure it's a prudent thing to do. But basically, the rationale as I see it is that within a scope, one name is supposed to refer to one type or symbol, and here it refers to two, which is not allowed by GCC.

The usual way to fix this (IME) is to rename one of the offending names or move it out of scope. Maybe Ben Hutchings has some other insights; see if he thinks it's a bug. I think it's a bug if it's not otherwise supported by the C++ standard. You could also ask the GCC developers for their rationale.

3) backward/auto_ptr.h: In static member function 'static bool
Botan::DL_Group::generate_dsa_primes(Botan::BigInt&
, Botan::BigInt&, Botan::u32bit, Botan::u32bit, const
Botan::MemoryRegion<unsigned char>&)':
backward/auto_ptr.h:177: warning:
'hash.std::auto_ptr<Botan::HashFunction>::_M_ptr' is used
uninitialized in this function
botan/dsa_gen.cpp:57: note:
'hash.std::auto_ptr<Botan::HashFunction>::_M_ptr' was declared here

Looks spurious; the variable in question is declared with a
constructor expression.  (I am ignorant of what is going on inside
auto_ptr though.)

Assuming it is actually initialized using a constructor, then yes, this appears to be spurious. I haven't actually looked at the botan code, though.

--
brian m. carlson / brian with sandals: Houston, Texas, US
+1 713 440 7475 | http://crustytoothpaste.ath.cx/~bmc | My opinion only
a typesetting engine: http://crustytoothpaste.ath.cx/~bmc/code/thwack
OpenPGP: RSA v4 4096b 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]