diff options
author | Dan Albert <danalbert@google.com> | 2016-02-24 13:48:45 -0800 |
---|---|---|
committer | Dan Albert <danalbert@google.com> | 2016-02-24 13:51:18 -0800 |
commit | b9de1157289455b0ca26daff519d4a0ddcd1fa13 (patch) | |
tree | 4c56cc0a34b91f17033a40a455f26652304f7b8d /gcc-4.8.1/gcc/testsuite/g++.dg/template/typedef37.C | |
parent | 098157a754787181cfa10e71325832448ddcea98 (diff) | |
download | toolchain_gcc-b9de1157289455b0ca26daff519d4a0ddcd1fa13.tar.gz toolchain_gcc-b9de1157289455b0ca26daff519d4a0ddcd1fa13.tar.bz2 toolchain_gcc-b9de1157289455b0ca26daff519d4a0ddcd1fa13.zip |
Update 4.8.1 to 4.8.3.
My previous drop was the wrong version. The platform mingw is
currently using 4.8.3, not 4.8.1 (not sure how I got that wrong).
From ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.3/gcc-4.8.3.tar.bz2.
Bug: http://b/26523949
Change-Id: Id85f1bdcbbaf78c7d0b5a69e74c798a08f341c35
Diffstat (limited to 'gcc-4.8.1/gcc/testsuite/g++.dg/template/typedef37.C')
-rw-r--r-- | gcc-4.8.1/gcc/testsuite/g++.dg/template/typedef37.C | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/template/typedef37.C b/gcc-4.8.1/gcc/testsuite/g++.dg/template/typedef37.C deleted file mode 100644 index eefa38316..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/template/typedef37.C +++ /dev/null @@ -1,58 +0,0 @@ -// Origin: PR c++/47398 -// { dg-do compile } - -template<int> -struct A -{ - typedef int INT; -}; - -template<int I> -struct transform -{ - static int bar(); -}; - -template<class T, int a, class U, int b> -struct B -{ - typedef typename A<a>::INT TINT; - void baz(); -}; - -template<class T, int a, class U> -struct B<T, a, U, 1> -{ - typedef typename A<a>::INT TINT; - void foo(); -}; - -template<class T, int a, class U, int b> -void -B<T, a, U, b>::baz() -{ - int c = transform<sizeof(TINT)>::bar();//#0 -} - -template<class T, int a, class U> -void -B<T, a, U, 1>::foo() -{ - int c = transform<sizeof(TINT)>::bar();//#1 -} - -int -main() -{ - B<int, 2, char, 1> i; - i.foo(); - // While instantiating - // - // template<class T, int a, class U> void B<T, a, U, 1>::foo() - // - // lookup_template_class resolves transform<sizeof(TINT)> in #1 to - // the wrong one; it picks up the one in #0 instead. This is because - // to compare the two A<a> comp_template_args uses cp_tree_equal - // that fails to consider the number of siblings of parm 'a'. -return 0; -} |