[cfe-commits] [Patch] Print differences for function pointers.

Matthieu Monrocq matthieu.monrocq at gmail.com
Wed Nov 16 12:06:08 PST 2011


Le 15 novembre 2011 21:23, Richard Trieu <rtrieu at google.com> a écrit :

> New feature that will print additional information when non-matching
> function pointers are used.  This will help users more easily distinguish
> why the function pointers do not match.  The points of difference that will
> be noted are:
>
> Different number of parameters
> Different parameter type
> Different return type
> Different function qualifiers
>
> For instance, code like this:
>
> double foo(int x) {return 0;};
> double (*bar)(int, int) = &foo;
>
> Will get this error message:
>
> function-mismatch.cc:2:10: error: cannot initialize a variable of
>       type 'double (*)(int, int)' with an rvalue of type 'double (*)(int)'
>       because of different number of parameters (expected 2 but has 1)
> double (*bar)(int, int) = &foo;
>          ^                ~~~~
>
> Patch is attached and also available at
> http://codereview.appspot.com/5369119/
>
>
> Nice!

Do you plan on adding something for a difference of class (for pointer to
member functions) ? Or perhaps that it already exists...

-- Matthieu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20111116/a6854152/attachment.html>


More information about the cfe-commits mailing list