diff --git a/gcc/testsuite/g++.dg/concepts/diagnostic1.C b/gcc/testsuite/g++.dg/concepts/diagnostic1.C
index c6589e2e6718..29c78c4c730f 100644
--- a/gcc/testsuite/g++.dg/concepts/diagnostic1.C
+++ b/gcc/testsuite/g++.dg/concepts/diagnostic1.C
@@ -1,7 +1,6 @@
 // PR c++/67159
 // { dg-do compile { target c++17_only } }
-// { dg-options "-fconcepts" }
-// { dg-additional-options "-fconcepts-diagnostics-depth=2" }
+// { dg-options "-fconcepts -fconcepts-diagnostics-depth=2" }
 
 template <class T, class U>
 concept bool SameAs = __is_same_as(T, U);
diff --git a/gcc/testsuite/g++.dg/cpp1y/new1.C b/gcc/testsuite/g++.dg/cpp1y/new1.C
index 7016951b46fc..aa5f647d535c 100644
--- a/gcc/testsuite/g++.dg/cpp1y/new1.C
+++ b/gcc/testsuite/g++.dg/cpp1y/new1.C
@@ -1,6 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-cddce-details" } */
-// { dg-additional-options "-fdelete-null-pointer-checks" }
+/* { dg-options "-O2 -fdump-tree-cddce-details -fdelete-null-pointer-checks" } */
 
 #include <stdlib.h>
 
diff --git a/gcc/testsuite/g++.dg/cpp1y/new2.C b/gcc/testsuite/g++.dg/cpp1y/new2.C
index 97f4001d5d73..cdcbd7daf2b9 100644
--- a/gcc/testsuite/g++.dg/cpp1y/new2.C
+++ b/gcc/testsuite/g++.dg/cpp1y/new2.C
@@ -1,6 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -std=c++17 -fdump-tree-cddce-details" } */
-/* { dg-additional-options "-fdelete-null-pointer-checks" } */
+/* { dg-options "-O2 -std=c++17 -fdump-tree-cddce-details -fdelete-null-pointer-checks" } */
 
 #include <cstdio>
 #include <cstdlib>
diff --git a/gcc/testsuite/g++.dg/debug/dwarf2/pr61433.C b/gcc/testsuite/g++.dg/debug/dwarf2/pr61433.C
index 12181d0fdb0a..8b25475d25bc 100644
--- a/gcc/testsuite/g++.dg/debug/dwarf2/pr61433.C
+++ b/gcc/testsuite/g++.dg/debug/dwarf2/pr61433.C
@@ -1,7 +1,6 @@
 // PR c++/61433
 // { dg-do compile { target c++11 } }
-// { dg-options "-O -fcompare-debug -fno-inline -fno-ipa-pure-const -fipa-sra" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-O -fcompare-debug -fno-inline -fno-ipa-pure-const -fipa-sra -Wno-return-type" }
 
 template <class T>
 struct A
diff --git a/gcc/testsuite/g++.dg/init/new18.C b/gcc/testsuite/g++.dg/init/new18.C
index 5f07aaa40d03..afe3da9b53e6 100644
--- a/gcc/testsuite/g++.dg/init/new18.C
+++ b/gcc/testsuite/g++.dg/init/new18.C
@@ -1,6 +1,5 @@
 // { dg-do compile }
-// { dg-options "-O2 -fstrict-aliasing" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-O2 -fstrict-aliasing -Wno-return-type" }
 
 // This caused an ICE during placement new.
 
diff --git a/gcc/testsuite/g++.dg/ipa/devirt-19.C b/gcc/testsuite/g++.dg/ipa/devirt-19.C
index f35bc32f85b3..c14b969a26f3 100644
--- a/gcc/testsuite/g++.dg/ipa/devirt-19.C
+++ b/gcc/testsuite/g++.dg/ipa/devirt-19.C
@@ -2,8 +2,7 @@
    Previously we were failing by considering CLOBBER statement to be
    a type change.  */
 /* { dg-do compile } */
