Fix error location for cilk error message

Output the correct location for an existing cilk error message.

gcc/c-family/:

2014-11-10  Andi Kleen  <ak@linux.intel.com>

	* cilk.c (recognize_spawn): Use expression location
	for error message.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217333 138bc75d-0d04-0410-961f-82ee72b054a4
Add test cases for all the new cilk errors

gcc/testsuite/:

2014-11-10  Andi Kleen  <ak@linux.intel.com>

	* c-c++-common/cilk-plus/CK/errors.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217334 138bc75d-0d04-0410-961f-82ee72b054a4
Fix some of the existing Cilk tests for the new errors.

gcc/testsuite/:

2014-11-10  Andi Kleen  <ak@linux.intel.com>

	* c-c++-common/cilk-plus/AN/misc.c (main): Handle
	new cilk errors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217335 138bc75d-0d04-0410-961f-82ee72b054a4
Error out for Cilk_spawn or array expression in forbidden places

_Cilk_spawn or Cilk array expressions are only allowed on their own,
but not in for(), if(), switch, do, while, goto, etc.
The C parser didn't always check for that, which lead to ICEs earlier
for invalid code.

Add a generic helper that checks this and call it where needed
in the C frontend.

I chose to allow spawn/array for for init and increment expressions.
While the Cilk spec could be interpreted to forbid it there too
there didn't seem any reason to not allow it.

One dark corner is spawn, array in statement expressions not at
the end. Right now that's forbidden too.

gcc/c-family/:

2014-11-10  Andi Kleen  <ak@linux.intel.com>

	PR c/60804
	* c-common.h (check_no_cilk): Declare.
	* cilk.c (get_error_location): New function.
	(check_no_cilk): Dito.

gcc/c/:

2014-11-10  Andi Kleen  <ak@linux.intel.com>

	PR c/60804
	* c-parser.c (c_parser_statement_after_labels): Call
	check_no_cilk.
	(c_parser_if_statement): Dito.
	(c_parser_switch_statement): Dito.
	(c_parser_while_statement): Dito.
	(c_parser_do_statement): Dito.
	(c_parser_for_statement): Dito.
	* c-typeck.c (c_finish_loop): Dito.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217336 138bc75d-0d04-0410-961f-82ee72b054a4
Add illegal cilk checks to C++ front.

Add calls for several illegal Cilk cases to the C++ frontend.
C++ usually doesn't ICE unlike C on illegal cilk, but it's
better to match C in what is allowed and what is not.

if (_Cilk_spawn ...) is still not errored, but at least it doesn't ICE.

gcc/cp/:

2014-11-10  Andi Kleen  <ak@linux.intel.com>

	* semantics.c (finish_goto_stmt): Call check_no_cilk.
	(finish_while_stmt_cond): Dito.
	(finish_do_stmt): Dito.
	(finish_for_cond): Dito.
	(finish_switch_cond): Dito.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217337 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-11  Tobias Burnus  <burnus@net-b.de>

contrib/
        * download_prerequisites: Stop downloading CLooG.
gcc/
        * doc/install.texi (Prerequisites): Remove CLooG.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217339 138bc75d-0d04-0410-961f-82ee72b054a4