re PR c++/41183 (ICE compiling chromium)
PR c++/41183 * cp-tree.h (current_class_ptr): Give NULL even when cfun has NULL cfun->language. * g++.dg/torture/pr41183.C: New test. From-SVN: r155254
This commit is contained in:
parent
bb194134ac
commit
3efd49f9df
4 changed files with 43 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2009-12-15 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/41183
|
||||
* cp-tree.h (current_class_ptr): Give NULL even when cfun
|
||||
has NULL cfun->language.
|
||||
|
||||
2009-12-14 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/42364
|
||||
|
|
|
@ -1026,7 +1026,8 @@ struct GTY(()) language_function {
|
|||
expression for `*this'. */
|
||||
|
||||
#define current_class_ptr \
|
||||
(cfun ? cp_function_chain->x_current_class_ptr : NULL_TREE)
|
||||
(cfun && cp_function_chain \
|
||||
? cp_function_chain->x_current_class_ptr : NULL_TREE)
|
||||
#define current_class_ref \
|
||||
(cfun ? cp_function_chain->x_current_class_ref : NULL_TREE)
|
||||
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2009-12-15 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/41183
|
||||
* g++.dg/torture/pr41183.C: New test.
|
||||
|
||||
2009-12-15 Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
PR fortran/41235
|
||||
|
|
30
gcc/testsuite/g++.dg/torture/pr41183.C
Normal file
30
gcc/testsuite/g++.dg/torture/pr41183.C
Normal file
|
@ -0,0 +1,30 @@
|
|||
// PR c++/41183
|
||||
// { dg-do compile }
|
||||
|
||||
void foo (const char *);
|
||||
|
||||
template <int *>
|
||||
struct A
|
||||
{
|
||||
template <typename T> A (const int &, T);
|
||||
int i;
|
||||
};
|
||||
|
||||
template <int *X>
|
||||
template <typename T>
|
||||
A<X>::A (const int &j, T) : i(j)
|
||||
{
|
||||
foo (0);
|
||||
foo (0);
|
||||
foo (__PRETTY_FUNCTION__);
|
||||
}
|
||||
|
||||
int N;
|
||||
|
||||
struct B
|
||||
{
|
||||
B ();
|
||||
A<&N> a;
|
||||
};
|
||||
|
||||
B::B() : a(N, 0) {}
|
Loading…
Add table
Reference in a new issue