Commit 8537a4a9 by Marek Polacek Committed by Marek Polacek

re PR middle-end/63884 (ICE: SIGSEGV in is_sec_implicit_index_fn with -fcilkplus…

re PR middle-end/63884 (ICE: SIGSEGV in is_sec_implicit_index_fn with -fcilkplus and __builtin_sadd_overflow())

	PR middle-end/63884
c-family/
	* array-notation-common.c (is_sec_implicit_index_fn): Return false
	for NULL fndecl.
	(extract_array_notation_exprs): Return for NULL node.
testsuite/
	* c-c++-common/cilk-plus/AN/pr63884.c: New test.

From-SVN: r217612
parent d66a0f56
2014-11-15 Marek Polacek <polacek@redhat.com>
PR middle-end/63884
* array-notation-common.c (is_sec_implicit_index_fn): Return false
for NULL fndecl.
(extract_array_notation_exprs): Return for NULL node.
2014-11-12 Joseph Myers <joseph@codesourcery.com>
* c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
......
......@@ -35,6 +35,9 @@ along with GCC; see the file COPYING3. If not see
bool
is_sec_implicit_index_fn (tree fndecl)
{
if (!fndecl)
return false;
if (TREE_CODE (fndecl) == ADDR_EXPR)
fndecl = TREE_OPERAND (fndecl, 0);
......@@ -327,6 +330,9 @@ extract_array_notation_exprs (tree node, bool ignore_builtin_fn,
vec<tree, va_gc> **array_list)
{
size_t ii = 0;
if (!node)
return;
if (TREE_CODE (node) == ARRAY_NOTATION_REF)
{
vec_safe_push (*array_list, node);
......
2014-11-15 Marek Polacek <polacek@redhat.com>
PR middle-end/63884
* c-c++-common/cilk-plus/AN/pr63884.c: New test.
2014-11-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR target/60104
......
/* PR middle-end/63884 */
/* { dg-do compile } */
/* { dg-options "-fcilkplus" } */
int
foo (int x, int y)
{
int r;
return __builtin_sadd_overflow (x, y, &r);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment