Adding .bad files for my noinit futures



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22965 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Clarifying the future for this test and adding a .bad file.  Also, somehow it
had missed the decision to document fields as "var" instead of "field", so I
updated that.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22966 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
This test correctly complains about reading an unwritten value under valgrind,
so I am turning off valgrind testing for it (after verifying that it is
complaining where it should).  I am also turning off --fast and baseline testing
for this test, because C optimizations in the former and a lack of Chapel 
optimizations in the latter cause alterations that result in different output
which does not show what the test is intended to highlight.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22967 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Fix up sub_test scripts for portability

Remove bash-ism ==
Remove -Wall from I/O tests where it is not strictly
necessary, since -Wall is not a portable C compiler flag.
 


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22968 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Fix cygwin sensitivity to spaces in usernames

[reviewed by mppf, vass]

As mentioned on chapel-bugs this week, a user was having a 32-bit
cygwin compilation failure which turned out to be due to having a
space in his username.  Turns out that the commands that we use to
make and remove the temp directory that we create by default (and
maybe open files in that directory) are open to unprotected spaces in
the filename, due to our use of the system() command (I believe).

I initially looked into a change to protect those spaces with
backslashes before settling on this approach: compress the spaces out
of the username before even creating the /tmp directory name.  It's
slightly simpler and shouldn't ruin the goal of creating a reasonably
unique /tmp directory name.




git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22969 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Switched 'const' to 'var' for StencilDom.whole.

This is a follow-up to r22963 - analogous to BlockDom.whole
in that commit: StencilDom.whole gets assgined in dsiReprivatize.


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22970 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Fix a weird bug with nohup.

[trivial and not reviewed]

When using nohup to run a Chapel-compiled program
on my system, I was getting an error from file.reader()
with path /dev/null because the standard input stream 0
was a file that was not readable. That makes no sense
at all, but in order to allow programs to start up in
this strange environment, this patch makes QIO always 
consider file descriptor for stdin to be readable and 
the file descriptors for stdout/stderr to be writeable. 
 
If there is a e.g. a stdin that is not readable, there 
will be a fatal error later on in the program if it tries 
to use stdin. Of course, in the common case with nohup, 
the program would not use stdin anyway. 

tested with test/io.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22971 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Update comm counts following r22674.

Following the conversion of most assignments to use 'ref' intent on the LHS
operand, the "get" count in some comm diagnostics increased.  This is expected,
since some fundamental types or records that were being passed by value as the
left operand of assignment are now getting passed by ref.  The get counts in
the three differing .bad and .good files have been updated to reflect this new
behavior.

Passing the LHS by ref entails an extra get in assignments where the LHS is on
a remote node.  That is to obtain the address of the LHS operand.  Previously,
(due to the presence of a "wrapper" move, the RHS would be moved into local
temp, and then a put operation would be performed to copy the value of the
local temp into the remote destination.  All of those actions still happen, so
the only visible difference is the extra get to obtain the destination address.

[tested on these three test cases (gasnet-everything)]
[reviewed by diten]


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22972 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Add mandelbrot to the release/examples directory, updating READMEs and the
Makefile appropriately.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22973 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Fix qthreads dependence on CHPL_LOCALE_MODEL.

[Reviewed by Sung.]

The code in chpl_task_getNumSublocales() in the qthreads tasking layer
depended on the CHPL_LOCALE_MODEL_NUM_SUBLOCALES preprocessor constant
set by the runtime chpl-locale-model.h file for the specific locale
model being used.  Unfortunately, there were two problems with this
dependence.  One was that CHPL_LOCALE_MODEL_NUM_SUBLOCALES was never
set, because the make(1) variable CHPL_MAKE_LOCALE_MODEL wasn't set
during the build and so we included the backstop chpl-locale-model.h
file (which doesn't do anything) in runtime/include/localeModels
instead of the .h file for the specific locale model, which is found in
runtime/include/localeModels/$(CHPL_MAKE_LOCALE_MODEL).  The other
problem was that, despite the build depending on the locale model
setting, that setting was not included in the build and install paths.
Thus, even if CHPL_LOCALE_MODEL_NUM_SUBLOCALES had parameterized the
qthreads build properly, we would still have stored all the builds in
the same place, with only the last one taking effect.

This commit fixes both those problems.  The specific file changes are as
follows.

Makefile
  Export CHPL_MAKE_LOCALE_MODEL, so that the qthreads make(1) has access
  to it and we include the right chpl-locale-model.h file and thus get
  the right value of CHPL_LOCALE_MODEL_NUM_SUBLOCALES.

Makefile.include
  Include the CHPL_MAKE_LOCALE_MODEL setting in the unique build and
  install path.

qthread-1.10/src/interfaces/chapel/tasks-qthreads.c
  Improve the logic associated with CHPL_LOCALE_MODEL_NUM_SUBLOCALES.
  In particular, don't call qthread_num_shepherds() if we're just going
  to return 0 (zero) anyway.  (Note that I don't expect this to have any
  observable performance impact, because we don't call the function
  involved very many times at all during execution.)

  While here, also remove some spurious <TAB> characters I left in a
  previous commit.


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22974 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Mid-week snapshot of TRIAGE and REGRESSIONS

* some minor regressions from last night, most of which should now be
  fixed:
  - lydia's new test
  - sung's .bad file
  - vass's constness checking

* moved my r22900 entries from TRIAGE to REGRESSIONS

* updated pgi, intel, and cce entries to reflect reality (generally
  improved in minor ways)



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22975 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Update reduction.future and add prediff and skipif

This test fails in different ways for different compilers (I believe),
so only run it for CHPL_HOST_COMPILER==gnu.

Update the .bad file for CHPL_HOST_COMPILER=gnu, and note this in the
.future.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22976 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Forgot to commit the update to the mandelbrot graph so that it includes the
release numbers.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22977 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Clean up some spare variables that were lying around when noinit was used [trivial]



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22978 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Clean up issues with performance test verification

[Reviewed by Lydia]

Fasta-lines currently fails due to an OOM error and prints out a very
large amount of junk, drastically increasing the size of the log files.
To fix this, the test output is either

1) printed in its entirety when it is less than 2000 characters

or

2) the first and last 1000 characters of the output are printed

