summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp0x
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg/cpp0x')
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/Wunused-variable-1.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/access01.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/alignas3.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/auto2.C5
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-array17.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-defarg2.C6
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-memfn1.C4
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/dc1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/dc3.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/decltype12.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/decltype17.C3
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/decltype3.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/decltype41.C8
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/defaulted28.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/enum_base3.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/gen-attrs-4.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/initlist96.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-58566.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv10.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv12.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-defarg3.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice3.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice5.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nested2.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template12.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template2.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this12.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nolinkage1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nolinkage1a.cc2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nsdmi-template5.C6
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/parse1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/pr34054.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/pr47416.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/pr58781.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/pr70538.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/pr81325.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/range-for13.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/range-for14.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/rv2n.C8
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/rv3n.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/static_assert10.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/static_assert11.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/static_assert12.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/static_assert13.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/trailing1.C4
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/trailing5.C4
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/variadic114.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/variadic57.C4
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/variadic65.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/variadic66.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/variadic97.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/variadic98.C2
52 files changed, 81 insertions, 42 deletions
diff --git a/gcc/testsuite/g++.dg/cpp0x/Wunused-variable-1.C b/gcc/testsuite/g++.dg/cpp0x/Wunused-variable-1.C
index 39592b26a58..dd316d1ace5 100644
--- a/gcc/testsuite/g++.dg/cpp0x/Wunused-variable-1.C
+++ b/gcc/testsuite/g++.dg/cpp0x/Wunused-variable-1.C
@@ -15,6 +15,7 @@ int
foo ()
{
C {} (1, 1L, 1LL, 1.0);
+ return 0;
}
template<int N>
diff --git a/gcc/testsuite/g++.dg/cpp0x/access01.C b/gcc/testsuite/g++.dg/cpp0x/access01.C
index 55c951f97d6..3a7cee4156a 100644
--- a/gcc/testsuite/g++.dg/cpp0x/access01.C
+++ b/gcc/testsuite/g++.dg/cpp0x/access01.C
@@ -6,7 +6,7 @@ class A
{
T p;
public:
- template <class U> auto f() -> decltype(+p) { }
+ template <class U> auto f() -> decltype(+p) { return p; }
};
int main()
diff --git a/gcc/testsuite/g++.dg/cpp0x/alignas3.C b/gcc/testsuite/g++.dg/cpp0x/alignas3.C
index aa62e5afb2d..af3f171bb3f 100644
--- a/gcc/testsuite/g++.dg/cpp0x/alignas3.C
+++ b/gcc/testsuite/g++.dg/cpp0x/alignas3.C
@@ -16,5 +16,5 @@ template <class, class Y> typename F<Y>::ret_type cast(Y &);
class CompoundStmt;
class alignas(8) Stmt {
Stmt *Children[1];
- CompoundStmt *getBlock() const { cast<CompoundStmt>(Children[0]); }
+ CompoundStmt *getBlock() const { cast<CompoundStmt>(Children[0]); return 0; }
};
diff --git a/gcc/testsuite/g++.dg/cpp0x/auto2.C b/gcc/testsuite/g++.dg/cpp0x/auto2.C
index cff36d212af..e967b9423a5 100644
--- a/gcc/testsuite/g++.dg/cpp0x/auto2.C
+++ b/gcc/testsuite/g++.dg/cpp0x/auto2.C
@@ -4,12 +4,12 @@
#include <typeinfo>
extern "C" void abort();
-int f() {}
+int f() { return 0; }
struct A
{
int i;
- int f() {}
+ int f() { return 0; }
A operator+(A a) { return a; }
};
@@ -70,4 +70,5 @@ int main()
}
auto j = 42, k = 24;
+ return 0;
}
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-array17.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-array17.C
index c6afa507f02..f722b25ec3d 100644
--- a/gcc/testsuite/g++.dg/cpp0x/constexpr-array17.C
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-array17.C
@@ -18,6 +18,7 @@ struct D {
template <typename _ForwardIterator, typename _Size>
static _ForwardIterator __uninit_default_n(_ForwardIterator p1, _Size) {
_Construct(p1);
+ return _ForwardIterator();
}
};
template <typename _ForwardIterator, typename _Size>
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-defarg2.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-defarg2.C
index f1ca05fe9ec..515576e1f62 100644
--- a/gcc/testsuite/g++.dg/cpp0x/constexpr-defarg2.C
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-defarg2.C
@@ -25,6 +25,9 @@ struct A : D
A baz (const char *, A = C ());
+C c;
+A a (c);
+
A
B::foo ()
{
@@ -35,10 +38,13 @@ B::foo ()
catch (...)
{
}
+
+ return a;
}
A
B::bar ()
{
baz ("bar");
+ return a;
}
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-memfn1.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-memfn1.C
index d59f465715d..d58e2ec6b15 100644
--- a/gcc/testsuite/g++.dg/cpp0x/constexpr-memfn1.C
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-memfn1.C
@@ -13,6 +13,6 @@ constexpr X X::g(X x) { return x; }
struct Y
{
Y() { }
- constexpr Y f(Y y) {} // { dg-error "constexpr" }
- static constexpr Y g(Y y) {} // { dg-error "constexpr" }
+ constexpr Y f(Y y) { return y; } // { dg-error "constexpr" }
+ static constexpr Y g(Y y) { return y; } // { dg-error "constexpr" }
};
diff --git a/gcc/testsuite/g++.dg/cpp0x/dc1.C b/gcc/testsuite/g++.dg/cpp0x/dc1.C
index e7ccb64a3b3..5ce50764b5f 100644
--- a/gcc/testsuite/g++.dg/cpp0x/dc1.C
+++ b/gcc/testsuite/g++.dg/cpp0x/dc1.C
@@ -27,7 +27,7 @@ struct D : public C {
D (int _i) : C(), i(_i) { }
D () : D(-1) { }
virtual ~D() { }
- virtual int f () { }
+ virtual int f () { return 0; }
};
void f_D () { C* c = new D(); }
diff --git a/gcc/testsuite/g++.dg/cpp0x/dc3.C b/gcc/testsuite/g++.dg/cpp0x/dc3.C
index 9c6fd56564c..9c1fd53e4fe 100644
--- a/gcc/testsuite/g++.dg/cpp0x/dc3.C
+++ b/gcc/testsuite/g++.dg/cpp0x/dc3.C
@@ -43,7 +43,7 @@ struct D<X> : public C {
D (int _i) : C(), i(_i) { }
D () : D(-1) { }
virtual ~D() { }
- virtual int f () { }
+ virtual int f () { return 0; }
};
void f_D () { D<X>* d = new D<X>(); }
diff --git a/gcc/testsuite/g++.dg/cpp0x/decltype12.C b/gcc/testsuite/g++.dg/cpp0x/decltype12.C
index eae318db2df..58fd415eea5 100644
--- a/gcc/testsuite/g++.dg/cpp0x/decltype12.C
+++ b/gcc/testsuite/g++.dg/cpp0x/decltype12.C
@@ -1,4 +1,6 @@
// { dg-do compile { target c++11 } }
+// { dg-additional-options "-Wno-return-type" }
+
template<typename T, typename U>
struct is_same
{
diff --git a/gcc/testsuite/g++.dg/cpp0x/decltype17.C b/gcc/testsuite/g++.dg/cpp0x/decltype17.C
index 6e5854db6c9..47b70ecd89c 100644
--- a/gcc/testsuite/g++.dg/cpp0x/decltype17.C
+++ b/gcc/testsuite/g++.dg/cpp0x/decltype17.C
@@ -1,5 +1,6 @@
// PR c++/36628
// { dg-do run { target c++11 } }
+// { dg-additional-options "-Wno-return-type" }
#include <typeinfo>
#include <string.h>
@@ -25,4 +26,6 @@ int main()
return 2;
if (strcmp (typeid(h).name(), "FOivE") != 0)
return 3;
+
+ return 0;
}
diff --git a/gcc/testsuite/g++.dg/cpp0x/decltype3.C b/gcc/testsuite/g++.dg/cpp0x/decltype3.C
index b2e66243cc7..b921dd6d899 100644
--- a/gcc/testsuite/g++.dg/cpp0x/decltype3.C
+++ b/gcc/testsuite/g++.dg/cpp0x/decltype3.C
@@ -49,7 +49,7 @@ public:
int a;
enum B_enum { b };
decltype(a) c;
- decltype(a) foo() { }
+ decltype(a) foo() { return 0; }
decltype(b) enums_are_in_scope() { return b; } // ok
};
diff --git a/gcc/testsuite/g++.dg/cpp0x/decltype41.C b/gcc/testsuite/g++.dg/cpp0x/decltype41.C
index 1439e15c0d4..65f75b1e4fa 100644
--- a/gcc/testsuite/g++.dg/cpp0x/decltype41.C
+++ b/gcc/testsuite/g++.dg/cpp0x/decltype41.C
@@ -23,15 +23,15 @@ class B
template <class T>
struct C
{
- template <class U> decltype (a.i) f() { } // #1
- template <class U> decltype (b.i) f() { } // #2
+ template <class U> decltype (a.i) f() { return 0; } // #1
+ template <class U> decltype (b.i) f() { return 1; } // #2
};
template <class T>
struct D
{
- template <class U> decltype (A::j) f() { } // #1
- template <class U> decltype (B::j) f() { } // #2
+ template <class U> decltype (A::j) f() { return 2; } // #1
+ template <class U> decltype (B::j) f() { return 3; } // #2
};
int main()
diff --git a/gcc/testsuite/g++.dg/cpp0x/defaulted28.C b/gcc/testsuite/g++.dg/cpp0x/defaulted28.C
index 451a1b4198f..0e04dbfb8d7 100644
--- a/gcc/testsuite/g++.dg/cpp0x/defaulted28.C
+++ b/gcc/testsuite/g++.dg/cpp0x/defaulted28.C
@@ -9,7 +9,7 @@ private:
A(A const&) = default; // { dg-message "private" }
};
-int f(...) { }
+int f(...) { return 0; }
int main() {
A a;
f(a); // { dg-error "this context" }
diff --git a/gcc/testsuite/g++.dg/cpp0x/enum_base3.C b/gcc/testsuite/g++.dg/cpp0x/enum_base3.C
index 3cb2d6d8186..5f7e83e1419 100644
--- a/gcc/testsuite/g++.dg/cpp0x/enum_base3.C
+++ b/gcc/testsuite/g++.dg/cpp0x/enum_base3.C
@@ -17,7 +17,7 @@ struct C
};
struct D : C
{
- B foo () const { B a; a.foo (d); }
+ B foo () const { B a; a.foo (d); return B(); }
H d;
};
struct F : C
diff --git a/gcc/testsuite/g++.dg/cpp0x/gen-attrs-4.C b/gcc/testsuite/g++.dg/cpp0x/gen-attrs-4.C
index eb585a89be4..023d8396777 100644
--- a/gcc/testsuite/g++.dg/cpp0x/gen-attrs-4.C
+++ b/gcc/testsuite/g++.dg/cpp0x/gen-attrs-4.C
@@ -22,7 +22,7 @@ void two [[gnu::unused]] (void) {}
int
five(void)
[[noreturn]] // { dg-warning "ignored" }
-{}
+{ return 0; }
[[noreturn]]
void
diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist96.C b/gcc/testsuite/g++.dg/cpp0x/initlist96.C
index 45fd128ba83..94e9c0eb148 100644
--- a/gcc/testsuite/g++.dg/cpp0x/initlist96.C
+++ b/gcc/testsuite/g++.dg/cpp0x/initlist96.C
@@ -1,5 +1,6 @@
// PR c++/66515
// { dg-do compile { target c++11 } }
+// { dg-additional-options "-Wno-return-type" }
#include <initializer_list>
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-58566.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-58566.C
index 3101d0a895c..7bcfe3ae70b 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-58566.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-58566.C
@@ -6,5 +6,6 @@ struct A
int foo()
{
[this]{ return foo; }; // { dg-error "invalid use of member function|cannot convert" }
+ return 0;
}
};
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv10.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv10.C
index 8e806c849ae..c2a60900b35 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv10.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv10.C
@@ -1,5 +1,6 @@
// PR c++/69889
// { dg-do compile { target c++11 } }
+// { dg-additional-options "-Wno-return-type" }
template <typename F> struct Tag {
static void fp() { f()(0); }
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv12.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv12.C
index 16adee6b9c3..e1bd38a7bf7 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv12.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv12.C
@@ -1,5 +1,6 @@
// PR c++/80767
// { dg-do compile { target c++11 } }
+// { dg-additional-options "-Wno-return-type" }
template <typename T, typename U = T> struct A { using type = U; };
template <typename F, typename... G> struct B : B<F>::type, B<G...>::type {
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-defarg3.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-defarg3.C
index 1c593930133..27aac578c07 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-defarg3.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-defarg3.C
@@ -10,7 +10,7 @@ struct function
template<typename T> struct C
{
- static T test(function f = [](int i){return i;}) { }
+ static T test(function f = [](int i){return i;}) { return T(); }
};
int main()
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice3.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice3.C
index fa8a6e63a93..371d03f941f 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice3.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice3.C
@@ -14,6 +14,8 @@ bool Klass::dostuff()
if (local & 1) { return true; } // { dg-error "not captured|non-static" }
return false;
};
+
+ return true;
}
int main()
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice5.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice5.C
index 914e0f71e00..50a340dbb22 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice5.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice5.C
@@ -4,6 +4,7 @@
template<int> int foo()
{
[] (void i) { return 0; } (0); // { dg-error "incomplete|invalid|no match" }
+ return 0;
}
void bar()
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nested2.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nested2.C
index 9e509513ad9..27954f9408c 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nested2.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nested2.C
@@ -13,7 +13,7 @@ void f1(int i) {
};
struct s1 {
int f;
- int work(int n) {
+ void work(int n) {
int m = n*n;
int j = 40;
auto m3 = [this,m]{
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template12.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template12.C
index 635af97d763..5dfd6ede19c 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template12.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template12.C
@@ -14,6 +14,7 @@ class X
[&a]{
typename remove_reference < decltype (a) >::type t;
};
+ return true;
}
};
template class X< int >;
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template2.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template2.C
index 29f63afe0df..8fbb821a4d3 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template2.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template2.C
@@ -10,7 +10,7 @@ struct T
foo (S<N> *p)
{
S<N> u;
- [&u] ()->bool {} ();
+ [&u] ()->bool { return true; } ();
}
};
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this12.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this12.C
index ef573b19e02..41e4edd8a0f 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this12.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this12.C
@@ -3,7 +3,7 @@
struct A
{
- int f() {}
+ int f() { return 0; }
int i;
void foo()
diff --git a/gcc/testsuite/g++.dg/cpp0x/nolinkage1.C b/gcc/testsuite/g++.dg/cpp0x/nolinkage1.C
index d38028c4b43..474727c135c 100644
--- a/gcc/testsuite/g++.dg/cpp0x/nolinkage1.C
+++ b/gcc/testsuite/g++.dg/cpp0x/nolinkage1.C
@@ -18,4 +18,4 @@ static void g()
A<B> a;
}
-int main() { g(); f(0); }
+int main() { g(); f(0); return 0; }
diff --git a/gcc/testsuite/g++.dg/cpp0x/nolinkage1a.cc b/gcc/testsuite/g++.dg/cpp0x/nolinkage1a.cc
index f8528f3e650..6672323fdd4 100644
--- a/gcc/testsuite/g++.dg/cpp0x/nolinkage1a.cc
+++ b/gcc/testsuite/g++.dg/cpp0x/nolinkage1a.cc
@@ -12,4 +12,4 @@ static void g()
A<B> a;
}
-int dummy() { g(); f(0); }
+int dummy() { g(); f(0); return 0; }
diff --git a/gcc/testsuite/g++.dg/cpp0x/nsdmi-template5.C b/gcc/testsuite/g++.dg/cpp0x/nsdmi-template5.C
index fdaf4611ee2..5f23d463003 100644
--- a/gcc/testsuite/g++.dg/cpp0x/nsdmi-template5.C
+++ b/gcc/testsuite/g++.dg/cpp0x/nsdmi-template5.C
@@ -7,7 +7,7 @@ template<> struct A1<0>
{
template<typename, typename...> struct B1
{
- template<typename> int foo1() {}
+ template<typename> int foo1() { return 0; }
int i1 = foo1<int>();
};
@@ -19,7 +19,7 @@ template<> struct A2<0>
{
template<typename, typename> struct B2
{
- template<typename> int foo2() {}
+ template<typename> int foo2() { return 1; }
int i2 = foo2<int>();
};
@@ -31,7 +31,7 @@ template<> struct A3<0>
{
template<typename> struct B3
{
- template<typename> int foo3() {}
+ template<typename> int foo3() { return 2; }
int i3 = foo3<int>();
};
diff --git a/gcc/testsuite/g++.dg/cpp0x/parse1.C b/gcc/testsuite/g++.dg/cpp0x/parse1.C
index 5a11b7337a4..9a2698435b6 100644
--- a/gcc/testsuite/g++.dg/cpp0x/parse1.C
+++ b/gcc/testsuite/g++.dg/cpp0x/parse1.C
@@ -2,4 +2,4 @@
// { dg-do compile { target c++11 } }
typedef int B; // { dg-message "" }
-B::B() {} // { dg-error "" }
+B::B() { return 0; } // { dg-error "" }
diff --git a/gcc/testsuite/g++.dg/cpp0x/pr34054.C b/gcc/testsuite/g++.dg/cpp0x/pr34054.C
index 8043f9660ed..7a8b3249701 100644
--- a/gcc/testsuite/g++.dg/cpp0x/pr34054.C
+++ b/gcc/testsuite/g++.dg/cpp0x/pr34054.C
@@ -1,4 +1,4 @@
// PR c++/34054
// { dg-do compile { target c++11 } }
-template<typename... T> T foo() {} // { dg-error "not expanded|T" }
+template<typename... T> T foo() { return T(); } // { dg-error "not expanded|T" }
diff --git a/gcc/testsuite/g++.dg/cpp0x/pr47416.C b/gcc/testsuite/g++.dg/cpp0x/pr47416.C
index e4eb317e771..cbe2ed09ff8 100644
--- a/gcc/testsuite/g++.dg/cpp0x/pr47416.C
+++ b/gcc/testsuite/g++.dg/cpp0x/pr47416.C
@@ -1,5 +1,6 @@
// PR c++/47416
// { dg-do compile { target c++11 } }
+// { dg-additional-options "-Wno-return-type" }
namespace std
{
diff --git a/gcc/testsuite/g++.dg/cpp0x/pr58781.C b/gcc/testsuite/g++.dg/cpp0x/pr58781.C
index 58c972f90f3..069fcd5f6dc 100644
--- a/gcc/testsuite/g++.dg/cpp0x/pr58781.C
+++ b/gcc/testsuite/g++.dg/cpp0x/pr58781.C
@@ -9,7 +9,7 @@ operator""_s(const char32_t *a, size_t b)
return 0;
}
-int
+void
f()
{
using a = decltype(U"\x1181"_s);
diff --git a/gcc/testsuite/g++.dg/cpp0x/pr70538.C b/gcc/testsuite/g++.dg/cpp0x/pr70538.C
index 0347c856c55..05665d6b935 100644
--- a/gcc/testsuite/g++.dg/cpp0x/pr70538.C
+++ b/gcc/testsuite/g++.dg/cpp0x/pr70538.C
@@ -11,5 +11,5 @@ class B {
template <typename> class C : B {
using base_type = B;
base_type::base_type; // { dg-warning "access declarations" }
- PathComponentPiece m_fn1() {}
+ PathComponentPiece m_fn1() { return PathComponentPiece(); }
};
diff --git a/gcc/testsuite/g++.dg/cpp0x/pr81325.C b/gcc/testsuite/g++.dg/cpp0x/pr81325.C
index 11f0900caa2..47f32134477 100644
--- a/gcc/testsuite/g++.dg/cpp0x/pr81325.C
+++ b/gcc/testsuite/g++.dg/cpp0x/pr81325.C
@@ -35,7 +35,7 @@ struct I {
};
template <typename ResultT, typename ArgT> struct J {
void operator()();
- ResultT operator()(ArgT) {}
+ ResultT operator()(ArgT) { return ResultT(); }
};
struct K {
int AllowBind;
diff --git a/gcc/testsuite/g++.dg/cpp0x/range-for13.C b/gcc/testsuite/g++.dg/cpp0x/range-for13.C
index 100f531f760..9ed0458adcc 100644
--- a/gcc/testsuite/g++.dg/cpp0x/range-for13.C
+++ b/gcc/testsuite/g++.dg/cpp0x/range-for13.C
@@ -7,10 +7,12 @@
template<typename T> int *begin(T &t)
{
T::fail;
+ return 0;
}
template<typename T> int *end(T &t)
{
T::fail;
+ return 0;
}
struct container1
diff --git a/gcc/testsuite/g++.dg/cpp0x/range-for14.C b/gcc/testsuite/g++.dg/cpp0x/range-for14.C
index f43e1abcde7..4e0333cf927 100644
--- a/gcc/testsuite/g++.dg/cpp0x/range-for14.C
+++ b/gcc/testsuite/g++.dg/cpp0x/range-for14.C
@@ -7,10 +7,12 @@
template<typename T> int *begin(T &t)
{
T::fail;
+ return 0;
}
template<typename T> int *end(T &t)
{
T::fail;
+ return 0;
}
//Test for defaults
diff --git a/gcc/testsuite/g++.dg/cpp0x/rv2n.C b/gcc/testsuite/g++.dg/cpp0x/rv2n.C
index 663a66b6d90..65eda80fba0 100644
--- a/gcc/testsuite/g++.dg/cpp0x/rv2n.C
+++ b/gcc/testsuite/g++.dg/cpp0x/rv2n.C
@@ -144,6 +144,7 @@ int test2_18()
sink_2_18(ca); // { dg-error "" }
sink_2_18(va); // { dg-error "" }
sink_2_18(cva); // { dg-error "" }
+ return 0;
}
two sink_2_23(const A&);
@@ -250,6 +251,7 @@ int test2_28()
const volatile A cva = a; // { dg-error "deleted" }
sink_2_28(va); // { dg-error "" }
sink_2_28(cva); // { dg-error "" }
+ return 0;
}
three sink_2_35(volatile A&);
@@ -304,7 +306,7 @@ int test2_37()
three sink_2_38(volatile A&);
eight sink_2_38(const volatile A&&);
-int test2_38()
+void test2_38()
{
A a;
const A ca = a; // { dg-error "deleted" }
@@ -396,7 +398,7 @@ int test2_57()
five sink_2_58( A&&);
eight sink_2_58(const volatile A&&);
-int test2_58()
+void test2_58()
{
A a;
const A ca = a; // { dg-error "deleted" }
@@ -439,6 +441,7 @@ int test2_68()
sink_2_68(ca); // { dg-error "" }
sink_2_68(va); // { dg-error "" }
sink_2_68(cva); // { dg-error "" }
+ return 0;
}
seven sink_2_78(volatile A&&);
@@ -454,6 +457,7 @@ int test2_78()
sink_2_78(ca); // { dg-error "" }
sink_2_78(va); // { dg-error "" }
sink_2_78(cva); // { dg-error "" }
+ return 0;
}
int main()
diff --git a/gcc/testsuite/g++.dg/cpp0x/rv3n.C b/gcc/testsuite/g++.dg/cpp0x/rv3n.C
index b7c1d7a2343..4549438f8ef 100644
--- a/gcc/testsuite/g++.dg/cpp0x/rv3n.C
+++ b/gcc/testsuite/g++.dg/cpp0x/rv3n.C
@@ -124,6 +124,7 @@ int test3_128()
sink_3_128(va); // { dg-error "" }
sink_3_128(cva); // { dg-error "" }
+ return 0;
}
one sink_3_134( A&);
diff --git a/gcc/testsuite/g++.dg/cpp0x/static_assert10.C b/gcc/testsuite/g++.dg/cpp0x/static_assert10.C
index e7f728e3f4f..ffbf3c047eb 100644
--- a/gcc/testsuite/g++.dg/cpp0x/static_assert10.C
+++ b/gcc/testsuite/g++.dg/cpp0x/static_assert10.C
@@ -5,4 +5,5 @@ template<typename T> bool foo(T)
{
int i;
static_assert(foo(i), "Error"); // { dg-error "non-constant condition|not usable|non-constexpr" }
+ return true;
}
diff --git a/gcc/testsuite/g++.dg/cpp0x/static_assert11.C b/gcc/testsuite/g++.dg/cpp0x/static_assert11.C
index 8a7362d5f56..36bf458e25f 100644
--- a/gcc/testsuite/g++.dg/cpp0x/static_assert11.C
+++ b/gcc/testsuite/g++.dg/cpp0x/static_assert11.C
@@ -6,5 +6,6 @@ struct A
template<typename T> bool foo(T)
{
static_assert(foo(0), "Error"); // { dg-error "non-constant condition|constant expression" }
+ return true;
}
};
diff --git a/gcc/testsuite/g++.dg/cpp0x/static_assert12.C b/gcc/testsuite/g++.dg/cpp0x/static_assert12.C
index ff6f40d918f..5d59e540910 100644
--- a/gcc/testsuite/g++.dg/cpp0x/static_assert12.C
+++ b/gcc/testsuite/g++.dg/cpp0x/static_assert12.C
@@ -14,7 +14,7 @@ template<>
};
template<typename T>
- T
+ void
float_thing(T __x)
{
static_assert(is_float<T>::value, ""); // { dg-error "static assertion failed" }
diff --git a/gcc/testsuite/g++.dg/cpp0x/static_assert13.C b/gcc/testsuite/g++.dg/cpp0x/static_assert13.C
index 86b0b0360d9..7332ff91882 100644
--- a/gcc/testsuite/g++.dg/cpp0x/static_assert13.C
+++ b/gcc/testsuite/g++.dg/cpp0x/static_assert13.C
@@ -14,7 +14,7 @@ template<>
};
template<typename T>
- T
+ void
float_thing(T __x)
{
static_assert(is_float<T>::value, ""); // { dg-error "static assertion failed" }
diff --git a/gcc/testsuite/g++.dg/cpp0x/trailing1.C b/gcc/testsuite/g++.dg/cpp0x/trailing1.C
index 7d9a906d4f3..ecf092bda0d 100644
--- a/gcc/testsuite/g++.dg/cpp0x/trailing1.C
+++ b/gcc/testsuite/g++.dg/cpp0x/trailing1.C
@@ -40,9 +40,9 @@ decltype(*(T*)0+*(U*)0) add4(T t, U u)
template <class T>
struct A
{
- T f() {}
+ T f() { return T(); }
template <class U>
- T g() {}
+ T g() { return T(); }
template <class V>
struct B
{
diff --git a/gcc/testsuite/g++.dg/cpp0x/trailing5.C b/gcc/testsuite/g++.dg/cpp0x/trailing5.C
index 48f31452e5b..32390d60897 100644
--- a/gcc/testsuite/g++.dg/cpp0x/trailing5.C
+++ b/gcc/testsuite/g++.dg/cpp0x/trailing5.C
@@ -2,9 +2,9 @@
// { dg-do compile { target c++11 } }
struct A {};
-auto foo() -> struct A {}
+auto foo() -> struct A { return A(); }
enum B {};
-auto bar() -> enum B {}
+auto bar() -> enum B { return B(); }
auto baz() -> struct C {} {} // { dg-error "" }
diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic114.C b/gcc/testsuite/g++.dg/cpp0x/variadic114.C
index 82ffe83c7c5..183cb2b5631 100644
--- a/gcc/testsuite/g++.dg/cpp0x/variadic114.C
+++ b/gcc/testsuite/g++.dg/cpp0x/variadic114.C
@@ -1,5 +1,6 @@
// PR c++/49785
// { dg-do compile { target c++11 } }
+// { dg-additional-options "-Wno-return-type" }
template <typename, typename ...> struct B { };
template <typename> class A;
diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic57.C b/gcc/testsuite/g++.dg/cpp0x/variadic57.C
index a3d2bf1c5df..4bf014b54da 100644
--- a/gcc/testsuite/g++.dg/cpp0x/variadic57.C
+++ b/gcc/testsuite/g++.dg/cpp0x/variadic57.C
@@ -10,7 +10,7 @@ struct array<T, 0> {
};
template<typename T, int... Dims>
-int array<T, Dims...>::foo() { }
+int array<T, Dims...>::foo() { return 0; }
template<typename T>
-int array<T, 0>::bar() { }
+int array<T, 0>::bar() { return 0; }
diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic65.C b/gcc/testsuite/g++.dg/cpp0x/variadic65.C
index 0eef2a5ed25..9223235174f 100644
--- a/gcc/testsuite/g++.dg/cpp0x/variadic65.C
+++ b/gcc/testsuite/g++.dg/cpp0x/variadic65.C
@@ -1,4 +1,6 @@
// { dg-do compile { target c++11 } }
+// { dg-additional-options "-Wno-return-type" }
+
struct unused;
template<typename T1 = unused, typename T2 = unused, typename T3 = unused,
typename T4 = unused, typename T5 = unused, typename T6 = unused>
diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic66.C b/gcc/testsuite/g++.dg/cpp0x/variadic66.C
index ac922215198..bf86deee8fd 100644
--- a/gcc/testsuite/g++.dg/cpp0x/variadic66.C
+++ b/gcc/testsuite/g++.dg/cpp0x/variadic66.C
@@ -1,7 +1,7 @@
// { dg-do compile { target c++11 } }
template<typename Result, typename Functor, typename... ArgTypes>
-Result bind(Functor, ArgTypes...) { }
+Result bind(Functor, ArgTypes...) { return Result(); }
void f()
{
diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic97.C b/gcc/testsuite/g++.dg/cpp0x/variadic97.C
index b251cc3da38..12d05c56237 100644
--- a/gcc/testsuite/g++.dg/cpp0x/variadic97.C
+++ b/gcc/testsuite/g++.dg/cpp0x/variadic97.C
@@ -21,7 +21,7 @@ template<typename _Functor, typename... _Bound_args>
template<typename _Functor, typename _Arg>
_Bind<_Functor(_Arg)>
- bind(_Functor, _Arg) { }
+ bind(_Functor, _Arg) { return _Bind<_Functor(_Arg)>(); }
struct State
{
diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic98.C b/gcc/testsuite/g++.dg/cpp0x/variadic98.C
index c463cac17e7..6f1d9b40676 100644
--- a/gcc/testsuite/g++.dg/cpp0x/variadic98.C
+++ b/gcc/testsuite/g++.dg/cpp0x/variadic98.C
@@ -1,5 +1,6 @@
// PR c++/42358
// { dg-do assemble { target c++11 } }
+// { dg-additional-options "-Wno-return-type" }
typedef __PTRDIFF_TYPE__ ptrdiff_t;
typedef __SIZE_TYPE__ size_t;
@@ -177,6 +178,7 @@ namespace std __attribute__ ((__visibility__ ("default"))) {
};
template<typename _Tp> struct less : public binary_function<_Tp, _Tp, bool> {
bool operator()(const _Tp& __x, const _Tp& __y) const {
+ return true;
}
};
template<typename _Pair> struct _Select1st : public unary_function<_Pair, typename _Pair::first_type> {