diff --git a/SOURCES/gcc8-dts-arm.patch b/SOURCES/gcc8-dts-arm.patch deleted file mode 100644 index 78f09f4..0000000 --- a/SOURCES/gcc8-dts-arm.patch +++ /dev/null @@ -1,222 +0,0 @@ -diff -Naurp a/libstdc++-v3/src/nonshared11/cow-shim_facets.cc b/libstdc++-v3/src/nonshared11/cow-shim_facets.cc ---- a/libstdc++-v3/src/nonshared11/cow-shim_facets.cc 2019-06-13 13:06:05.174643027 +0000 -+++ b/libstdc++-v3/src/nonshared11/cow-shim_facets.cc 2019-06-13 13:04:21.926181688 +0000 -@@ -168,7 +168,7 @@ asm (".hidden _ZTVNSt13__facet_shims12_G - asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EEE"); - asm (".hidden _ZNSt13__facet_shims21__numpunct_fill_cacheIcEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt16__numpunct_cacheIT_E"); - asm (".hidden _ZNSt13__facet_shims21__numpunct_fill_cacheIwEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt16__numpunct_cacheIT_E"); --#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) -+#if defined(__i386__) || defined(__arm__) || (defined(__powerpc__) && !defined(__powerpc64__)) - asm (".hidden _ZNSt13__facet_shims14__messages_getIcEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_j"); - asm (".hidden _ZNSt13__facet_shims14__messages_getIwEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_j"); - asm (".hidden _ZNSt13__facet_shims15__messages_openIcEEiSt17integral_constantIbLb0EEPKNSt6locale5facetEPKcjRKS3_"); -diff -Naurp a/libstdc++-v3/src/nonshared11/cow-stdexcept.cc b/libstdc++-v3/src/nonshared11/cow-stdexcept.cc ---- a/libstdc++-v3/src/nonshared11/cow-stdexcept.cc 2019-06-13 13:06:05.148643918 +0000 -+++ b/libstdc++-v3/src/nonshared11/cow-stdexcept.cc 2019-06-13 13:04:21.927181654 +0000 -@@ -35,7 +35,7 @@ asm (".hidden _ZNSt12__cow_stringaSEOS_" - asm (".hidden _ZNSt12__cow_stringaSERKS_"); - asm (".hidden _ZNSt12__sso_stringC1ERKSs"); - asm (".hidden _ZNSt12__sso_stringC2ERKSs"); --#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) -+#if defined(__i386__) || defined(__arm__) || (defined(__powerpc__) && !defined(__powerpc64__)) - asm (".hidden _ZNSt12__cow_stringC1EPKcj"); - asm (".hidden _ZNSt12__cow_stringC2EPKcj"); - #else -diff -Naurp a/libstdc++-v3/src/nonshared11/cxx11-shim_facets.cc b/libstdc++-v3/src/nonshared11/cxx11-shim_facets.cc ---- a/libstdc++-v3/src/nonshared11/cxx11-shim_facets.cc 2019-06-13 13:06:05.156643644 +0000 -+++ b/libstdc++-v3/src/nonshared11/cxx11-shim_facets.cc 2019-06-13 13:04:21.927181654 +0000 -@@ -168,7 +168,7 @@ asm (".hidden _ZTVNSt13__facet_shims12_G - asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EEE"); - asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EEE"); - asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EEE"); --#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) -+#if defined(__i386__) || defined(__arm__) || (defined(__powerpc__) && !defined(__powerpc64__)) - asm (".hidden _ZNSt13__facet_shims14__messages_getIcEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_j"); - asm (".hidden _ZNSt13__facet_shims14__messages_getIwEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_j"); - asm (".hidden _ZNSt13__facet_shims15__messages_openIcEEiSt17integral_constantIbLb1EEPKNSt6locale5facetEPKcjRKS3_"); -diff -Naurp a/libstdc++-v3/src/nonshared11/cxx11-wlocale-inst.cc b/libstdc++-v3/src/nonshared11/cxx11-wlocale-inst.cc ---- a/libstdc++-v3/src/nonshared11/cxx11-wlocale-inst.cc 2019-06-13 13:06:05.137644295 +0000 -+++ b/libstdc++-v3/src/nonshared11/cxx11-wlocale-inst.cc 2019-06-13 13:04:21.928181620 +0000 -@@ -36,7 +36,7 @@ asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287 - asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); - asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); - #endif --#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) -+#if defined(__i386__) || defined(__arm__) || (defined(__powerpc__) && !defined(__powerpc64__)) - asm (".hidden _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKNSt7__cxx1112basic_stringIcS1_IcESaIcEEEj"); - asm (".hidden _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2ERKNSt7__cxx1112basic_stringIcS1_IcESaIcEEEj"); - #else -diff -Naurp a/libstdc++-v3/src/nonshared11/locale-inst-asm.S b/libstdc++-v3/src/nonshared11/locale-inst-asm.S ---- a/libstdc++-v3/src/nonshared11/locale-inst-asm.S 2019-06-13 13:06:05.139644226 +0000 -+++ b/libstdc++-v3/src/nonshared11/locale-inst-asm.S 2019-06-13 13:04:21.929181585 +0000 -@@ -43,6 +43,11 @@ - #define ALIGN3 .align 2 - #define SECTION2(x).section .gnu.linkonce.s.x,"aw",@progbits - #define SECTION3(x)SECTION2(x) -+#elif defined __arm__ -+#define ALIGN1 .align 4 -+#define OBJECT %object -+#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",%progbits -+#define SECTION3(x).section .gnu.linkonce.r.x,"a",%progbits - #elif defined __aarch64__ - #define ALIGN1 .align 3 - #define ALIGN3 .align 3 -@@ -288,4 +293,4 @@ _ZTVSt16__numpunct_cacheIwE: - POINTER SYM(_ZTISt16__numpunct_cacheIwE) - VPTR(_ZNSt16__numpunct_cacheIwED1Ev) - VPTR(_ZNSt16__numpunct_cacheIwED0Ev) -- .section .note.GNU-stack,"",@progbits -+ .section .note.GNU-stack,"",%progbits -diff -Naurp a/libstdc++-v3/src/nonshared11/locale-inst.cc b/libstdc++-v3/src/nonshared11/locale-inst.cc ---- a/libstdc++-v3/src/nonshared11/locale-inst.cc 2019-06-13 13:06:05.167643267 +0000 -+++ b/libstdc++-v3/src/nonshared11/locale-inst.cc 2019-06-13 13:04:21.929181585 +0000 -@@ -70,13 +70,13 @@ _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - - #ifdef C_is_char --#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) -+#if defined(__i386__) || defined(__arm__) || (defined(__powerpc__) && !defined(__powerpc64__)) - asm (".hidden _ZSt14__add_groupingIcEPT_S1_S0_PKcjPKS0_S5_"); - #else - asm (".hidden _ZSt14__add_groupingIcEPT_S1_S0_PKcmPKS0_S5_"); - #endif - #else --#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) -+#if defined(__i386__) || defined(__arm__) || (defined(__powerpc__) && !defined(__powerpc64__)) - asm (".hidden _ZSt14__add_groupingIwEPT_S1_S0_PKcjPKS0_S5_"); - #else - asm (".hidden _ZSt14__add_groupingIwEPT_S1_S0_PKcmPKS0_S5_"); -diff -Naurp a/libstdc++-v3/src/nonshared11/snprintf_lite.cc b/libstdc++-v3/src/nonshared11/snprintf_lite.cc ---- a/libstdc++-v3/src/nonshared11/snprintf_lite.cc 2019-06-13 13:06:05.179642856 +0000 -+++ b/libstdc++-v3/src/nonshared11/snprintf_lite.cc 2019-06-13 13:04:21.930181551 +0000 -@@ -30,6 +30,9 @@ asm (".hidden _ZN9__gnu_cxx15__snprintf_ - #elif defined(__powerpc__) - asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcjj"); - asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcjPKcP13__va_list_tag"); -+#elif defined(__arm__) -+asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcjj"); -+asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcjPKcSt9__va_list"); - #elif defined(__aarch64__) - asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcmm"); - asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcmPKcSt9__va_list"); -diff -Naurp a/libstdc++-v3/src/nonshared11/sso_string.cc b/libstdc++-v3/src/nonshared11/sso_string.cc ---- a/libstdc++-v3/src/nonshared11/sso_string.cc 2019-06-13 13:06:05.175642993 +0000 -+++ b/libstdc++-v3/src/nonshared11/sso_string.cc 2019-06-13 13:04:21.930181551 +0000 -@@ -39,7 +39,7 @@ asm (".hidden _ZNSt12__sso_stringD1Ev"); - asm (".hidden _ZNSt12__sso_stringD2Ev"); - asm (".hidden _ZNSt12__sso_stringaSEOS_"); - asm (".hidden _ZNSt12__sso_stringaSERKS_"); --#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) -+#if defined(__i386__) || defined(__arm__) || (defined(__powerpc__) && !defined(__powerpc64__)) - asm (".hidden _ZNSt12__sso_stringC1EPKcj"); - asm (".hidden _ZNSt12__sso_stringC2EPKcj"); - #else -diff -Naurp a/libstdc++-v3/src/nonshared98/decimal-rtti.S b/libstdc++-v3/src/nonshared98/decimal-rtti.S ---- a/libstdc++-v3/src/nonshared98/decimal-rtti.S 2019-06-13 13:06:05.121644843 +0000 -+++ b/libstdc++-v3/src/nonshared98/decimal-rtti.S 2019-06-13 13:04:21.931181517 +0000 -@@ -21,7 +21,7 @@ - . */ - - #if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ \ -- || defined __i386__ || defined __powerpc__ || defined __s390__ -+ || defined __i386__ || defined __powerpc__ || defined __s390__ || defined __arm__ - #ifdef __i386__ - #define ALIGN1 .align 4 - #elif defined __x86_64__ -@@ -43,6 +43,11 @@ - #define ALIGN3 .align 2 - #define SECTION2(x).section .gnu.linkonce.s.x,"aw",@progbits - #define SECTION3(x)SECTION2(x) -+#elif defined __arm__ -+#define ALIGN1 .align 4 -+#define OBJECT %object -+#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",%progbits -+#define SECTION3(x).section .gnu.linkonce.r.x,"a",%progbits - #elif defined __aarch64__ - #define ALIGN1 .align 3 - #define ALIGN3 .align 3 -@@ -271,4 +276,4 @@ _ZTSPDf: - _ZTSDf: - STRING "Df" - #endif -- .section .note.GNU-stack,"",@progbits -+ .section .note.GNU-stack,"",%progbits -diff -Naurp a/libstdc++-v3/src/nonshared98/float128.S b/libstdc++-v3/src/nonshared98/float128.S ---- a/libstdc++-v3/src/nonshared98/float128.S 2019-06-13 13:06:05.116645015 +0000 -+++ b/libstdc++-v3/src/nonshared98/float128.S 2019-06-13 13:04:21.932181482 +0000 -@@ -20,12 +20,17 @@ - see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - . */ - --#if defined __x86_64__ || defined __i386__ || defined __ia64__ -+#if defined __x86_64__ || defined __i386__ || defined __ia64__ || defined __arm__ - #ifdef __i386__ - #define ALIGN1 .align 4 - #elif defined __x86_64__ - #define ALIGN1 .align 32 - #define ALIGN2 .align 16 -+#elif defined __arm__ -+#define ALIGN1 .align 4 -+#define OBJECT %object -+#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",%progbits -+#define SECTION3(x).section .gnu.linkonce.r.x,"a",%progbits - #elif defined __ia64__ - #define ALIGN1 .align 8 - #define ALIGN3 .align 8 -@@ -159,4 +164,4 @@ _ZTSPg: - _ZTSg: - STRING "g" - #endif -- .section .note.GNU-stack,"",@progbits -+ .section .note.GNU-stack,"",%progbits -diff -Naurp a/libstdc++-v3/src/nonshared98/int128.S b/libstdc++-v3/src/nonshared98/int128.S ---- a/libstdc++-v3/src/nonshared98/int128.S 2019-06-13 13:06:05.133644432 +0000 -+++ b/libstdc++-v3/src/nonshared98/int128.S 2019-06-13 13:04:21.932181482 +0000 -@@ -213,4 +213,4 @@ _ZTSPo: - _ZTSo: - STRING "o" - #endif -- .section .note.GNU-stack,"",@progbits -+ .section .note.GNU-stack,"",%progbits -diff -Naurp a/libstdc++-v3/src/nonshared98/locale_facets.cc b/libstdc++-v3/src/nonshared98/locale_facets.cc ---- a/libstdc++-v3/src/nonshared98/locale_facets.cc 2019-06-13 13:06:05.119644912 +0000 -+++ b/libstdc++-v3/src/nonshared98/locale_facets.cc 2019-06-13 13:04:21.933181448 +0000 -@@ -22,7 +22,7 @@ - - #define _GLIBCXX_NONSHARED_CXX11 - #include "../c++98/locale_facets.cc" --#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) -+#if defined(__i386__) || defined(__arm__) || (defined(__powerpc__) && !defined(__powerpc64__)) - asm (".hidden _ZSt22__verify_grouping_implPKcjS0_j"); - #else - asm (".hidden _ZSt22__verify_grouping_implPKcmS0_m"); -diff -Naurp a/libstdc++-v3/src/nonshared98/nullptr-rtti.S b/libstdc++-v3/src/nonshared98/nullptr-rtti.S ---- a/libstdc++-v3/src/nonshared98/nullptr-rtti.S 2019-06-13 13:06:05.132644466 +0000 -+++ b/libstdc++-v3/src/nonshared98/nullptr-rtti.S 2019-06-13 13:04:21.933181448 +0000 -@@ -21,7 +21,7 @@ - . */ - - #if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ \ -- || defined __i386__ || defined __powerpc__ || defined __s390__ -+ || defined __i386__ || defined __powerpc__ || defined __s390__ || defined __arm__ - #ifdef __i386__ - #define ALIGN1 .align 4 - #elif defined __x86_64__ -@@ -43,6 +43,11 @@ - #define ALIGN3 .align 2 - #define SECTION2(x).section .gnu.linkonce.s.x,"aw",@progbits - #define SECTION3(x)SECTION2(x) -+#elif defined __arm__ -+#define ALIGN1 .align 4 -+#define OBJECT %object -+#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",%progbits -+#define SECTION3(x).section .gnu.linkonce.r.x,"a",%progbits - #elif defined __aarch64__ - #define ALIGN1 .align 3 - #define ALIGN3 .align 3 -@@ -163,4 +168,4 @@ _ZTSPDn: - _ZTSDn: - STRING "Dn" - #endif -- .section .note.GNU-stack,"",@progbits -+ .section .note.GNU-stack,"",%progbits diff --git a/SOURCES/gcc8-pr86098.patch b/SOURCES/gcc8-pr86098.patch new file mode 100644 index 0000000..5f5a651 --- /dev/null +++ b/SOURCES/gcc8-pr86098.patch @@ -0,0 +1,39 @@ +2018-06-12 Jason Merrill + + PR c++/86098 - ICE with template placeholder for TTP. + * typeck.c (structural_comptypes) [TEMPLATE_TYPE_PARM]: Check + CLASS_PLACEHOLDER_TEMPLATE. + +--- gcc/cp/typeck.c ++++ gcc/cp/typeck.c +@@ -1375,6 +1375,11 @@ structural_comptypes (tree t1, tree t2, int strict) + template parameters set, they can't be equal. */ + if (!comp_template_parms_position (t1, t2)) + return false; ++ /* If T1 and T2 don't represent the same class template deduction, ++ they aren't equal. */ ++ if (CLASS_PLACEHOLDER_TEMPLATE (t1) ++ != CLASS_PLACEHOLDER_TEMPLATE (t2)) ++ return false; + /* Constrained 'auto's are distinct from parms that don't have the same + constraints. */ + if (!equivalent_placeholder_constraints (t1, t2)) +--- /dev/null ++++ gcc/testsuite/g++.dg/cpp1z/class-deduction58.C +@@ -0,0 +1,16 @@ ++// PR c++/86098 ++// { dg-additional-options -std=c++17 } ++ ++template class future; ++template T&& declval(); ++ ++template