Remove .future files for some passing tests

Fixed by -r15839:
test/studies/shootout/spectral-norm/spectralnorm_reduct_warning.future
test/studies/shootout/spectral-norm/spectralnorm_iterator.future

Fixed by -r16041:
test/studies/shootout/spectral-norm/spectralnorm_reduct_ice.future


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

- double free or corruption error using Intel on XT
* all the rest spurious



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16075 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Adding a debug line to start_test

I'm struggling with a CHPL_HOME issue in the nightly testing, so am
having start_test print out the value of CHPL_HOME when it starts
executing to help debug it.



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

CHPL_HOME seems set properly in start_test but not in sub_test.
More debug printing to help sort this out.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16077 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Removing unnecessary break from switch statement containing returns

Because it is unnecessary and causes errors on the XMT.  Between this
change and Steve's from earlier today, we ought to start getting some
useful regressions on the XMT again tonight.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16078 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Making pvm teardown more dramatic

On Lee's recommendation and given that pvm halt isn't doing the
trick, adding a rm -f /tmp/pvm* to sub_test between tests when
we're testing pvm.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16079 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Changing Makefiles to use PrgEnv-gnu for GASNet when PrgEnv-cray is loaded

GASNet is known not to be compatible with the Cray compiler.  For
this reason, it was suggested (by David and/or Brian) that we build
GASNet with the gnu compiler when the target compiler is cray-xt-cray
and link (the object files are interchangeable).  This commit makes
this change by adding a new rule ENSURE_GASNET_COMPATIBLE_COMPILER
which is typically unset, but which for the cray-xt-cray compiler is
set to do a module swap.  We then use this command to configure and
build the GASNet directory and to build runtime/comm-gasnet/chpl_cfg_comm.c.




git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16080 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Fixed a termination bug in which termination could start even before
all local destructors are called because calls to local destructors
could be inserted after the call to downEndCount().  This fixes this
issue in non-blocking forks in coforall statements.  There is still an
issue (that is much rarer) in which the runtime could try to cancel a
pthread that is not yet cancellable.

Fixed this bug for non-blocking forks by nesting the code that was
just before the call to downEndCount in its own block.  That way, the
destructor calls will be inserted before the downEndCount call.

This change should make

  multilocale/deitz/linked/test_linked3c.chpl

more stable.  It was consistently failing when run on two locales and
non-deterministically above that (the test setting is three).


git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16081 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
This commit updates typeProblem.chpl to include unions (and real(32)s).

This commit updates typeProblem.chpl to include unions (and real(32)s). It
also cleans up some of the variable defining and naming.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16082 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Changed distributions from classes to values.

At the Chapel level, this means that all distributions must be created
by making a call to a new function called

  distributionValue(distributionClass)

that takes a newly allocated distribution class as an argument.  All
distribution types (which have not been specified to-date) must be
created by making a call to a new type function called

  distributionType(distributionClassType)

that takes a distribution class type as an argument.

Distribution Changes:

Added clone() methods to all distributions.  This required method
should return a new distribution class with the same value as 'this'.

Added getBaseDist() methods to all distributions that returns the
distribution class reference.

Implemented privatization for the Block distribution so that it is
more similar to Block domains and arrays.  Add a pid field and
replicate via a privatize() method.

Module Changes:

Like arrays and domains, distributions are now implemented with a
generic record, called _distribution, that wraps the underlying
classes.

Added autoCopy and autoDestroy calls for distributions that use a
reference count much like with arrays and domains.

Distributions are now destroyed much like domains were.  Domains
declared over distributions increment their reference count.  To
optimize the default distribution, disabled reference counting of
instances of DefaultDistribution by a parameter function
linksDistribution() that returns false on all domains distributed by
the DefaultDistribution.

Compiler Changes:

Added a flag "distribution" to mark this record type.

Fixed an issue with the code that (conservatively) frees values
allocated on the heap so that it no longer assumes a call is in the
IR (has a parentSymbol).

Specialized compiler code for argument passing and ".locale" so that
distributions behave like arrays and domains.

Test Changes:

Updated all tests to use calls to distributionValue as necessary.


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

Move the generic threading #include file and implementation into their own
subdirectories in the runtime.  This adds a small amount of complication to
the Makefiles, but makes things a lot more symmetric.  A future mod will
straighten out function naming in the threading interface.

As a positive side effect, the X2 build now works again.  However, there are
two new failures in X2 "release" testing:
  test/release/examples/programs/prodCons
  test/release/examples/tutorials/taskParallel
I will tackle those next.

While I was here, I also changed the name of the source file that implements
"pthreads-minimal" threading, so as to match the convention used by the other
threading implementations.

The specific file changes are:

runtime/src/chpl_sync_single_generic.c
runtime/src/chpl_tasks_generic.c
  (Both removed.)
  Remove the old generic threading implementation.

runtime/src/Makefile.share
  No longer compile the two files removed above.

runtime/threads-generic
runtime/threads-generic/Makefile
runtime/threads-generic/Makefile.include
runtime/threads-generic/Makefile.share
runtime/threads-generic/chpl_generic_threads.c
  (All added.)
  Combine the contents of the two files removed above into a single file, and
  create a new separate subdirectory for the generic implementation. 

runtime/include/chpl_threads_generic.h
  (Removed.)
  Remove the old generic threading implementation #include file.

