Fix C compiler errors from main args patch with --no-local and --baseline

[reviewed by Brad]



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@21048 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Miscellaneous minor improvements/cleanups in compiler, modules.

[reviewed by David]

* Made the former "accessing the locale of a local expression" warning
be more correct w.r.t. the nature of the issue.
Adjusted .good correspondingly.

* Made the line number corresponding to a promotion wrapper be that
of the callsite, not the callee. This was approved by the group over email.

* Made cleanFilename(BaseAST*) more robust w.r.t. null pointers.
This was needed for its use in a compiler error message that I encountered.
Also, use the node's filename whenever it's available, even if
'yyfilename' is also available.

* Removed a duplicate 'use MemTracking' statement.


git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@21049 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Updating .skipif for this future test -- we've been getting lucky

This test started passing on Feb 8th, but it seems we've just been
getting lucky.  I can only get it to fail using valgrind currently,
so I limited the skipif to that case for now.

Unfortunately, I don't think we test futures with valgrind, so we'll
have to review this one manually, perhaps after strings get
rewritten?



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@21050 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Adding Qthreads version 1.9 to our repository

This commit adds the new Qthreads version 1.9 to our repository
and makes it the default version of Qthreads used (previously,
we were using 1.8).  Spot testing makes it appear that this is
working at least as well as 1.8 (Dylan Stark has also done
testing indicating this), but I'll let it run for a night before
removing version 1.8.




git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@21051 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Removing Qthreads 1.9 release tarball

Added this for the archives, but there's no reason to hang onto it over
time.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@21052 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Fixed a bug where SomeArray.localSlice(SomeDomain) did not compile.
Also implemented SomeDomain.localSlice(AnotherDomain).
Added a test for the above two on DefaultRectangular arrays/domains.

[reviewed by David]

The bug was brought to our attention by Daniel Chavarria.
The fix is straightforward - apparently we had never tried
SomeArray.localSlice(SomeDomain) before.

I had to add also an overload of _domain.localSlice() for DefaultRectangular,
analogously to that for _array.


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

This future was designed to show that we needed a task pool that
didn't block on sync variable operations to handle arbitrarily
many threads.  We now have such task layers, and this test's
failure/passage depends a lot on how such things get scheduled,
so it seems that it isn't needed as a placeholder any longer.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@21054 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Removing some == from this script's printing

(so it won't wrap around in my mailer)



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@21055 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Tightening up passing futures

The following two futures have been passing for CHPL_GASNET_SEGMENT
everything, so I tightened up their .skipif files to only run them in
CHPL_GASNET_SEGMENT_FAST mode.  This required a minor change to
start_test to ensure that this environment variable is set.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@21056 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Fixing a bug in ChapelArray.chpl and clearer debugging messages in
CyclicDist.chpl and BlockDist.chpl. Also reducing the computational
load for test AllCasesPerformance.chpl



git-svn-id: http://svn.code.sf.net/p/chapel/code/branches/collaborations/bulkComms@21057 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Deleting all the test files that were duplicated in alberto directory and that are now in the alberto/Block one

git-svn-id: http://svn.code.sf.net/p/chapel/code/branches/collaborations/bulkComms@21058 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Address issuse with QIO on 32-bit builds.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@21059 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Removing Qthreads version 1.8

Testing was quiet, as expected, last night, so I'm removing Qthreads
version 1.9.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@21061 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Future for casting a real to an imag and not always getting zero



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@21062 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Removing --fast flags from lulesh correctness tests

As stated in r20802, my thinking is that we should
remove --fast from correctness tests in order to find
incorrectnesses and not time out in compilation.
Lulesh has been compiled with --fast for quite awhile
now, but the 3D version has recently been timing out
in compilation.  Removing the --fast (and the 10 minute
timeout file) in hopes of resolving this.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@21063 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Making intlimits.h safer

The #defines in intlimits.h were protected only by #ifndef INT8_MIN,
which casued duplicate definitions in cases where a compiler
#defines some of these limits, but not all (like the xmt compiler).
This commit protects each #define by its own #ifndef and makes the
XMT compiler clean (which should save us the initial "failed to
build the compiler" xmt mailing each night).




git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@21064 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Fixed \chpl{{1..5, 1..6}} in the spec.

Need to escape the inner {}, otherwise the output is broken.

The fix is due to David.


git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@21065 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Add readf/writef and improve error handling.

[README/design reviewed by Vass and Brad,
 code/tests reviewed by Tom]

This patch adds readf/writef support in IO.chpl
and includes the C file changes necessary to do that.

It also improves upon error handling with format
strings - now you get useful error messages when
you do something like present a %-conversion that
never ends, or have the wrong number of arguments
for a readf/writef call.

In order to do that, this patch changes the type of
syserr from c_int to a pointer type. See
runtime/include/sys_basic.h.
To make that work - it moves a bunch of the extern
procs/extern error numbers to use err_t or c_int
instead of syserr. C routines that are aware of
the smarter error handling will return syserr
instead of err_t (err_t is just a typedef for int).

After this patch is committed, I plan to refactor
the qioerr business there into a qio_error.h file
(which will go into runtime/include/qio, with other
 qio headers, as we have earlier discussed)

A       doc/release/technotes/README.formattedIO

Yay documentation!

M       runtime/include/sys.h
M       runtime/include/sys_basic.h
M       runtime/src/sys.c

Adding smarter error handling described above.

M       runtime/include/qio_style.h
Adding i_char to the style, suffix for imag.

M       runtime/include/qio_formatted.h

Add structures for qio_conv_parse.

M       runtime/src/qio_formatted.c

Also adds qio_conv_parse.


M       modules/standard/IO.chpl

Functions implementing readf/writef.
These get a little bit strange because at the end of the
day, we want readf/writef to work in a type-safe manner
(no core dumping like C) and so they must be implemented
with a 'param for' over the arguments. Since parsing the
format string happens at runtime (although it theoretically
could happen at compile time, that's another effort), all
of the possible conversions must *compile* for each type
passed to readf/writef as an argument. In order to make
that happen we have functions like _toSigned and _setIfPrimitive.

A       test/io/ferguson/writef.chpl
A       test/io/ferguson/writef_readf.chpl
A       test/io/ferguson/writef.good
A       test/io/ferguson/writef_readf.good

Added tests for readf/writef

A       test/io/ferguson/writefstring.chpl
A       test/io/ferguson/writefstring.good

Test writef with strings.

A       test/regexp/ferguson/readfre.good
A       test/regexp/ferguson/readfre.chpl

Tests for reading a regexp in a format string.

A       test/io/ferguson/complex-justified.chpl
A       test/io/ferguson/complex-justified.good

Testing fixed complex/imaginary padding



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@21066 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Filing a test and future against op= assignments on imaginaries

opequals2.chpl captures bad op= assignments to imaginaries that
I think should be illegal, but aren't today.  Instead, we rely
on promotions to complex and downcasts within the op= procedures
which makes these legal but a little surprising.  The .good file
is the set of errors I'd expect these assignments to generate,
though I'm fine with other things instead.

opequals.chpl captures some op= assignments on imaginaries that
currently work as I'd expect.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@21067 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Added param proc isDomainType(type); used it to generate a better errror message in the following case:

var A: [1..3] int dmapped Block({1..3});

Added a test for that.

Reviewed by David.


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