Dave Hudak <dhu...@osc.edu> wrote on 11/03/2010 10:36:34 AM:
>
> I am updating some X10 2.0.5 examples to work with 2.1.0.
>
> This code worked in 2.0.5 (compiled with -STATIC_CHECKS):
>
>     val blockDist = Dist.makeBlock(R);
>     val p0Dist = blockDist|here;
>     val p0Region = p0Dist.region();
>     for (p in p0Region) {
>       Console.OUT.println("p0 = "+p);
>     }
>
> When compiling under 2.1.0, I got the following error message:
> dhu...@oscnet166 185%> x10c++ -STATIC_CALLS -O -o Driver Counter.x10
> Driver.x10
> (Warning) Reached threshold when checking constraints. If type-checking
fails
>  please insert a dynamic cast.
>          Term: R
>
> ...now, I changed the code to pattern-match on the point that is
> iterating over the region:
>     for ([p] in p0Region) {
>       Console.OUT.println("p0 = "+p);
>     }
>
> Is there some rationale behind this change or other more suitable
> code alteration I should be making?

Hi,

        Thanks for opening the JIRA.  A problem in the constraint system that
we need to look into.

        Although the warning message was dire, the code actually compiled and
produced a correct executable (at least it did for me).  I was able to
suppress the warning by giving an explicit type to blockDist:

            val blockDist:Dist(R.rank) = Dist.makeBlock(R);

I think that's probably the work around for this I would recommend.

--dave
------------------------------------------------------------------------------
Achieve Improved Network Security with IP and DNS Reputation.
Defend against bad network traffic, including botnets, malware, 
phishing sites, and compromised hosts - saving your company time, 
money, and embarrassment.   Learn More! 
http://p.sf.net/sfu/hpdev2dev-nov
_______________________________________________
X10-users mailing list
X10-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/x10-users

Reply via email to