aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2001-02-12 14:29:13 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2001-02-12 14:29:13 +0000
commit82c18d5c67b2d121e8ef05c909f3e442c2ea742e (patch)
treead807fb93628215059ae03d400446551819d207d /gcc
parent48ce6bbbe6c22735efd1e8fe6b6fbf4d8453642e (diff)
downloadgcc-82c18d5c67b2d121e8ef05c909f3e442c2ea742e.zip
gcc-82c18d5c67b2d121e8ef05c909f3e442c2ea742e.tar.gz
gcc-82c18d5c67b2d121e8ef05c909f3e442c2ea742e.tar.bz2
extend.texi (Deprecated): Deprecate new initializer lists.
.: * extend.texi (Deprecated): Deprecate new initializer lists. cp: * errfn.c (cp_deprecated): Tweak diagnostic text. * parse.y (new_initializer): Deprecate initializer lists extension. testsuite: * g++.old-deja/g++.robertl/eb63.C: Remove new initializer list case. * g++.old-deja/g++.ext/arrnew.C: Deprecate. From-SVN: r39603
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/errfn.c3
-rw-r--r--gcc/cp/parse.y5
-rw-r--r--gcc/extend.texi3
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/arrnew.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb63.C2
8 files changed, 28 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5838071..51837d0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2001-02-12 Nathan Sidwell <nathan@codesourcery.com>
+ * extend.texi (Deprecated): Deprecate new initializer lists.
+
+2001-02-12 Nathan Sidwell <nathan@codesourcery.com>
+
* mkdeps.c (deps_add_default_target): Robustify. Add
basename component only.
* cpp.texi (-M): Describe how default target is generated.
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 6e1cb90..3f7b392 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2001-02-12 Nathan Sidwell <nathan@codesourcery.com>
+
+ * errfn.c (cp_deprecated): Tweak diagnostic text.
+ * parse.y (new_initializer): Deprecate initializer lists
+ extension.
+
2001-02-12 Mark Mitchell <mark@codesourcery.com>
Remove old ABI support.
diff --git a/gcc/cp/errfn.c b/gcc/cp/errfn.c
index 802f567..351dba9 100644
--- a/gcc/cp/errfn.c
+++ b/gcc/cp/errfn.c
@@ -265,8 +265,7 @@ cp_deprecated (msg)
extern int warn_deprecated;
if (!warn_deprecated)
return;
- cp_warning ("%s is deprecated.", msg);
- cp_warning ("Please see the documentation for details.");
+ cp_warning ("%s is deprecated, please see the documentation for details", msg);
}
void
diff --git a/gcc/cp/parse.y b/gcc/cp/parse.y
index e84efb5..a9963ee 100644
--- a/gcc/cp/parse.y
+++ b/gcc/cp/parse.y
@@ -1290,11 +1290,14 @@ new_initializer:
}
/* GNU extension so people can use initializer lists. Note that
this alters the meaning of `new int = 1', which was previously
- syntactically valid but semantically invalid. */
+ syntactically valid but semantically invalid.
+ This feature is now deprecated and will be removed in a future
+ release. */
| '=' init
{
if (pedantic)
pedwarn ("ISO C++ forbids initialization of new expression with `='");
+ cp_deprecated ("new initializer lists extension");
if (TREE_CODE ($2) != TREE_LIST
&& TREE_CODE ($2) != CONSTRUCTOR)
$$ = build_tree_list (NULL_TREE, $2);
diff --git a/gcc/extend.texi b/gcc/extend.texi
index c1d5233..c2ce6a3 100644
--- a/gcc/extend.texi
+++ b/gcc/extend.texi
@@ -4390,6 +4390,9 @@ it is required for backwards compatibility @xref{Backwards Compatibility}.
The named return value extension has been deprecated, and will be
removed from g++ at some point.
+The use of initializer lists with new expressions has been deprecated,
+and will be removed from g++ at some point.
+
@node Backwards Compatibility
@section Backwards Compatibility
@cindex Backwards Compatibility
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index c883278..de55bb3 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2001-02-12 Nathan Sidwell <nathan@codesourcery.com>
+
+ * g++.old-deja/g++.robertl/eb63.C: Remove new initializer list
+ case.
+ * g++.old-deja/g++.ext/arrnew.C: Deprecate.
+
2001-02-12 Jakub Jelinek <jakub@redhat.com>
* gcc.c-torture/compile/20010209-1.c: New test.
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/arrnew.C b/gcc/testsuite/g++.old-deja/g++.ext/arrnew.C
index ef051d2..0ecb877 100644
--- a/gcc/testsuite/g++.old-deja/g++.ext/arrnew.C
+++ b/gcc/testsuite/g++.old-deja/g++.ext/arrnew.C
@@ -2,4 +2,6 @@
// Build don't link:
// Special g++ Options:
- int *f(){ return new int[1] = { 1 }; }
+int *f(){
+ return new int[1] = { 1 }; // WARNING - deprecated
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb63.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb63.C
index 671fe81..f786e70 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb63.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb63.C
@@ -11,6 +11,6 @@ public:
main() {
A* a;
- a = new A[2] = { A(1,false), A(1,false) } ;
+
a = new A[2](1,false);
}