![]() |
Blitz Devel : |
From: Julian Cummings (cummings_at_[hidden])
Date: 2003-11-25 21:30:48
Hi Olaf,
Sorry it took me a while to have a look at this problem.
Unfortunately, for the IBM platforms that I have access to,
they are still stuck at version 6.0.0.3 of the compiler set.
So I just see the internal compiler error with these example
codes, as before. I have asked the support group to upgrade
the compiler version for me.
Meanwhile, it looks to me from reading the compiler error
messages that you reported that perhaps the compiler is just
confused about the template matching when the prototype is
an Array reference and the given type is an Array. It is possible
that making the prototype an Array const reference will resolve
this problem. You could try, for example, changing line 146
of <blitz/array/stencil-et.h> to use a const reference, and see if
this resolves the error coming from the use of Laplacian2D in
the stencil2.cpp example code.
I will look into this as soon as I have the newer compiler installed
and will attempt to provide a more complete resolution then.
Thanks, Julian C.
Schneider, Olaf wrote:
>Hi,
>
>a halfe year ago I reported an internal compiler error
>with Blitz++ and VACPP on AIX. In the latest version
>of VACPP (6.0.0.4, Version 6 PTF from July) the bug
>is fixed. So I tested the new release 0.7 of Blitz++:
>
>make check-testsuite
>
>works fine.
>
>make check-examples
>
>works expect three examples: stencil2.cpp stencil3.cpp
>and stencilet.cpp. In all cases I get compile time errors
>complaining that for some function calls 'no best match'
>could be found (see the error.txt in the attachment for
>details).
>
>I also attach the config.h made by bztest. No changes to
>configure.in was needed.
>
>Kindf regards,
>
>Ole
>
>__|___________
> |FFFFFFFFF
> |F
> |F Olaf Schneider
> |F Forschungszentrum Karlsruhe GmbH
> |F Institut für Wissenschaftliches Rechnen (IWR)
> |F Postfach 3640, 76021 Karlsruhe
>__|_________
> |FFFFFFF
> |F
> |F Tel: (07247) 82-3160
> |F Mail: Olaf.Schneider_at_[hidden]
> |F WWW: www.fzk.de/iwr
> |F
>
>
>------------------------------------------------------------------------
>
>stencil2.cpp:
>"stencil2.cpp", line 36.10: 1540-0219 (S) The call to "Laplacian2D" has no best match.
>"stencil2.cpp", line 36.22: 1540-1228 (I) Argument number 1 is an lvalue of type "blitz::Array<float,2>".
>"../blitz/array/stencil-et.h", line 220.15: 1540-1202 (I) No candidate is better than "blitz::Laplacian2D<float,2>(Array<float,2> &)".
>"stencil2.cpp", line 36.22: 1540-1231 (I) The conversion from argument number 1 to "blitz::Array<float,2> &" uses "the identity conversion".
>"../blitz/array/stencilops.h", line 72.30: 1540-1202 (I) No candidate is better than "blitz::Laplacian2D<blitz::Array<float,2> >(Array<float,2> &)".
>"stencil2.cpp", line 36.22: 1540-1231 (I) The conversion from argument number 1 to "blitz::Array<float,2> &" uses "the identity conversion".
>"stencil2.cpp", line 37.10: 1540-0219 (S) The call to "central42" has no best match.
>"stencil2.cpp", line 37.20: 1540-1228 (I) Argument number 1 is an lvalue of type "blitz::Array<float,2>".
>"stencil2.cpp", line 37.23: 1540-1228 (I) Argument number 2 is an lvalue of type "const int".
>"../blitz/array/stencil-et.h", line 252.20: 1540-1202 (I) No candidate is better than "blitz::central42<float,2>(Array<float,2> &, int)".
>"stencil2.cpp", line 37.20: 1540-1231 (I) The conversion from argument number 1 to "blitz::Array<float,2> &" uses "the identity conversion".
>"stencil2.cpp", line 37.23: 1540-1231 (I) The conversion from argument number 2 to "int" uses "an lvalue-to-rvalue transformation".
>"../blitz/array/stencilops.h", line 137.17: 1540-1202 (I) No candidate is better than "blitz::central42<blitz::Array<float,2> >(Array<float,2> &, int)".
>"stencil2.cpp", line 37.20: 1540-1231 (I) The conversion from argument number 1 to "blitz::Array<float,2> &" uses "the identity conversion".
>"stencil2.cpp", line 37.23: 1540-1231 (I) The conversion from argument number 2 to "int" uses "an lvalue-to-rvalue transformation".
>"stencil2.cpp", line 37.28: 1540-0219 (S) The call to "central42" has no best match.
>"stencil2.cpp", line 37.38: 1540-1228 (I) Argument number 1 is an lvalue of type "blitz::Array<float,2>".
>"stencil2.cpp", line 37.41: 1540-1228 (I) Argument number 2 is an lvalue of type "const int".
>"../blitz/array/stencil-et.h", line 252.20: 1540-1202 (I) No candidate is better than "blitz::central42<float,2>(Array<float,2> &, int)".
>"stencil2.cpp", line 37.38: 1540-1231 (I) The conversion from argument number 1 to "blitz::Array<float,2> &" uses "the identity conversion".
>"stencil2.cpp", line 37.41: 1540-1231 (I) The conversion from argument number 2 to "int" uses "an lvalue-to-rvalue transformation".
>"../blitz/array/stencilops.h", line 137.17: 1540-1202 (I) No candidate is better than "blitz::central42<blitz::Array<float,2> >(Array<float,2> &, int)".
>"stencil2.cpp", line 37.38: 1540-1231 (I) The conversion from argument number 1 to "blitz::Array<float,2> &" uses "the identity conversion".
>"stencil2.cpp", line 37.41: 1540-1231 (I) The conversion from argument number 2 to "int" uses "an lvalue-to-rvalue transformation".
>"stencil2.cpp", line 38.10: 1540-0219 (S) The call to "central22" has no best match.
>"stencil2.cpp", line 38.20: 1540-1228 (I) Argument number 1 is an lvalue of type "blitz::Array<float,2>".
>"stencil2.cpp", line 38.23: 1540-1228 (I) Argument number 2 is an lvalue of type "const int".
>"../blitz/array/stencil-et.h", line 250.20: 1540-1202 (I) No candidate is better than "blitz::central22<float,2>(Array<float,2> &, int)".
>"stencil2.cpp", line 38.20: 1540-1231 (I) The conversion from argument number 1 to "blitz::Array<float,2> &" uses "the identity conversion".
>"stencil2.cpp", line 38.23: 1540-1231 (I) The conversion from argument number 2 to "int" uses "an lvalue-to-rvalue transformation".
>"../blitz/array/stencilops.h", line 128.17: 1540-1202 (I) No candidate is better than "blitz::central22<blitz::Array<float,2> >(Array<float,2> &, int)".
>"stencil2.cpp", line 38.20: 1540-1231 (I) The conversion from argument number 1 to "blitz::Array<float,2> &" uses "the identity conversion".
>"stencil2.cpp", line 38.23: 1540-1231 (I) The conversion from argument number 2 to "int" uses "an lvalue-to-rvalue transformation".
>"stencil2.cpp", line 38.28: 1540-0219 (S) The call to "central22" has no best match.
>"stencil2.cpp", line 38.38: 1540-1228 (I) Argument number 1 is an lvalue of type "blitz::Array<float,2>".
>"stencil2.cpp", line 38.41: 1540-1228 (I) Argument number 2 is an lvalue of type "const int".
>"../blitz/array/stencil-et.h", line 250.20: 1540-1202 (I) No candidate is better than "blitz::central22<float,2>(Array<float,2> &, int)".
>"stencil2.cpp", line 38.38: 1540-1231 (I) The conversion from argument number 1 to "blitz::Array<float,2> &" uses "the identity conversion".
>"stencil2.cpp", line 38.41: 1540-1231 (I) The conversion from argument number 2 to "int" uses "an lvalue-to-rvalue transformation".
>"../blitz/array/stencilops.h", line 128.17: 1540-1202 (I) No candidate is better than "blitz::central22<blitz::Array<float,2> >(Array<float,2> &, int)".
>"stencil2.cpp", line 38.38: 1540-1231 (I) The conversion from argument number 1 to "blitz::Array<float,2> &" uses "the identity conversion".
>"stencil2.cpp", line 38.41: 1540-1231 (I) The conversion from argument number 2 to "int" uses "an lvalue-to-rvalue transformation".
>stencil3.cpp:
>"stencil3.cpp", line 39.14: 1540-0219 (S) The call to "Laplacian2D4n" has no best match.
>"stencil3.cpp", line 39.28: 1540-1228 (I) Argument number 1 is an lvalue of type "Array2D".
>"../blitz/array/stencil-et.h", line 223.15: 1540-1202 (I) No candidate is better than "blitz::Laplacian2D4n<float,2>(Array<float,2> &)".
>"stencil3.cpp", line 39.28: 1540-1231 (I) The conversion from argument number 1 to "blitz::Array<float,2> &" uses "the identity conversion".
>"../blitz/array/stencilops.h", line 91.30: 1540-1202 (I) No candidate is better than "blitz::Laplacian2D4n<blitz::Array<float,2> >(Array<float,2> &)".
>"stencil3.cpp", line 39.28: 1540-1231 (I) The conversion from argument number 1 to "blitz::Array<float,2> &" uses "the identity conversion".
>"stencil3.cpp", line 43.14: 1540-0219 (S) The call to "Laplacian2D" has no best match.
>"stencil3.cpp", line 43.26: 1540-1228 (I) Argument number 1 is an lvalue of type "Array2D".
>"../blitz/array/stencil-et.h", line 220.15: 1540-1202 (I) No candidate is better than "blitz::Laplacian2D<float,2>(Array<float,2> &)".
>"stencil3.cpp", line 43.26: 1540-1231 (I) The conversion from argument number 1 to "blitz::Array<float,2> &" uses "the identity conversion".
>"../blitz/array/stencilops.h", line 72.30: 1540-1202 (I) No candidate is better than "blitz::Laplacian2D<blitz::Array<float,2> >(Array<float,2> &)".
>"stencil3.cpp", line 43.26: 1540-1231 (I) The conversion from argument number 1 to "blitz::Array<float,2> &" uses "the identity conversion".
>stencilet.cpp:
>"stencilet.cpp", line 17.10: 1540-0219 (S) The call to "Laplacian2D4n" has no best match.
>"stencilet.cpp", line 17.24: 1540-1228 (I) Argument number 1 is an lvalue of type "blitz::Array<float,2>".
>"../blitz/array/stencil-et.h", line 223.15: 1540-1202 (I) No candidate is better than "blitz::Laplacian2D4n<float,2>(Array<float,2> &)".
>"stencilet.cpp", line 17.24: 1540-1231 (I) The conversion from argument number 1 to "blitz::Array<float,2> &" uses "the identity conversion".
>"../blitz/array/stencilops.h", line 91.30: 1540-1202 (I) No candidate is better than "blitz::Laplacian2D4n<blitz::Array<float,2> >(Array<float,2> &)".
>"stencilet.cpp", line 17.24: 1540-1231 (I) The conversion from argument number 1 to "blitz::Array<float,2> &" uses "the identity conversion".
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Blitz-dev mailing list
>Blitz-dev_at_[hidden]
>http://www.oonumerics.org/mailman/listinfo.cgi/blitz-dev
>
>
-- Dr. Julian C. Cummings E-mail: cummings_at_[hidden] California Institute of Technology Phone: 626-395-2543 1200 E. California Blvd., Mail Code 158-79 Fax: 626-584-5917 Pasadena, CA 91125