Add chpl_free_c_string() and use it to clean up leaked c_strings in
string and IO code.
Merge branch 'master' of github.com:chapel-lang/chapel into c_string-leaks
Resolves all but 3 of compile-time failures.
Removed assertion that the PRIM_INIT clause in preFold is never reached.
Fix a few bugs with PRIM_TYPE_INIT.

resolveCall() must apply default generic type resolution to the PRIM_TYPE_INIT primitive.

CallExpr::prettyPrint() had to be updated to recognize PRIM_TYPE_INIT as an "unusual"
case.
Merge branch 'master' into addPrimTypeInit

Conflicts:
	compiler/passes/scopeResolve.cpp
Getting rid of qio_channel_filelength and instead adding qio_channel_get_channel_size
Added a bug future whereby the compiler crashes when a task intent's ref clause includes a reference to a field.

From the .future: instead an error should be generated.
That's because fields are not subject to forall intents.
Even fields of a record.

Also, my anticipated implementation of forall intents will likely hit
the same issue.

P.S. This should really be 8 distinct tests, to ensure that an error
is generated for each case. The param 'if' I am using does not guarantee
that - because the compiler may generate the error prior to resolution.
So ideally split this into 6 tests once the bug is fixed,
the add two for forall intents when those are working.
Merge pull request #85 from vasslitvinov/task-intents--field-in-ref-clause--bug

Added a bug future whereby the compiler crashes when a task intent's ref clause references a field.

From the .future: instead an error should be generated.
That's because fields are not subject to forall intents.
Even fields of a record.

Also, my anticipated implementation of forall intents will likely hit
the same issue.

P.S. This should really be 8 distinct tests, to ensure that an error
is generated for each case. The param 'if' I am using does not guarantee
that - because the compiler may generate the error prior to resolution.
So ideally split this into 6 tests once the bug is fixed,
the add two for forall intents when those are working.
Switching to use qio_channel_get_offset_unlocked and qio_channel_get_end_offset_unlocked
Add Vass's adlibs to Thomas's GitIntro.chpl
Merge pull request #86 from vasslitvinov/adlibs

Add Vass's adlibs to Thomas's GitIntro.chpl

"Vass has been here."
Strengthened CallExpr::verify() and used this in PRIM_TYPE_INIT case in removeRandomPrimitive().

In CallExpr::verify(), added a clause to ensure that every CallExpr has a valid
parentExpr.  Also added a test specific to PRIM_TYPE_INIT, that that parentExpr is a
CallExpr.  Both of these added clauses pass a full --verify test run.

Added comments in the clause for PRIM_TYPE_INIT in removeRandomPrimitive(), saying that we
don't have to test either of these invariants (call->parentExpr != NULL &&
toCallExpr(call->parentExpr) != NULL), because CallExpr::verify() does it for us.

There is a general caveat on this assumption, since verify only operates between passes.
If the current pass violates the invariant, one or both assumptions may fail.  A good
debug technique for this would be to run verify() on the suspect AST node.
Added DIRNAME.skipif for some test dirs with custom 'sub_test'.
Change the conditional on 's' in chpl_rt_free_c_string() into an
assertion.  This function should only be called from the modules via
chpl_free_c_string() which already employs a null check.
Merge branch 'master' of github.com:chapel-lang/chapel into c_string-leaks
Merge pull request #87 from vasslitvinov/dir.skipifs-for-C-tests

Added DIRNAME.skipif for some test dirs with custom 'sub_test'.

The following directories:

  test/compflags/ferguson
  test/users/ferguson/bswap
  test/users/ferguson/sys/getenv
  test/regexp/ferguson/ctests
  test/io/ferguson/utf8cols
  test/io/ferguson/ctests
  test/functions/ferguson

(a) use custom 'sub_test', and
(b) need testing only under one configuration.

Since these 'sub_test' do not perform skipif checks, they were getting
tested under all configurations every night, which is excessive and
on occasion has created noise in our nightly emails.

So I am adding DIRNAME.skipif so for each DIRNAME in the above,
aiming at having those dirs be tested for the standard configuration only.
If there are other configurations that should be ruled out,
these skipifs should be extended.

As of this commit, the seven .skipif files are identical.
Merge pull request #84 from tzakian/readstring_fix

Fixing channel.readstring
A small rewrite of channel.readstring() to avoid creating intermediate
Chapel strings and also to free intermediate c_strings.

This along with the previous changes reduces the total allocated
memory of regexdna.chpl by about 6% and increases the amount of freed
memory by 96% (which is still less than 10% of the total allocated
memory).
Merge branch 'master' of github.com:chapel-lang/chapel into c_string-leaks