Cache text.size to improve performance for large strings
Adding futures tests
Merge pull request #100 from tzakian/parallel-glob

Adding futures for:

* Recursive parallel iterators
* Calling functions that construct the type of the method calling them (e.g., file.foo() calling open)
* Calling functions that construct the type of the iterator calling them (e.g., file.iter() calling open)
Add dirfiles/parallel.
Merge branch 'master' of github.com:hildeth/chapel
Make string_length() and string_compare() static inline functions, as
they simply call the corresponding C library functions.
Change declaration formatting for string_length() to match the others
as per Mike's suggestion.
Merge pull request #101 from sungeunchoi/test

Make string_length() and string_compare() static inline functions

[reviewed by Mike]

The runtime functions string_length() and string_compare() simply call the corresponding C library functions, so this commit makes them static inline.

The actual motivation for this change is due to a gcc error/warning from throwing the flag -Werror=free-nonheap-object under some configurations, e.g., CHPL_COMM=gasnet with CHPL_GASNET_SEGMENT=everything. The code in question is in chpl_free_c_string() and is protected by a conditional that checks the length of the string. In the offending case, the memory is guaranteed to be on the heap unless the length is 0, but the length check is made via string_length() which was off in the bowels of the runtime library. Making string_length() static inline makes gcc happy.
Change for_exprs_postorder so it stops when it reaches the passed-in expression.

The initial implementation of for_exprs_postorder did not contain a check to stop
iteration when the passed-in expression was reached, so iteration would continue up to the
root of the expression tree.  A check was added at the only place where for_exps_postorder
was used, to stop the iteration.  I moved the check inside the definition of
for_exprs_postorder, so it performs the iteration implied by its name.  This change should
not have any performance impact.

I also changed the signature of resolve_type_expression to return the resolved expression,
moving the error check from the end of that routine to its sole caller.  This positions
resolve_type_expression for use in other places in functionResolution, anticipating
changes introduced by user default constructor calls.
Adding another test to ensure that the user can make use of pre-defined
_defaultOf functions.
Merge pull request #103 from lydia-duncan/addDefaultOfTest

Add another test for _defaultOf functionality [trivial]

This test ensures that the user can make use of pre-defined _defaultOf functions.
Fixed the "matching .bad" errors in field-in-task-ref-clause.chpl
Merge pull request #105 from vasslitvinov/fixMatchingDotBadErrors

Fixed the "matching .bad" errors in field-in-task-ref-clause.chpl

The .bad mismatch was due to .bad generated with --verify,
while out tests run without it.

I think for this test the outcome is more predictable when the bug
is caught by verification, rather than in whatever way the compiler
happens to trip over it. So I am adding --verify to compopts.
Revert "Add dirfiles/parallel."

This reverts commit 439da92647c3af300bf91dcab0e16856c3f27a55.
Fix a bug in replicateGlobalRecordWrappedVars().

The existing implementation of replicateGlobalRecordWrappedVars() was written so that it
would skip the first block of the module initialization function when looking for the
definition of a global record-wrapped variable.  I modified the function to also look in
the first block.

The old version worked because by accident all the definitions of interest lay in blocks
following the first.  However, as part of the implementation of calling user default
constructors, I moved the initialization code for variables closer to where the variables
are declared.  In some cases, this resulted in interesting initialization code ending up
in the first block.

The change also made the total allocated memory in shannon/printFinalMemStat.chpl go down
by 64 bytes in the no-local case.  So I updated the .good file for that test.
Revert "Add dirfiles/parallel."

This reverts commit 439da92647c3af300bf91dcab0e16856c3f27a55.
Adding first draft of glob and file iterator spec.
Reusing endpos to avoid another call to strlen
removing .log and .aux files
Merge pull request #108 from tzakian/glob_proposal

Adding first draft of glob and file iterator spec.