Retire 3 array futures

These futures started working at some point in the past, but no one noticed at
the time. The good files have been updated to match the exact error message
that is displayed, and their future status has been removed.


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22720 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Make rev number -999 as in nightly testing for .bad files



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22721 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Remove more support for CHPL_TASKS=none and CHPL_THREADS=minimal.

[Not reviewed; simple and obvious.]

This is a follow-up to r22709, removing a couple of files I missed
before.


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22722 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Update and new tests/futures for tuple iteration

- Fix iteratable.good to be the actual expected output and update the
  corresponding future to be a little more specific

- Add new tests for iterating over tuples of ranges, arrays, and tuples

- Add new future for iterating over heterogenous ranges, arrays, and
  tuples



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22723 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Provide better formal/actual type match verification. [reviewed by vass]

DETAILS

    compiler/main/checks.cpp
Add a call to check_afterCallDestructors to every pass from callDestructors on.
Add a call to checkFormalActualBaseTypesMatch() in check_afterResolution().
Add check_afterCallDestructors() which calls checkFormalActualTypesMatch().
Remove an extra semicolon from line 426(new).
Add implementations for checkFormalActualBaseTypesMatch() and
checkFormalActualTypesMatch(). 

    compiler/AST/expr.cpp
Remove the formal/actual type matching code from CallExpr::verify().

[tested with --verify on /]


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22724 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Filing futures against bad zippering

Kyle's retirement of some futures yesterday that I've traditionally
attributed to an inherent flaw in the leader-follower 1.0 interface
made me wonder how they could be fixed when we haven't fixed the flaw.
It turns out it's because array assignment gives us a special place to
catch such mismatches.  For a pure zippered iteration, the bug still
exists, so I'm capturing it here in three tests (arrayZipMismatch,
arrayZipMismatch2, and rangeSizeMismatch).  For simplicity, I've given
them all the same .future though arguably arrayZipMismatch2.chpl is
more of an error message future than a bug -- it is correct that it
doesn't work, it just doesn't report the issue in a helpful way.

While here, I accidentally found myself forgetting the zip() keyword
and getting some surprising behavior suggesting that we're permitting
arrays to be detupled in an iterator context (I can't seem to
reproduce it in a non-iterator context), so I'm filing a bug against
that as well.  This seems conceptually related to the tuple size
mismatch bug that David fixed in the past week or so, but probably
stems from a different place in the code.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22725 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Forward the Block leader iterator to DefaultRectangular

[reviewed by David]

This commit makes the BlockDom leader iterator forward to
DefaultRectangularDom leader iterator, to reuse the intra-locale task
creation code.  This required adding an optional local offset argument
to the DefaultRectangularDom leader iterator which is a tuple offset
for each dimension.  For all non-Block cases, this is zero (the
default).

- modules/dists/BlockDist.chpl:

  Forward BlockDom leader to DefaultRectangularDom leader including
  dataPar values and offset arguments

- modules/internal/DefaultRectangular.chpl

  Use the new offset argument to chunk up ranges for parallel
  iteration.  The default offset is set to all zeros.

- modules/dists/DSIUtil.chpl:

  Added a utility function called createTuple that takes a rank, type
  and default value, and returns a tuple of given rank and type
  initialized with the default value.  This is used to set the default
  value for the offset argument to the DefaultRectangular iterators.




git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22726 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Removing stray --dataParIgnoreRunningTasks=false execution options, as this is
now on by default.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22727 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Remove two passing .future files

users/ferguson/exit users/ferguson/forall_expr both pass for qthreads+gasnet
and qthreads+none.  The .future for forall_expr said it was showing an
intermittent problem with qthreads, but I ran it successfully 1000 times.
Also removed the .skipif files that were restricting the tests to only run for
qthreads.


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22728 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Update comm counts in .good files due to r22726

Update the comm counts in the .good files for test that measure
performance of parallel iteration using BlockDist.

