Fix for an infinite loop in abnormal Chapel exit

This commit fixes an infinite loop that occurs when we fail to join
against the polling thread on a Chapel exit.  The behavior prior to
this commit was to call chpl_internal_error() which itself calls
back into the same exit code and attempts to re-joing the thread.
The new behavior is to use a static variable to detect this loopback
case, avoid joining the thread and call gasnet_exit() to quit the
program.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@17016 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Added new primer for task parallel concepts (and associated .prediff
and .good files).

Added taskParallel back into the Makefile.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@17017 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Adding a future showing why we get the "failure to join polling thread" error

This test shows that we get the "failure to join polling thread" error
when multiple threads within a locale hit a halt simultaneously.  I
believe we should really only process one abnormal exit within a
locale and have others spin until the program is torn down.  I have a
change that does this (which also removes the failure to join polling
thread error), but in the interest of respecting the code freeze will
hold off on committing it until after the release unless there's a
groundswell of opinion to get it tested and committed today.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@17018 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Small change to BlockDist to avoid a nil dereference error

This commit guards a reference to myLocArr to make sure it's non-nil
before accessing it.  This fixes John Lewis' future from yesterday
(also had to remove an extra linefeed from the .good file).  Steve is
working on adding a test for the robustness suite that exercises this
case.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@17019 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Updating REGRESSIONS based on last night's runs

Summary: a very quiet night -- most of the noise was due to renaming the
   release/examples/tutorials directory...

+ cyclic timeouts disappeared due to removal of -O3 from GASNet compile options
* a few spurious errors, but not many



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@17021 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Completed first pass over Data Parallelism chapter.


git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@17022 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Completed a first pass over Task Parallelism and Synchronization to tighten it
up after moving the text related to data parallelism into its own chapter.


git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@17023 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Completed first pass over Domain Maps chapter.


git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@17024 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Add handling for followers that are strided to Block, DefaultArithmetic and
ranges. They can now follow Cyclic leaders.

Added a distribution test that zips the an array and domain with a range.


git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@17025 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Caught CHANGES up to the current state of things

This brings the CHANGES file up to the present in terms of commits.
More needs to be done in terms of wordsmithing, ordering,
categorization, etc.  However, this would be a reasonable time to read
and see if you think the work you've done since the last release is
captured here if you want to.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@17026 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Renaming the XMT-specific timer implementation to use the string 'mta'
rather than 'xmt' since it matches what we do for the tasking layer,
because it's less product-name specific (in that it refers to Cray
multithreaded architectures) and because it reflects the name of the C
routines used to implement the timers.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@17027 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Renaming the mtarun-based launcher from 'mta' to 'mtarun' and making it
the default when CHPL_TARGET_PLATFORM is 'xmt'



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@17028 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Added mention of the timer and launcher options to README.chplenv.
Added mention of the mtarun launcher to README.launcher.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@17029 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Simplifying the compiler Makefile so that BUILD_VERSION is only
attempted to be built for developers



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@17030 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Adding README for the util/ directory with an eye toward the end user



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@17031 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Suppressing use-before-def warnings



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@17032 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Adding util/README to the release and removing updateBuildVersion.pl
which should never be used.  This makes the release view of the util/
directory look very clean and minimal.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@17033 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
In my earlier commit today, I made it so that the BUILD_VERSION file
would only get generated for the developer, thinking that (a) we'd
always build with CHPL_DEVELOPER set and (b) a user of the release
would have BUILD_VERSION supplied for them by the gen_release script.
These assumptions ignore the fact that we don't always build as
developers (and moreover, an external user downloading the tree
from sourceforge wouldn't necessarily), and most importantly, that our
nightly regression tests don't always run as developer.

The fix for this is actually quite simple, which is to have the
Makefile put in a dummy version number (-999) when developer is
not set.  This is actually what we did in the script that I
removed from the release today anyway, so it just puts us back
to where we were with simpler logic and no dependence on a script.

My apologies for the mess.  I thought I'd tested this sufficiently
by running the nightly and testRelease scripts, but I always run
these with CHPL_DEVELOPER set apparently while others' cron jobs
don't.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@17034 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Updated precedence table in spec and added a test of a single expression that
contains sub-expressions of every precedence level.


git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@17035 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Added two futures that show failures with respect to slicing Block-distributed
and Cyclic-distributed arrays.


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