-/* { dg-options "-O2 -fdump-ipa-cp -fipa-cp-clone"  } */
-/* { dg-additional-options "-Wno-return-type"  } */
+/* { dg-options "-O2 -fdump-ipa-cp -fipa-cp-clone -Wno-return-type"  } */
 
 struct A {
   void operator==(const A &);
diff --git a/gcc/testsuite/g++.dg/ipa/devirt-52.C b/gcc/testsuite/g++.dg/ipa/devirt-52.C
index 5c736c4037a1..1c6aa3e789ba 100644
--- a/gcc/testsuite/g++.dg/ipa/devirt-52.C
+++ b/gcc/testsuite/g++.dg/ipa/devirt-52.C
@@ -1,7 +1,6 @@
 // PR middle-end/77259
 // { dg-do compile { target c++11 } }
-// { dg-options "-O2" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-O2 -Wno-return-type" }
 
 template <typename, typename = int> class A;
 template <typename, typename> struct A
diff --git a/gcc/testsuite/g++.dg/ipa/pr44372.C b/gcc/testsuite/g++.dg/ipa/pr44372.C
index dbdd865cfb64..539f32ba7a3d 100644
--- a/gcc/testsuite/g++.dg/ipa/pr44372.C
+++ b/gcc/testsuite/g++.dg/ipa/pr44372.C
@@ -1,6 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fipa-cp -fipa-cp-clone" } */
-/* { dg-additional-options "-Wno-return-type" } */
+/* { dg-options "-O -fipa-cp -fipa-cp-clone -Wno-return-type" } */
 
 template < typename > class S3;
 
diff --git a/gcc/testsuite/g++.dg/ipa/pr58371.C b/gcc/testsuite/g++.dg/ipa/pr58371.C
index cfcf677e3d0b..02c14fa6fe66 100644
--- a/gcc/testsuite/g++.dg/ipa/pr58371.C
+++ b/gcc/testsuite/g++.dg/ipa/pr58371.C
@@ -1,6 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2" } */
-/* { dg-additional-options "-Wno-return-type" } */
+/* { dg-options "-O2 -Wno-return-type" } */
 
 
 typedef int size_t;
diff --git a/gcc/testsuite/g++.dg/ipa/pr63587-2.C b/gcc/testsuite/g++.dg/ipa/pr63587-2.C
index 7a9b2454507f..559a94a5438a 100644
--- a/gcc/testsuite/g++.dg/ipa/pr63587-2.C
+++ b/gcc/testsuite/g++.dg/ipa/pr63587-2.C
@@ -1,7 +1,6 @@
 // PR ipa/63587
 // { dg-do compile { target c++11 } }
-// { dg-options "-O2" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-O2 -Wno-return-type" }
 
 namespace boost {
 class basic_cstring
diff --git a/gcc/testsuite/g++.dg/ipa/pr78211.C b/gcc/testsuite/g++.dg/ipa/pr78211.C
index 510fca573de6..ac8c893334e1 100644
--- a/gcc/testsuite/g++.dg/ipa/pr78211.C
+++ b/gcc/testsuite/g++.dg/ipa/pr78211.C
@@ -1,7 +1,6 @@
 // PR lto/78211
 // { dg-do compile { target { lto && c++11 } } }
-// { dg-options "-fcompare-debug -fno-printf-return-value -flto -fno-use-linker-plugin -O3" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-fcompare-debug -fno-printf-return-value -flto -fno-use-linker-plugin -O3 -Wno-return-type" }
 
 namespace std {
   typedef __SIZE_TYPE__ size_t;
diff --git a/gcc/testsuite/g++.dg/opt/dump1.C b/gcc/testsuite/g++.dg/opt/dump1.C
index 38ed055d5c65..75d711100226 100644
--- a/gcc/testsuite/g++.dg/opt/dump1.C
+++ b/gcc/testsuite/g++.dg/opt/dump1.C
@@ -1,8 +1,7 @@
 // PR c++/57102
-// { dg-options "-O2 -fno-inline -fdump-final-insns" }
+// { dg-options "-O2 -fno-inline -fdump-final-insns -Wno-return-type" }
 // { dg-do compile { target c++11 } }
 // { dg-final cleanup-final-insns-dump }
-// { dg-additional-options "-Wno-return-type" }
 
 namespace std
 {
diff --git a/gcc/testsuite/g++.dg/opt/pr44919.C b/gcc/testsuite/g++.dg/opt/pr44919.C
index 1916a2b359d9..b76bb546735c 100644
--- a/gcc/testsuite/g++.dg/opt/pr44919.C
+++ b/gcc/testsuite/g++.dg/opt/pr44919.C
@@ -1,6 +1,5 @@
 // { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } }
-// { dg-options "-O3 -fselective-scheduling2" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-O3 -fselective-scheduling2 -Wno-return-type" }
 
 namespace std {
 
diff --git a/gcc/testsuite/g++.dg/opt/pr47615.C b/gcc/testsuite/g++.dg/opt/pr47615.C
index bc467b0c8834..f502e397fe47 100644
--- a/gcc/testsuite/g++.dg/opt/pr47615.C
+++ b/gcc/testsuite/g++.dg/opt/pr47615.C
@@ -1,6 +1,5 @@
 // { dg-do compile }
-// { dg-options "-O -fstrict-aliasing -ftree-pre -fno-tree-fre -fno-tree-sra" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-O -fstrict-aliasing -ftree-pre -fno-tree-fre -fno-tree-sra -Wno-return-type" }
 
 typedef __SIZE_TYPE__ size_t;
 namespace std 
diff --git a/gcc/testsuite/g++.dg/opt/pr82159-2.C b/gcc/testsuite/g++.dg/opt/pr82159-2.C
index c9797105562e..28a3e80aabd0 100644
--- a/gcc/testsuite/g++.dg/opt/pr82159-2.C
+++ b/gcc/testsuite/g++.dg/opt/pr82159-2.C
@@ -1,7 +1,6 @@
 // PR c++/82159
 // { dg-do compile }
-// { dg-options "" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options " -Wno-return-type" }
 
 template <typename T> struct D { T e; };
 struct F : D<int[0]> {
diff --git a/gcc/testsuite/g++.dg/other/pr52048.C b/gcc/testsuite/g++.dg/other/pr52048.C
index cf388a5a0459..7edd283cbd25 100644
--- a/gcc/testsuite/g++.dg/other/pr52048.C
+++ b/gcc/testsuite/g++.dg/other/pr52048.C
@@ -1,7 +1,6 @@
 // PR debug/52048
 // { dg-do compile }
-// { dg-options "-fcompare-debug -fnon-call-exceptions -fno-tree-dominator-opts -O2" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-fcompare-debug -fnon-call-exceptions -fno-tree-dominator-opts -O2 -Wno-return-type" }
 
 template <typename T> struct A;
 template <typename T>
diff --git a/gcc/testsuite/g++.dg/pr57662.C b/gcc/testsuite/g++.dg/pr57662.C
index 2180914ce465..a23bfc9f2fb9 100644
--- a/gcc/testsuite/g++.dg/pr57662.C
+++ b/gcc/testsuite/g++.dg/pr57662.C
@@ -1,6 +1,5 @@
 /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
-/* { dg-options "-O2 -fselective-scheduling2 -fsel-sched-pipelining" } */
-/* { dg-additional-options "-Wno-return-type" } */
+/* { dg-options "-O2 -fselective-scheduling2 -fsel-sched-pipelining -Wno-return-type" } */
 
 extern "C" {
 	typedef struct _IO_FILE FILE;
diff --git a/gcc/testsuite/g++.dg/pr59510.C b/gcc/testsuite/g++.dg/pr59510.C
index 4ac5becfd26a..14a6af331838 100644
--- a/gcc/testsuite/g++.dg/pr59510.C
+++ b/gcc/testsuite/g++.dg/pr59510.C
@@ -1,7 +1,6 @@
 // PR debug/59510
 // { dg-do compile }
-// { dg-options "-O2 -g --param=large-stack-frame-growth=1" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-O2 -g --param=large-stack-frame-growth=1 -Wno-return-type" }
 
 template <typename _Iterator>
 struct _Iter_base
diff --git a/gcc/testsuite/g++.dg/pr67989.C b/gcc/testsuite/g++.dg/pr67989.C
index 26748997fddd..7967f692b038 100644
--- a/gcc/testsuite/g++.dg/pr67989.C
+++ b/gcc/testsuite/g++.dg/pr67989.C
@@ -1,6 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-std=c++11 -O2" } */
-/* { dg-additional-options "-Wno-return-type" } */
+/* { dg-options "-std=c++11 -O2 -Wno-return-type" } */
 
 __extension__ typedef unsigned long long int uint64_t;
 namespace std __attribute__ ((__visibility__ ("default")))
diff --git a/gcc/testsuite/g++.dg/pr81194.C b/gcc/testsuite/g++.dg/pr81194.C
index 08f6fc0f39f3..b3019170d1ec 100644
--- a/gcc/testsuite/g++.dg/pr81194.C
+++ b/gcc/testsuite/g++.dg/pr81194.C
@@ -1,6 +1,5 @@
 // { dg-do compile { target c++17 } }
-// { dg-options "-O2 -fno-exceptions" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-O2 -fno-exceptions -Wno-return-type" }
 
 template <class a> struct b { typedef a *c; };
 class e {};
diff --git a/gcc/testsuite/g++.dg/template/canon-type-8.C b/gcc/testsuite/g++.dg/template/canon-type-8.C
index b72bd0fb7703..dde7d20f84cf 100644
--- a/gcc/testsuite/g++.dg/template/canon-type-8.C
+++ b/gcc/testsuite/g++.dg/template/canon-type-8.C
@@ -1,8 +1,7 @@
 // PR c++/45984
 // We were getting different canonical types for matching types because
 // TYPE_ALIGN wasn't propagated to all the variants fast enough.
-// { dg-options "" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-Wno-return-type" }
 
 typedef __SIZE_TYPE__ size_t;
 enum { chunk_size = 16 };
diff --git a/gcc/testsuite/g++.dg/template/crash107.C b/gcc/testsuite/g++.dg/template/crash107.C
index 9d8d394d93d7..932a3a680592 100644
--- a/gcc/testsuite/g++.dg/template/crash107.C
+++ b/gcc/testsuite/g++.dg/template/crash107.C
@@ -1,7 +1,6 @@
 // PR c++/44625
 // { dg-do compile }
-// { dg-options "" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-Wno-return-type" }
 
 template<typename FP_> struct Vec { // { dg-message "note" "" { target c++17_down } }
     Vec& operator^=(Vec& rhs)     {
diff --git a/gcc/testsuite/g++.dg/template/show-template-tree-3.C b/gcc/testsuite/g++.dg/template/show-template-tree-3.C
index 7bb93ba4f601..ef3113711aee 100644
--- a/gcc/testsuite/g++.dg/template/show-template-tree-3.C
+++ b/gcc/testsuite/g++.dg/template/show-template-tree-3.C
@@ -8,8 +8,7 @@
    (again, with the "double" and "float" highlighted, though we can't test
    for that in this case).  */
 
-// { dg-options "-fdiagnostics-show-template-tree" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-fdiagnostics-show-template-tree -Wno-return-type" }
 
 #include <map>
 #include <vector>
diff --git a/gcc/testsuite/g++.dg/tm/cgraph_edge.C b/gcc/testsuite/g++.dg/tm/cgraph_edge.C
index b2649e8f521a..1a6138bd449a 100644
--- a/gcc/testsuite/g++.dg/tm/cgraph_edge.C
+++ b/gcc/testsuite/g++.dg/tm/cgraph_edge.C
@@ -1,6 +1,5 @@
 // { dg-do compile }
-// { dg-options "-fgnu-tm -O3" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-fgnu-tm -O3 -Wno-return-type" }
 
 template<typename _InputIterator, typename _Distance>  inline void advance(_InputIterator& __i, _Distance __n)
   {
diff --git a/gcc/testsuite/g++.dg/torture/20141013.C b/gcc/testsuite/g++.dg/torture/20141013.C
index e6c83ffab218..fea70ec7ea54 100644
--- a/gcc/testsuite/g++.dg/torture/20141013.C
+++ b/gcc/testsuite/g++.dg/torture/20141013.C
@@ -1,5 +1,4 @@
-/* { dg-options "-fno-short-enums" } */
-/* { dg-additional-options "-Wno-return-type" } */
+/* { dg-options "-fno-short-enums -Wno-return-type" } */
 enum
 {
   _sch_isdigit = 0x0004,
diff --git a/gcc/testsuite/g++.dg/torture/pr34641.C b/gcc/testsuite/g++.dg/torture/pr34641.C
index 72a98ad8f461..44f2d5c58ee6 100644
--- a/gcc/testsuite/g++.dg/torture/pr34641.C
+++ b/gcc/testsuite/g++.dg/torture/pr34641.C
@@ -1,8 +1,7 @@
 // { dg-do compile }
 // { dg-require-effective-target fpic }
 // { dg-require-visibility "" }
-// { dg-options "-fPIC" }
-/* { dg-additional-options "-Wno-return-type" } */
+// { dg-options "-fPIC -Wno-return-type" }
 
 
 typedef __SIZE_TYPE__ size_t;
diff --git a/gcc/testsuite/g++.dg/torture/pr34850.C b/gcc/testsuite/g++.dg/torture/pr34850.C
index 60a6c6ae57dc..c4d808c5a0d0 100644
--- a/gcc/testsuite/g++.dg/torture/pr34850.C
+++ b/gcc/testsuite/g++.dg/torture/pr34850.C
@@ -1,7 +1,6 @@
 /* { dg-do compile } */
 /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
-/* { dg-options "-ffat-lto-objects" } */
-/* { dg-additional-options "-Wno-return-type" } */
+/* { dg-options "-ffat-lto-objects -Wno-return-type" } */
 
 typedef unsigned char uint8_t;
 typedef unsigned int uint32_t;
diff --git a/gcc/testsuite/g++.dg/torture/pr36745.C b/gcc/testsuite/g++.dg/torture/pr36745.C
index 56fa9d8028da..b1ff2995db92 100644
--- a/gcc/testsuite/g++.dg/torture/pr36745.C
+++ b/gcc/testsuite/g++.dg/torture/pr36745.C
@@ -1,7 +1,6 @@
 /* PR target/36745 */
 /* { dg-do compile } */
-/* { dg-options "-O2 -fPIC" } */
-/* { dg-additional-options "-Wno-return-type" } */
+/* { dg-options "-O2 -fPIC -Wno-return-type" } */
 /* { dg-require-effective-target fpic } */
 
 typedef __SIZE_TYPE__ size_t;
diff --git a/gcc/testsuite/g++.dg/torture/pr40991.C b/gcc/testsuite/g++.dg/torture/pr40991.C
index bce5f7e6893a..f314ebc58211 100644
--- a/gcc/testsuite/g++.dg/torture/pr40991.C
+++ b/gcc/testsuite/g++.dg/torture/pr40991.C
@@ -1,5 +1,4 @@
-/* { dg-options "-std=gnu++0x" } */
-/* { dg-additional-options "-Wno-return-type" } */
+/* { dg-options "-std=gnu++0x -Wno-return-type" } */
 
 typedef __SIZE_TYPE__ size_t;
 namespace std __attribute__ ((__visibility__ ("default"))) {
diff --git a/gcc/testsuite/g++.dg/torture/pr48271.C b/gcc/testsuite/g++.dg/torture/pr48271.C
index 2e3eb5bfd05b..917814eedbc3 100644
--- a/gcc/testsuite/g++.dg/torture/pr48271.C
+++ b/gcc/testsuite/g++.dg/torture/pr48271.C
@@ -1,6 +1,5 @@
 // { dg-do compile }
-// { dg-options "-ftree-vrp -fno-guess-branch-probability -fnon-call-exceptions" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-ftree-vrp -fno-guess-branch-probability -fnon-call-exceptions -Wno-return-type" }
 
 void *xalloc ();
 void xfree (void *);
diff --git a/gcc/testsuite/g++.dg/torture/pr53602.C b/gcc/testsuite/g++.dg/torture/pr53602.C
index 67d9ed848f03..d84a940ccc5d 100644
--- a/gcc/testsuite/g++.dg/torture/pr53602.C
+++ b/gcc/testsuite/g++.dg/torture/pr53602.C
@@ -1,6 +1,5 @@
 // { dg-do compile }
-// { dg-options "-std=c++11" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-std=c++11 -Wno-return-type" }
 
 namespace std
 {
diff --git a/gcc/testsuite/g++.dg/torture/pr53752.C b/gcc/testsuite/g++.dg/torture/pr53752.C
index 61febdeb6b8e..fe0459e38391 100644
--- a/gcc/testsuite/g++.dg/torture/pr53752.C
+++ b/gcc/testsuite/g++.dg/torture/pr53752.C
@@ -1,6 +1,5 @@
 // { dg-do compile }
-// { dg-options "-g" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-g -Wno-return-type" }
 
 typedef unsigned int uint32_t;
 typedef unsigned long int uint64_t;
diff --git a/gcc/testsuite/g++.dg/torture/pr54838.C b/gcc/testsuite/g++.dg/torture/pr54838.C
index c3308210ebe8..63804ba8cbdc 100644
--- a/gcc/testsuite/g++.dg/torture/pr54838.C
+++ b/gcc/testsuite/g++.dg/torture/pr54838.C
@@ -1,6 +1,5 @@
 // { dg-do compile }
-// { dg-options "-ftracer -fno-tree-dce -fno-tree-sra" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-ftracer -fno-tree-dce -fno-tree-sra -Wno-return-type" }
 
 struct bidirectional_iterator_tag
 {};
diff --git a/gcc/testsuite/g++.dg/torture/pr58252.C b/gcc/testsuite/g++.dg/torture/pr58252.C
index db3270d9afb8..0e5529d5b37f 100644
--- a/gcc/testsuite/g++.dg/torture/pr58252.C
+++ b/gcc/testsuite/g++.dg/torture/pr58252.C
@@ -1,6 +1,5 @@
 // { dg-do compile }
-// { dg-options "-fpermissive" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-fpermissive -Wno-return-type" }
 typedef long unsigned int size_t;
        typedef bool _CORBA_Boolean;
          typedef unsigned int _CORBA_ULong;
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr22444.C b/gcc/testsuite/g++.dg/tree-ssa/pr22444.C
index 04bf2009cbef..ca081ca1af87 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr22444.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr22444.C
@@ -3,8 +3,7 @@
 // to the addressable vars list, because this may cause false aliasing
 // with the subvars leading to the subvars not being renamed when they should
 // { dg-do compile }
-// { dg-options "-O2" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-O2 -Wno-return-type" }
 __extension__ typedef __PTRDIFF_TYPE__ ptrdiff_t;
 __extension__ typedef __SIZE_TYPE__ size_t;
 namespace std
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr24351-3.C b/gcc/testsuite/g++.dg/tree-ssa/pr24351-3.C
index f3aaee852869..af8576f7584a 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr24351-3.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr24351-3.C
@@ -1,6 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2" } */
-// { dg-additional-options "-Wno-return-type" }
+/* { dg-options "-O2 -Wno-return-type" } */
 namespace sigc {
     template <class T_type>     struct type_trait     {
     	typedef T_type& pass;
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr27283.C b/gcc/testsuite/g++.dg/tree-ssa/pr27283.C
index 1623d289a204..78b77f05adf7 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr27283.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr27283.C
@@ -1,6 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2" } */
-/* { dg-additional-options "-Wno-return-type" } */
+/* { dg-options "-O2 -Wno-return-type" } */
 
 namespace Gambit
 {
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr27291.C b/gcc/testsuite/g++.dg/tree-ssa/pr27291.C
index 24f440dde063..c5407c5bff69 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr27291.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr27291.C
@@ -1,6 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2" } */
-/* { dg-additional-options "-Wno-return-type" } */
+/* { dg-options "-O2 -Wno-return-type" } */
 
 namespace std
 {
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr27548.C b/gcc/testsuite/g++.dg/tree-ssa/pr27548.C
index cbe7929aefea..c5a6fe184d63 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr27548.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr27548.C
@@ -1,7 +1,6 @@
 // PR tree-optimization/27548
 // { dg-do compile }
-// { dg-options "-O1" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-O1 -Wno-return-type" }
 
 namespace Gambit
 {
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr42337.C b/gcc/testsuite/g++.dg/tree-ssa/pr42337.C
index 61beb7370189..a05ba4f8d751 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr42337.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr42337.C
@@ -1,7 +1,6 @@
 // PR tree-optimize/42337
 // { dg-do compile }
-// { dg-options "-O2" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-O2 -Wno-return-type" }
 
 template<class _T1, class _T2> struct pair {
   _T2 second;
diff --git a/gcc/testsuite/g++.dg/ubsan/pr65583.C b/gcc/testsuite/g++.dg/ubsan/pr65583.C
index 02acb361a227..1aae6f4a1064 100644
--- a/gcc/testsuite/g++.dg/ubsan/pr65583.C
+++ b/gcc/testsuite/g++.dg/ubsan/pr65583.C
@@ -1,7 +1,6 @@
 // PR sanitizer/65583
 // { dg-do compile }
-// { dg-options "-std=c++11 -fsanitize=undefined" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-std=c++11 -fsanitize=undefined -Wno-return-type" }
 
 namespace std
 {
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb27.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb27.C
index 2fe151cea7dd..0df2e10ae793 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb27.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb27.C
@@ -1,6 +1,5 @@
 // { dg-do assemble  }
-// { dg-options "-Wno-deprecated" }
-// { dg-additional-options "-Wno-return-type" }
+// { dg-options "-Wno-deprecated -Wno-return-type" }
 /* bug.cc */
 /* simple program to demonstrate the bug with named return values in gcc
 */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/dse-points-to.c b/gcc/testsuite/gcc.dg/tree-ssa/dse-points-to.c
index 8003556474d0..762d67201433 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/dse-points-to.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/dse-points-to.c
@@ -1,6 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre -fno-tree-vrp" } */
-/* { dg-additional-options "-fdump-tree-dse1-details" } */
+/* { dg-options "-O2 -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre -fno-tree-vrp -fdump-tree-dse1-details" } */
 
 int
 f ()
diff --git a/gcc/testsuite/gcc.target/arm/simd/vmmla_1.c b/gcc/testsuite/gcc.target/arm/simd/vmmla_1.c
index b766a9141cee..fa512d905e2d 100644
--- a/gcc/testsuite/gcc.target/arm/simd/vmmla_1.c
+++ b/gcc/testsuite/gcc.target/arm/simd/vmmla_1.c
@@ -1,7 +1,6 @@
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_v8_2a_i8mm_ok } */
-/* { dg-options "-save-temps -O2" } */
-/* { dg-additional-options "-march=armv8.2-a+i8mm" } */
+/* { dg-options "-save-temps -O2 -march=armv8.2-a+i8mm" } */
 
 #include "arm_neon.h"
 
diff --git a/gcc/testsuite/gcc.target/i386/vect-pr67800.c b/gcc/testsuite/gcc.target/i386/vect-pr67800.c
index 324510858ff1..8bd308c83f69 100644
--- a/gcc/testsuite/gcc.target/i386/vect-pr67800.c
+++ b/gcc/testsuite/gcc.target/i386/vect-pr67800.c
@@ -1,6 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-details" } */
-/* { dg-additional-options "-msse4.2" } */
+/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-details -msse4.2" } */
 
 #define ubyte unsigned char
 #define byte char
diff --git a/gcc/testsuite/gcc.target/mips/cfgcleanup-jalr2.c b/gcc/testsuite/gcc.target/mips/cfgcleanup-jalr2.c
index 9fd75c98773a..bf22f0642888 100644
--- a/gcc/testsuite/gcc.target/mips/cfgcleanup-jalr2.c
+++ b/gcc/testsuite/gcc.target/mips/cfgcleanup-jalr2.c
@@ -1,6 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-mabicalls -fpic -mno-mips16 -mno-micromips" } */
-/* { dg-additional-options "-fno-inline -fipa-ra -mcompact-branches=never" } */
+/* { dg-options "-mabicalls -fpic -mno-mips16 -mno-micromips -fno-inline -fipa-ra -mcompact-branches=never" } */
 /* { dg-skip-if "needs codesize optimization" { *-*-* } { "-O0" "-O1" "-O2" "-O3" } { "" } } */
 
 static int foo (void* p) { __asm__ (""::"r"(p):"$t0"); return 0; }
diff --git a/gcc/testsuite/gcc.target/mips/cfgcleanup-jalr3.c b/gcc/testsuite/gcc.target/mips/cfgcleanup-jalr3.c
index 580c6ec069dc..805b31af9f08 100644
--- a/gcc/testsuite/gcc.target/mips/cfgcleanup-jalr3.c
+++ b/gcc/testsuite/gcc.target/mips/cfgcleanup-jalr3.c
@@ -1,6 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-mabicalls -fpic -mno-mips16 -mno-micromips" } */
-/* { dg-additional-options "-fno-inline -fipa-ra -mcompact-branches=never" } */
+/* { dg-options "-mabicalls -fpic -mno-mips16 -mno-micromips -fno-inline -fipa-ra -mcompact-branches=never" } */
 /* { dg-skip-if "needs codesize optimization" { *-*-* } { "-O0" "-O1" "-O2" "-O3" } { "" } } */
 
 static int foo (void* p) { return 0; }