Keep the correct type for _Cilk_for stride, rather than using unsigned int.
Remove warning about unsigned comparison to 0 in cilk_for loop.
Sync in each iteration if there are destructors

This may be required in spec v2.0 if we move implicit syncs before
destructors.
Revert "Sync in each iteration if there are destructors"

This reverts commit bd25e22f5d7b98345975a9de14a708e5d252d11f.

Not needed for spec v1.1
Improve formula for calculating _Cilk_for loop count.
Add a pragma simd CodeGen test

- test pointer loop control variables
Added checks for loops that modify the control var

- Warn on aliases being created from the loop control var.
- Error on direct/compound assignments to the loop control var.
- Error on increment/decrement to the loop control var.
- Warn on function calls that can modify the loop control var.
- Warn on function calls using a function pointer that takes a loop
  control var.

Note that these warnings are enabled when -Wall is specified.
Semantic analysis for private, lastprivate and firstprivate

- Moved sema for SIMD clauses into a new file.
Fix build errors with GCC.

- Rename the 'Sema' variable to be 'S'.
SIMD Reduction attributes being parsed and added to the AST

Simple Sema checks on Reduction clauses.
  - Checks for variable reuse.
  - Checks for array type.
  - Ensures max/min operators are given arithmetic type.
Perform checks on variable conflicts with private clauses, disallow functions as reduction variables.
Fix validation test failure

Add a check for the ++/-- visitor to see if the variable being
[inc|dec]remented is the current loop control variable.

Also added tests.
Fix exception handling issues with spawn

This new ABI is based on reading assembly output from ICC, and appears to
fix our known issues with exception handling.  These changes should be
incorporated into the next revision of the ABI specification.

In order to support calling pop and leave frame after a sync that
rethrows an exception, __cilk_sync is no longer marked as nounwind, and
is invoked rather than called as appropriate.  This required a large
number of test changes.

Also, the 'excepting sync' is not only called before catches, but is
called any time there is an exception in a spawn.