Commit c16fd676 by Richard Biener Committed by Richard Biener

re PR c++/56694 (Internal compiler error when compiling OpenMP code)

2013-03-25  Richard Biener  <rguenther@suse.de>

	PR middle-end/56694
	* tree-eh.c (lower_eh_must_not_throw): Strip BLOCKs from the
	must-not-throw stmt location.

	* g++.dg/torture/pr56694.C: New testcase.

From-SVN: r197047
parent 5ad29f12
2013-03-25 Richard Biener <rguenther@suse.de>
PR middle-end/56694
* tree-eh.c (lower_eh_must_not_throw): Strip BLOCKs from the
must-not-throw stmt location.
2013-03-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm.c (arm_emit_load_exclusive): Add acq parameter.
......
2013-03-25 Richard Biener <rguenther@suse.de>
PR middle-end/56694
* g++.dg/torture/pr56694.C: New testcase.
2013-03-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/56720
* gcc.target/arm/neon-vcond-gt.c: New test.
* gcc.target/arm/neon-vcond-ltgt.c: Likewise.
......
// { dg-do compile }
// { dg-options "-fopenmp" }
class GException {
public:
class vector_mismatch {
public:
vector_mismatch(int size1, int size2);
};
};
class GVector{
public:
GVector& operator+=(const GVector& v);
int m_num;
double* m_data;
};
inline GVector& GVector::operator+= (const GVector& v)
{
if (m_num != v.m_num)
throw GException::vector_mismatch(m_num, v.m_num);
for (int i = 0; i < m_num; ++i) m_data[i] += v.m_data[i];
};
void eval(GVector* m_gradient, GVector* vect_cpy_grad, int n)
{
#pragma omp sections
{
for (int i = 0; i < n; ++i)
*m_gradient += vect_cpy_grad[i];
}
}
......@@ -1855,7 +1855,8 @@ lower_eh_must_not_throw (struct leh_state *state, gimple tp)
this_region = gen_eh_region_must_not_throw (state->cur_region);
this_region->u.must_not_throw.failure_decl
= gimple_eh_must_not_throw_fndecl (inner);
this_region->u.must_not_throw.failure_loc = gimple_location (tp);
this_region->u.must_not_throw.failure_loc
= LOCATION_LOCUS (gimple_location (tp));
/* In order to get mangling applied to this decl, we must mark it
used now. Otherwise, pass_ipa_free_lang_data won't think it
......
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