The number of gets from locales != 0 is reduced by one for each
invocation of the BlockDom iterator, because we no longer use
locDom.myBlock to compute the number of tasks as it is now done in the
DefaultRectangularDom iterator.  We could have been using the local
tmpBlock there in the version before forwarding, but just never
noticed.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22729 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Revise check for loop block primitives in optimizeOnClauses. [reviewed by sungeun]

The test users/ferguson/ontest.chpl was failing due to the assertion in
isFastPrimitive [optimizeOnClauses] that loop block primitives do not remain in
the tree when optimizeOnClauses run.  

The assertion is false in general (a quick scan of the AST reveals many
instances).  But since isFastPrimitive() is invoked only on the calls in a
function that is a candidate for fast-forking (or a function called by the
candidate, recursively), most tests were getting past this assertion.  

Although ontest.chpl started passing after the assign-to-ref patch was
committed [r22674], the root cause of the original failure has not been
addressed.  This patch is intended to ameliorate that situation (so the
assertion failure does not magically reappear at a later date).


DETAILS

    compiler/optimizations/optimizeOnClauses.cpp
Loop block primitives were moved out of the "no longer in tree" assertion in
isFastPrimitive().  They now return 'true' because loops in and of themselves
do not involve task control or synchronization.

    compiler/main/checks.cpp
Added a new check for primitives that should be removed by the
createTaskFunctions pass.  Note that these do not include the loop block
primitives.  Inserted the test in appropriate places in the verification
scaffold.

    compiler/AST/expr.cpp
Removed nonstandard parentheses from case labels in CallExpr::verify().


[tested with --verify on examples/]
[tested with gasnet on domains/ distributions/ multilocale/ performance/]


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22730 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Updating my mandelbrot TODO notes based on today's code review

(As well as subsequent thoughts and conversations with Michael)



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22731 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Make some minor changes in the mechanics of qthreads configuration.

[Reviewed by Sung and Thomas.]

This makes a couple of changes in how we go about configuring qthreads:
- Rename CHPL_QTHREAD_TESTING as CHPL_QTHREAD_ENABLE_OVERSUBSCRIPTION,
  to make it more obvious what it does.
- Add the new make(1) variable CHPL_THREAD_MORE_CFG_OPTIONS, to make it
  easy to adjust the qthreads configuration step without having to
  modify the Makefile.


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22732 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Remove mbp-kbrady rsync from historify-logs.

mbp-kbrady does not run testing (at least for now). Plus, it is a laptop that is not always available.

git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22733 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Making test deterministic

I forgot that the output of this test would be nondeterministic
due to the forall loops.  The bug shows up with serial zippered
loops as well, so rather than add a sort-style prediff, I just
changed the loops to for loops.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22734 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Making output of this future deterministic

This future does, unfortunately, require parallelism, so here
I'm adding the standard sort-style prediff.

(Cases like this make me eagerly look forward to .yaml-based
test configurations with prediff libraries... :)




git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22735 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Minor tweak, found a spelling error in a comment so I fixed it.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22736 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Retire ontest.future. [not reviewed]

Following r22674, this future started passing.

The original fault involved an assertion failure (actually INT_FATAL) in
isFastPrimitive() [optimizeOnClauses.cpp].  The assertion was that loop block
primitives such as PRIM_BLOCK_WHILEDO_LOOP never appear in the tree that late
in compilation.  But the fact is that they do, as Michael's test case
discovered.  The reason why most tests pass is that isFastPrimitive() is called
selectively, rather than for every call in the tree.

The "correct" solution is to treat those loop block primitives as valid at that
point in the compilation.  That change was made in r22730.  Based on that
change, it is appropriate to retire ontest.future and the associated .bad file.


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22737 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Add a test to lock in correct behavior for nested record assignment. [not reviewed]

git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22738 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Add a remote version of the nested record assignment test. [not reviewed]

git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22739 3a8e244f-b0f2-452b-bcba-4c88e055c3ca