Problems with GCC 4.3 C++

Jakub Jelinek jakub at redhat.com
Wed Feb 6 11:04:55 UTC 2008


On Tue, Feb 05, 2008 at 11:20:01PM -0300, Horst H. von Brand wrote:
> Note that the f() function can be called with one argument, and that is
> what the template use tries to do; g++ complains:
> 
>   $ g++ -O2 -c tst.cc 
>   tst.cc: In function ‘void ff(int, T) [with T = void (*)(int, int)]’:
>   tst.cc:13:   instantiated from here
>   tst.cc:4: error: too few arguments to function
> 
> I'm no C++ expert at all, so both the "how it used to work" and the current
> behavior sound reasonable. Can somebody shed some light? Should this be
> documented as a GCC change, or is it a bug?

I believe the testcase is invalid, see
http://gcc.gnu.org/ml/gcc-patches/2007-07/msg01645.html
Default arguments are a property of a function declaration, not function
type and as such shouldn't be part of a deduced type, or typeof/decltype.

	Jakub




More information about the fedora-test-list mailing list