http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53173
--- Comment #1 from Marc Glisse <marc.glisse at normalesup dot org> 2012-04-30 20:02:59 UTC --- Uh, where are you reporting a bug in gcc? (In reply to comment #0) > I am trying to upgrade (GCC) 4.4.0 to (GCC) 4.6.2. I see bunch of > incompatible > error from code which works with (GCC) 4.4.0 but NOT with (GCC) 4.6.2. Yes, g++ becomes better at detecting illegal code. > 1. error: ‘constexpr’ needed for in-class initialization of static data member Are you using -std=c++0x? Why? > 2. error: no matching function for call to ‘std::pair<const long unsigned int, > boost::shared_ptr<const Obviously missing most of the message. > 3. /usr/include/sigc++-2.0/sigc++/signal.h:38:11: error: 'ptrdiff_t' does not > name a typeFix: #include <cstddef> actually stddef.h if you want ptrdiff_t and not just std::ptrdiff_t (unless there is a using namespace std, as 6. makes me fear) > 4. error: no matching function for call to ‘make_pair(std::string&, > std::string&)’ #include <utility> > 5. error: declaration of ‘~typename Missing most of the message again > 6. error: call of overloaded ‘isnan(double&)’ is ambiguous PR48891 maybe? > I do refer https://wiki.edubuntu.org/GCC4.6 to fix some of the issue. I > rebuilt boost_1_47_0, SQLAPI-3.7.35, etc. with (GCC) 4.6.2 as well to remove > incompatibilty between these. Gcc release notes often also contain relevant information, too. > I am suspicious if some of the issue is already fixed in (GCC) 4.6.3 (already > released). What do you mean, fixed? The bugs are in your code. > Please let me know if we can use (GCC) 4.6.3 instead of (GCC) 4.6.2. Sure, more bugs fixed.