------- Comment #10 from navin dot kumar at gmail dot com 2010-04-19 14:53 ------- However, what would make_pair have deduced its T1 and T2 to be in this example? My impression was "make_pair(x,y)" would have deduced T1=uint32_t and T2=uint32_t. Therefore, "make_pair<uint32_t,uint32_t>(x,y)" should be synonymous.
The part that is confusing is if I do a diff on bits/stl_pair.h between GCC4.4.2 and GCC4.5.0, the constructor has not changed. Yet it compiles with -std=c++0x on GCC4.4.2 but errors with -std=c++0x on GCC4.5.0 (which is why I opened it up as a bug report to c++ initially rather than libstdc++). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43785