Merge branch 'master' of https://github.com/chapel-lang/chapel
Call default constructor by name.

In the compiler-generated _defaultOf() function, set up the call to the zero-args
constructor using its name rather than pre-resolving it to the all-fields constructor.
This will allow binding a user-defined default (zero-args) constructor if there is one.

Also, simplified the logic and flattened the loop structure.
Translate PRIM_INIT to _defaultOf() uniformly.

The existing code determines if there is a user-defined zero-args constructor and uses
that if there is, otherwise uses _defaultOf().

The compiler-supplied version of _defaultOf() now calls the user-defined default
constructor, so the test and extra code can be removed.
Accept improved behavior of explainIntantiation.

Making _defaultOf() call the zero-args constructor by name removed the inexplicable second
call to the range constructor in DefaultRectangularDom (a wrapper, perhaps), and replaced
it with an instantiation of the range type.  The runtime behavior is unaffected.

That instantiation chain seems more logical, so I'm putting this down as an improvement.
Remove generateConcreteConstructorCall() and helpers.

On-the-fly generation of concrete constructor calls is no longer necessary, because the
code that generates _defaultOf() was changed to call the zero-args constructor by name.
Since the insertion of the zero-args constructor call was moved there (buildDefaultArgs),
insertion at resolution time is no longer necessary.  So the above function and its
helpers have become dead code.

Also, I set up some asserts that will permit merging the tails of the two initialization
clauses.
Add pragma "compiler generated" to range.range as a workaround.

After reworking the compiler-generated version of _defaultOf() for a record type so it
calls the no-args constructor by name(!), the single test case
types/records/sungeun/chapelTypes/record_range fails because name lookup during resolution
does not work as specified.

I excerpted the pertinent text from the spec and added this to the test to underscore what
is expected.

I restored the desired behavior for this test case by adding the "compiler generated" flag
to the constructor range.range in ChapelRange.chpl, but this is an ugly hack.  The correct
solution would be to perform name lookup during resolution as required by the spec.
However, that change is likely to be significant, so I left it as a future effort.
Merged identical tails for two cases in resolvePrimInit().

Previously inserted asserts proved that the tail of the case for
  type->defaultValue || type->symbol->hasFlag(FLAG_TUPLE)
and
  type->defaultInitializer
could be merged and moved out to the top level.  So I did that (and removed the asserts).

I proved that the transformation was correct by running the full test suite, tossing both
--no-local and --verify flags.
Make c_string_from_wide_string work with remote strings

Removes the error message that you "cannot create a C string from a
remote string", and instead creates a local copy of the remote string.

This local copy is leaked, we should be able to fix the leak when
switching over to the new string implementation.
Merge branch 'master' of https://github.com/bradcray/chapel
Do not run gdbddash test on darwin.
Use lldb on darwin.

This doesn't work, because darwin apparently does weird things with console input.
Quiet ioerror failures using platform-dependent .good files.
Updating countMemory test for darwin and cleaning up a bit in general

This commit makes our countMemory test work on darwin by extending the
.prediff script to query the amount of physical memory using the Mac's
'system_profiler' script.  It also makes a small adjustment in the
.makegood file to print trailing ".0"s on round numbers in order to
match Chapel's default format for printing reals.

While here, I removed all the hardcoded machine-specific files that we
have, as none of them are still actively being used.  This also
permitted me to make the .gitignore rule for this directory much
simpler, using a wildcard character.
1) Convert result for buildFoallLoopStmt from SCOPELESS to NORMAL BlockStmt 2) Reformatting for readability
Fix typo in cygwin strerror output.
Adjusted .good to avoid failures in dist-cyclic tests
Convert record_range.chpl into a future.

Since the problem is in the compiler, we shouldn't really compensate in the module code.
I put ChapelRange.chpl back the way it was, so that the error condition is exposed and
then turned record_range.chpl into a future.
Revert the addition of pragma "compiler generated" to the range constructor.
Merge pull request #689 from vasslitvinov/fix-.good-for-dist-cyclic-regressions

Adjusted .good to avoid regressions in dist-cyclic testing.

r21426 (2013-05-29) increased the comm counts in these tests,
under the cyclic distribution:

- distributions/robust/arithmetic/performance/multilocale/assign
- distributions/robust/arithmetic/performance/multilocale/reduce

which have been failing since then. This change updates the
corresponding .good files to suppress the failures.

I believe that the increased comm counts are only indirectly
related to the changes in r21426, and it is not straightforward
to fix it. See the thread re:
  one reason for the regression in assign.chpl
on the internal mailing list, esp. my email from 2013-10-01.

Brad and I agreed that given that we have not focused on the cyclic
distribution and that there are higher-priority tasks, we prefer to
suppress these regressions via updating .good, rather than fixing them.


Here is a summary of comm-count changes, for convenience.
The comm counts in consideration here are for gets and forks
on non-0 locales (i.e. locales 1,2,3).


--- reduce.chpl (cyclic dist)

r19747 .good:       get=21 fork=3

2013-05-30 .good:   get=17 fork=4
2013-05-30 actual:  get=26 fork=6

now .good:          get=17 fork=4
now actual:         get=20 fork=6


--- assign.chpl (cyclic dist)

r19747 .good:       get=10 fork=1

2013-05-30 .good:   get=10 fork=1
2013-05-30 actual:  get=14 fork=3

now .good:          get=10 fork=1
now actual:         get=14 fork=3


--- Legend
r19747     - when the .cyclic.good files were added
2013-05-30 - the first test run after r21426
now        - as of today prior to this change
actual     - the actual test behavior
Add declint-lldb.good