In addition, the test output is run though a filter to replace any
non-printable characters with a ~. This is useful as some of our tests
output binary data which can cause issues when viewed with a text
editor. Also, any performance test that fails or times out is will no


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22979 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Add a new test variant on global c strings, meant to add earlier


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22980 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Fail makeSysBasicTypes when bc is not available.

makeSysBasicTypes relies on the bc program to generate system C types. This
change forces the script to fail if bc does not work as expected.

Furthermore, it updates the modules Makefile to fail when makeSysBasicTypes
fails. Previously, the failure was masked because of an or (||) clause.

r: diten, vasslitvinov

git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22981 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Removed the test and future arrays/vass/newalias-perf.*

The peformance issue it raises has been resolved.


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22982 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Removed comments from prediff-for-bsub-launcher that I'd put there by mistake.


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

[reviewed by Tom]

Thanks to Akihiro Hayashi (Rice) for pointing out some of these
problems and their solution.

compiler/util/llvmGlobalToWide.cpp -- needs to handle both
MemMove and MemCpy instructions (some LLVM optimization added
MemMove between global/local during optimization).

runtime/include/chpl-comm-compiler-llvm-support.h -- switch
chpl_gen_comm_getput (which would be generated by either MemMove
or MemCpy instructions now) to use memmove in the local case,
and to include a comment describing its function and this detail.

compiler/util/llvmAggregateGlobalOps.cpp -- add debugging flags,
fix bug where an instruction's result was being used before
the instruction would execute... by always computing the ptrtoint
version of the new and old base pointers for a memory region we are
aggregating.

compiler/main/driver.cpp -- breakOnCodegenCname mistakenly referenced
the environment variable CHPL_LLVM_CODEGEN.

compiler/AST/symbol.cpp -- Remove "optimization" that is really just
a bug (I've only myself to blame). Earlier, argMustUseCPtr would return
false for FLAG_WIDE or FLAG_WIDE_CLASS symbols when using fLLVMWideOpt;
but that doesn't work at all with Tom's new assign changes, which
seem to assume that the code generator will pass such things by reference.
In any case, if some of these are no longer passed by reference, and that
change improves performance, it should apply to LLVM and C backends
both.

compiler/AST/expr.cpp -- Fixed a mistake from r21443 where the special
handling for wide strings did not apply with fLLVMWideOpt turned on (it
should). Added a comment clarifying wideRefTypeToLocalRefType
and used it in codegenRlocale and codegenRnode handling for fLLVMWideOpt
to address bugs that were revealed by the the wide string fix.

Tested with 'make check' for GASNet; and verified that MiniMD
and SSCA2 benchmarks build and run with --fast --llvm --llvm-wide-opt.



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