From 6dcfb47ca7f7674c2913ba45e85f11426311bb4e Mon Sep 17 00:00:00 2001
From: Martin Liska <mliska@suse.cz>
Date: Wed, 10 Jul 2019 15:20:28 +0200
Subject: [PATCH] Deprecate -frepo on gcc-9 branch (PR c++/91125).
gcc/c-family/ChangeLog:
2019-07-10 Martin Liska <mliska@suse.cz>
PR c++/91125
* c-opts.c (c_common_handle_option): Warn the -frepo
will be removed in the future.
gcc/testsuite/ChangeLog:
2019-07-10 Martin Liska <mliska@suse.cz>
PR c++/91125
* g++.dg/parse/repo1.C: Add scan for the new warning.
* g++.dg/rtti/repo1.C: Likewise.
* g++.dg/template/repo1.C: Likewise.
* g++.dg/template/repo10.C: Likewise.
* g++.dg/template/repo11.C: Likewise.
* g++.dg/template/repo2.C: Likewise.
* g++.dg/template/repo3.C: Likewise.
* g++.dg/template/repo4.C: Likewise.
* g++.dg/template/repo5.C: Likewise.
* g++.dg/template/repo6.C: Likewise.
* g++.dg/template/repo7.C: Likewise.
* g++.dg/template/repo8.C: Likewise.
* g++.dg/template/repo9.C: Likewise.
* g++.old-deja/g++.pt/instantiate4.C: Likewise.
* g++.old-deja/g++.pt/instantiate6.C: Likewise.
* g++.old-deja/g++.pt/repo1.C: Likewise.
* g++.old-deja/g++.pt/repo2.C: Likewise.
* g++.old-deja/g++.pt/repo3.C: Likewise.
* g++.old-deja/g++.pt/repo4.C: Likewise.
---
gcc/c-family/c-opts.c | 2 ++
gcc/testsuite/g++.dg/parse/repo1.C | 1 +
gcc/testsuite/g++.dg/rtti/repo1.C | 1 +
gcc/testsuite/g++.dg/template/repo1.C | 1 +
gcc/testsuite/g++.dg/template/repo10.C | 1 +
gcc/testsuite/g++.dg/template/repo11.C | 1 +
gcc/testsuite/g++.dg/template/repo2.C | 1 +
gcc/testsuite/g++.dg/template/repo3.C | 1 +
gcc/testsuite/g++.dg/template/repo4.C | 1 +
gcc/testsuite/g++.dg/template/repo5.C | 1 +
gcc/testsuite/g++.dg/template/repo6.C | 1 +
gcc/testsuite/g++.dg/template/repo7.C | 1 +
gcc/testsuite/g++.dg/template/repo8.C | 1 +
gcc/testsuite/g++.dg/template/repo9.C | 1 +
gcc/testsuite/g++.old-deja/g++.pt/instantiate4.C | 1 +
gcc/testsuite/g++.old-deja/g++.pt/instantiate6.C | 1 +
gcc/testsuite/g++.old-deja/g++.pt/repo1.C | 1 +
gcc/testsuite/g++.old-deja/g++.pt/repo2.C | 1 +
gcc/testsuite/g++.old-deja/g++.pt/repo3.C | 1 +
gcc/testsuite/g++.old-deja/g++.pt/repo4.C | 1 +
20 files changed, 21 insertions(+)
@@ -501,6 +501,8 @@ c_common_handle_option (size_t scode, const char *arg, HOST_WIDE_INT value,
flag_use_repository = value;
if (value)
flag_implicit_templates = 0;
+ warning (0, "%<-frepo%> is deprecated and will be removed "
+ "in a future release");
break;
case OPT_ftabstop_:
@@ -1,5 +1,6 @@
// { dg-options "-frepo" }
// { dg-require-host-local "" }
+// { dg-warning "is deprecated and will be removed in a future release" "" { target *-*-* } 0 }
extern "C" inline void f() {}
@@ -2,6 +2,7 @@
// { dg-options "-frepo" }
// { dg-require-host-local "" }
// { dg-skip-if "dkms are not final links" { vxworks_kernel } }
+// { dg-warning "is deprecated and will be removed in a future release" "" { target *-*-* } 0 }
#include <typeinfo>
template<int>
@@ -1,6 +1,7 @@
// { dg-options "-frepo" }
// { dg-require-host-local "" }
// { dg-skip-if "dkms are not final links" { vxworks_kernel } }
+// { dg-warning "is deprecated and will be removed in a future release" "" { target *-*-* } 0 }
struct A {
A();
@@ -3,6 +3,7 @@
// { dg-require-host-local "" }
// { dg-skip-if "dkms are not final links" { vxworks_kernel } }
// { dg-final cleanup-repo-files }
+// { dg-warning "is deprecated and will be removed in a future release" "" { target *-*-* } 0 }
template<typename T>
struct Foo
@@ -3,6 +3,7 @@
// { dg-require-host-local "" }
// { dg-skip-if "dkms are not final links" { vxworks_kernel } }
// { dg-final cleanup-repo-files }
+// { dg-warning "is deprecated and will be removed in a future release" "" { target *-*-* } 0 }
template <typename H> struct J { J(H) {} };
template <unsigned long, typename...> struct K;
@@ -2,6 +2,7 @@
// { dg-options "-frepo" }
// { dg-require-host-local "" }
// { dg-skip-if "dkms are not final links" { vxworks_kernel } }
+// { dg-warning "is deprecated and will be removed in a future release" "" { target *-*-* } 0 }
template <int __inst>
struct __Atomicity_lock
@@ -1,6 +1,7 @@
// { dg-options "-frepo -DF='a'" }
// { dg-require-host-local "" }
// { dg-skip-if "dkms are not final links" { vxworks_kernel } }
+// { dg-warning "is deprecated and will be removed in a future release" "" { target *-*-* } 0 }
template <typename A, typename B> void f () {}
template <typename A, typename B> void g () { f<int,int>(); }
@@ -3,6 +3,7 @@
// { dg-final { cleanup-repo-files } }
// { dg-require-host-local "" }
// { dg-skip-if "dkms are not final links" { vxworks_kernel } }
+// { dg-warning "is deprecated and will be removed in a future release" "" { target *-*-* } 0 }
namespace {
struct Foo {};
@@ -3,6 +3,7 @@
// { dg-final { cleanup-repo-files } }
// { dg-require-host-local "" }
// { dg-skip-if "dkms are not final links" { vxworks_kernel } }
+// { dg-warning "is deprecated and will be removed in a future release" "" { target *-*-* } 0 }
template< typename T, T N > struct integral_c {
static const T value = N;
@@ -3,6 +3,7 @@
// { dg-final { cleanup-repo-files } }
// { dg-require-host-local "" }
// { dg-skip-if "dkms are not final links" { vxworks_kernel } }
+// { dg-warning "is deprecated and will be removed in a future release" "" { target *-*-* } 0 }
template<typename T>
class A
@@ -3,6 +3,7 @@
// { dg-final { cleanup-repo-files } }
// { dg-require-host-local "" }
// { dg-skip-if "dkms are not final links" { vxworks_kernel } }
+// { dg-warning "is deprecated and will be removed in a future release" "" { target *-*-* } 0 }
struct A
{
@@ -3,6 +3,7 @@
// { dg-final { cleanup-repo-files } }
// { dg-require-host-local "" }
// { dg-skip-if "dkms are not final links" { vxworks_kernel } }
+// { dg-warning "is deprecated and will be removed in a future release" "" { target *-*-* } 0 }
struct A
{
@@ -3,6 +3,7 @@
// { dg-final { cleanup-repo-files } }
// { dg-require-host-local "" }
// { dg-skip-if "dkms are not final links" { vxworks_kernel } }
+// { dg-warning "is deprecated and will be removed in a future release" "" { target *-*-* } 0 }
template <typename C> struct A
{
@@ -2,6 +2,7 @@
// { dg-options "-frepo -Werror" }
// { dg-require-host-local "" }
// { dg-skip-if "dkms are not final links" { vxworks_kernel } }
+// { dg-error "is deprecated and will be removed in a future release" "" { target *-*-* } 0 }
// Submitted by Melissa O'Neill <oneill@cs.sfu.ca>
@@ -2,6 +2,7 @@
// { dg-options "-frepo" }
// { dg-require-host-local "" }
// { dg-skip-if "dkms are not final links" { vxworks_kernel } }
+// { dg-warning "is deprecated and will be removed in a future release" "" { target *-*-* } 0 }
// Simplified from testcase by Erez Louidor Lior <s3824888@techst02.technion.ac.il>
@@ -2,6 +2,7 @@
// { dg-options "-frepo" }
// { dg-require-host-local "" }
// { dg-skip-if "dkms are not final links" { vxworks_kernel } }
+// { dg-warning "is deprecated and will be removed in a future release" "" { target *-*-* } 0 }
// Bug: g++ complains about duplicate explicit instantiations with -frepo.
// From Jason Merrill <jason@cygnus.com>
@@ -2,6 +2,7 @@
// { dg-options "-frepo" }
// { dg-require-host-local "" }
// { dg-skip-if "dkms are not final links" { vxworks_kernel } }
+// { dg-warning "is deprecated and will be removed in a future release" "" { target *-*-* } 0 }
// Test that collect2 isn't confused by GNU ld's "In function `foo':" message.
// Contributed by Jason Merrill <jason@cygnus.com>
@@ -2,6 +2,7 @@
// { dg-options "-frepo" }
// { dg-require-host-local "" }
// { dg-skip-if "dkms are not final links" { vxworks_kernel } }
+// { dg-warning "is deprecated and will be removed in a future release" "" { target *-*-* } 0 }
// Test that we properly generate the vtable and such for C.
// Contributed by scott snyder <snyder@fnal.gov>
@@ -2,6 +2,7 @@
// { dg-options "-frepo" }
// { dg-require-host-local "" }
// { dg-skip-if "dkms are not final links" { vxworks_kernel } }
+// { dg-warning "is deprecated and will be removed in a future release" "" { target *-*-* } 0 }
template <class T>
struct S {
--
2.22.0