runtime/include/threads-generic
runtime/include/threads-generic/chpl_threads_generic.h
  (Both added.)
  Create a new separate subdirectory for the generic threading implementation
  #include file.

runtime/threads-pthreads-minimal/chpl_threads.c
  (Removed.)
runtime/threads-pthreads-minimal/chpl_pthreads_minimal_threads.c
  (Added).
runtime/threads-pthreads-minimal/Makefile.share
  Change the name of the source file that implements "pthreads-minimal"
  threading.

runtime/threads-pthreads/Makefile.include
runtime/threads-pthreads-minimal/Makefile.include
  Set a "make" variable indicating that the generic threading implementation
  will be used, and thus needs to be built.

runtime/Makefile.help
  When it is needed, include the generic threading implementation in runtime
  and TAGS builds.

runtime/make/Makefile.runtime.head
  When building the runtime, search the generic threading implementation
  include subdirectory in additional to that for the specific implementation.

runtime/etc/Makefile.include
  When building a user program, search the generic threading implementation
  include subdirectory in additional to that for the specific implementation.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16084 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Add the "inline iterator" pragma to _square_tuple::lead_help().  This
was previously not getting inlined, which resulted in a goto with a
missing label (internal compiler error).




git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16085 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
This mod refactors the way config vars are handled during code
generation, such that handling of internal (built-in) config vars is a
little cleaner in the runtime.

If a config var is part of an internal modules, initialize it to be
part of module "Built-in" (this is known at compile time and can be
done during code generation).  This eliminates the need for any
runtime checks based on the name of the module being prepended with a
special string.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16086 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Added parallelism to the default arithmetic distribution.  Two new
config vars (const) can be used to tune the number of threads used for
parallel iteration.

- maxChunks: maximum number of threads used for the loop nest
- minElemsPerChunk: minimum number of elements require to use more than 1 thread

The total number of threads used is the min of maxChunks and
maxThreads, unless minElemsPerChunk is not satisfied.

Most tests simply required serialization of printing or error
accumulation.  The following tests required other workarounds.

[arrays/deitz/jacobi*]
[memory/shannon/printMemTable]
- Changed the sum reduction to a max reduction


[all madness tests]
- Removed printing of err (this still lead to some non-determinism)
- Added EXECOPTS to set maxChunks=1


[functions/deitz/test_square1]
- ADDED test_square1.compopts (--serial-forall)


[studies/590o/alaska/graph]
- ADDED graph.compopts (--serial-forall)


[npb/cg/bradc/cg-dense]
- Small problem size, so added --maxChunks=1 to execopts


[reductions/diten/deleteReductionClass]
- Removed printing in constructor and destructor


[studies/590o/bradc/coforall-private-indices]
[studies/590o/bradc/coforall-private-indices-workaround]
[studies/590o/bradc/coforall-private-indices-workaround2]
[studies/590o/bradc/forall-begin-private-indices]
[studies/590o/blerner/xml-parser]
- Added locking when accessing StartIndices and EndIndices


[execflags/shannon/help]
[execflags/shannon/configs/help/configVar-Dash]
[execflags/shannon/configs/help/configVarHelp]
[execflags/shannon/configs/help/configVarModStrings1]
[execflags/shannon/configs/help/configVarModStrings2]
[execflags/shannon/configs/help/configVarSetOver]
[execflags/shannon/configs/help/configVarSetTwoTypes]
[execflags/shannon/configs/help/configVarTwoModules]
[execflags/shannon/configs/help/varNameEnumQM]
[execflags/shannon/configs/help/varNameQMark]
- Added new new config vars to help message


[memory/figueroa/LeakedMemory2]
[memory/figueroa/LeakedMemory3]
- NEW REGRESSIONS



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16087 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Marked indices of coforall loops with FLAG_HEAP_ALLOCATE in the case
where there is an on-statement immediately inside the coforall loop.
This is already done for coforall loops in all other cases.  This
should fix the issue with the test

  studies/hpcc/STREAMS/bradc/stream-block1dpar-arr

and maybe others.


git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16088 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Updated comm-none .good files for tests.  I only changed the other .good files with my distribution value commit yesterday.


git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16089 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Updating REGRESSIONS based on runs from two nights ago (I forgot to commit)

+ removed test_reduce_of_promote_of_distributed
+ removed most of the PVM cascading timeouts
+ a printFinalMemStat started working again
+ XMT started working better -- updated its entries
* marked testCyclic's spurious errors as being unrelated to
  test_reduce_of_promote_of_distributed
* removed CHPL_THREADS = none section -- we're not testing anymore
* spurious errors



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

- comm-none.good files not updated for three tests (should now be fixed)
- two new memory leaks that Sung called out on her commit
- two new deadlocks and/or pthread_mutex_lock_failures
- (race-y?) out-of-bounds problem from Sung's commit in nopivlublock-alias
- (race-y?) incorrect output for lreductions
- new local block violation in GASNet tests for localBlock7
- output mismatch for GASNet on badStringToImag
- GASNet memory differences in memmax
- index privatization issues on darwin
* I optimistically pulled a lot of the GASNet failures that haven't failed
  in awhile to see whether Steve's two recent changes would cause them
  never to reappear



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

git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16092 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Changed parallel loops into serial loops in two leak tests because
otherwise memory associated with threads is not reclaimed before the
leak is reported, even if it is eventually reclaimed.


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