// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Make sure -Wliteral-suffix is enabled by default and
// triggers as expected.
-// { dg-options "-std=c++0x -Wzero-as-null-pointer-constant" }
+// { dg-options "-std=c++11 -Wzero-as-null-pointer-constant" }
struct A;
-// { dg-options "-std=c++0x -pedantic" }
+// { dg-options "-std=c++11 -pedantic" }
const char* foo()
{
// PR c++/49042
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T>
class A
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<template<class> class TT> struct X { };
template<class> struct Y { };
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// These also represent tests for printing alias declarations and
// their instantiations.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <class T> using Ptr = T*;
Ptr<unsigned>; // { dg-error "does not declare anything" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
namespace N
{
// Origin: PR c++/51027
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
using INT = int // { dg-error "expected|;|at end of input" }
// Origin PR c++/51191
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template< class T >
class ClassTemplate {};
// Origin: PR c++/51145
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A {};
// Origin PR c++/51194
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<class U, class V> //#1
struct foo {};
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<class T> struct S0 {};
template<class T> using AS0 = S0<T>;
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Exercise some member alias templates ...
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// [temp.alias]/3:
// The type-id in an alias template declaration shall not refer
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// alias template of a partial specialization
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Alias template of non-class types.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Add arguments to unbound template template parameter.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A {
template <class U> using C = U;
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <class T>
struct A {
// Origin: PR c++/51032
// { dg-skip-if "No stabs" { aarch64*-*-* mmix-*-* *-*-aix* alpha*-*-* hppa*64*-*-* ia64-*-* *-*-vxworks* } { "*" } { "" } }
-// { dg-options "-std=c++0x -gstabs+" }
+// { dg-options "-std=c++11 -gstabs+" }
template <class C>
struct A {
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
int main(void)
{
static_assert(alignof(int) == __alignof(int), "alignof(int) does not equal __alignof(int)");
// { dg-do compile }
-// { dg-options "-std=c++0x -pedantic" }
+// { dg-options "-std=c++11 -pedantic" }
int main(void)
{
alignof(int); //ok with a type but not with an expression
// { dg-do compile }
-// { dg-options "-std=c++0x -pedantic" }
+// { dg-options "-std=c++11 -pedantic" }
int main(void)
{
alignof(void (void)); // { dg-warning "function type" }
// PR c++/51316
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
int main()
{
// Positive test for auto
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <typeinfo>
extern "C" void abort();
// PR c++/38256
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<int> struct A
{
// PR c++/40306, c++/40307
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-do run }
template< typename T >
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template< typename Fn > struct function;
// PR c++/40619
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename U> struct X {};
// PR c++/42567
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename B>
struct A {
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
void f()
{
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct Explicit {
Explicit() = default; // Line 2
// Positive test for auto
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <typeinfo>
extern "C" void abort();
// Test for proper non-deduced context handling of the initializer
// for an auto declaration/new.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct with_apply
{
// Origin PR c++/47208
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
constexpr auto list = { }; // { dg-error "deducing from brace-enclosed initializer list requires #include <initializer_list>" }
static const int l = list.size();
// PR c++/47999
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
int& identity(int& i)
{
// PR c++/46245
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<auto f()->int> struct A { };
// PR c++/48599
-// { dg-options "-std=c++0x -pedantic-errors" }
+// { dg-options "-std=c++11 -pedantic-errors" }
int v[1];
auto (*p)[1] = &v; // { dg-error "array of .auto" }
// PR c++/42056
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<int> struct A
{
// PR c++/43321
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T>
void f(T t)
// PR c++/51404
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
int i = auto().x; // { dg-error "invalid use of" }
// Testcase for deduction of std::initializer_list for auto.
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <typeinfo>
#include <initializer_list>
// Testcase for non-dependent auto in templates
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A
{
// PR c++/37965
// Negative test for auto
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
auto i = 6;
auto j; // { dg-error "has no initializer" }
// PR c++/37962
// Negative test for auto
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <typeinfo>
#include <stdarg.h>
-// { dg-options "--std=c++0x" }
+// { dg-options "--std=c++11" }
struct S{};
void f(S&&);
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename T>
struct list {};
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<int i> class X { /* ... */ };
X< 1>2 > x1; // // { dg-error "numeric constant" }
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename T>
struct vector {
};
-// { dg-options "--std=c++0x" }
+// { dg-options "--std=c++11" }
struct S
{
S();
// Test cast from lvalue to rvalue
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-skip-if "packed attribute missing for struct one" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
-// { dg-options "--std=c++0x" }
+// { dg-options "--std=c++11" }
template<typename T, typename U> struct same_type;
template<typename T> struct same_type<T, T> {};
-// { dg-options "--std=c++0x" }
+// { dg-options "--std=c++11" }
template<typename T, typename U> struct same_type;
template<typename T> struct same_type<T, T> {};
// PR c++/46336
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
extern "C" {
enum A { };
// PR c++/46420
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<typename> class vector { };
struct A{};
// PR c++/47570
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
unsigned int constexpr one()
{ return 1; }
// PR c++/47969
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// PR c++/48089
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// bang is ill-formed (diagnostic required) because its initializer is
// non-constant, because it uses the value of an uninitialized object.
// PR c++/49776
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct s
{
// PR c++/47301
-// { dg-options "-std=c++0x -fabi-version=1" }
+// { dg-options "-std=c++11 -fabi-version=1" }
struct A
{
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
class base
{
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T>
constexpr T do_get(T* x, int n) {
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T>
struct IsNegative {
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
constexpr bool is_negative(int x) {
return x < 0;
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
constexpr const int do_last(const int* x, int n) {
return x[n - 1];
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T>
constexpr T do_last(T* x, int n) {
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
typedef decltype(sizeof(char)) size_type;
// PR c++/49290
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
typedef unsigned T;
struct S
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <const int I[2]> struct A { int ir[I[0]]; };
extern constexpr int ar[2] = { 1, 2 };
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-final { scan-assembler-not "static_initialization" } }
struct A
// PR c++/46348
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<__SIZE_TYPE__ _Nw>
struct _Base
// PR c++/48132
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct C
{
// PR c++/49924
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A { constexpr A() { } };
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
//A few constexpr's
constexpr int foo() { return __alignof__(int); }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
constexpr auto value = 0;
// Test base/member class and static_assert with constexpr
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A {
int i;
// PR c++/46293
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// PR c++/46526
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct Base
{
// PR c++/46626
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A
{
// PR c++/46369
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// PR c++/49136
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct day
{
// PR c++/49136
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct S
{
// PR c++/49813
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
inline constexpr bool
isinf(long double __x)
// PR c++/51433
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
constexpr int f();
constexpr int g() { return f(); }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// Make sure C99 complex works with constexpr
-// { dg-options -std=gnu++0x }
+// { dg-options -std=gnu++11 }
struct complex
{
-// { dg-options "-std=c++0x -pedantic-errors" }
+// { dg-options "-std=c++11 -pedantic-errors" }
constexpr int f()
{
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// Core DR 948
constexpr int something() { return 3; }
// PR c++/48909
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#define SA(X) static_assert((X),#X)
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// PR c++/46348
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// PR c++/46873
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct S
{
// PR c++/46877
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct new_allocator
{
// PR c++/47041
-// { dg-options "-std=c++0x -fno-elide-constructors" }
+// { dg-options "-std=c++11 -fno-elide-constructors" }
struct S
{
// PR c++/47199
-// { dg-options "-std=c++0x -fno-elide-constructors" }
+// { dg-options "-std=c++11 -fno-elide-constructors" }
template < int > struct S
{
// PR c++/46466
-// { dg-options "-std=c++0x -fno-elide-constructors" }
+// { dg-options "-std=c++11 -fno-elide-constructors" }
struct S { bool b; };
constexpr S f() { return S{true}; }
// PR c++/47774
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
// From N2235
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename _Tp, _Tp v>
struct A3
// PR c++/46930
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct S {
static constexpr int size; // { dg-error "must have an initializer" "must have" }
// PR c++/46335
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct T { };
struct A {
// PR c++/46368
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
class A;
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A {
int i;
// PR c++/51526
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
const int j = 42;
// PR c++/51723
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <int... V>
struct A
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
constexpr bool never() = delete; // useless, but OK
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// Test that we explain why a template instantiation isn't constexpr
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T>
struct A
// PR c++/47207
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
constexpr int X (X); // { dg-error "not usable" }
// { dg-message "own initializer" "" { target *-*-* } 4 }
// PR c++/45923
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
int f(int);
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T> class my_limits {
public:
static constexpr T min() throw() { return T(); }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
constexpr int ellipsis(...) { return 1; }
constexpr int ellipsis_c = ellipsis(); // OK
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct Empty {};
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct IsLiteral {};
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct IsLiteral {};
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
typedef decltype(sizeof(char)) size_type;
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A { };
struct B: A { };
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
// From N2235
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
// From N2235
-// { dg-options "-std=c++0x -ftrack-macro-expansion=0" }
+// { dg-options "-std=c++11 -ftrack-macro-expansion=0" }
#define SA(X) static_assert (X, #X)
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A
{
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// Error: Explicit instantiation of a function template shall not use the
// inline or constexpr specifiers
template<class T> constexpr inline T bar(T x) { return x; }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T> constexpr inline T bar(T x) { return x; }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
constexpr bool is_negative(int x) { return x < 0; }
// PR c++/48948
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A { A(); };
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
// From N2235
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
// From N2235
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
// From N2235
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T> struct A
{
// We used to crash on this instead of giving a decent error.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A { int i; };
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
int x;
constexpr int& rx = x;
// PR c++/46289
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// PR c++/51612
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A {};
// PR c++/51621
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// PR c++/51327
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// A constructor that might or might not be constexpr still makes
// its class literal.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T>
struct B
// PR c++/49015
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
class A;
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-do run }
namespace xstd {
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#include <initializer_list>
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#include <initializer_list>
#define SA(X) static_assert(X,#X)
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A { int i; };
struct B: A { constexpr B(): A{} {} };
// PR c++/50024
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template< class T >
struct Container
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#include <type_traits>
// PR c++/48296
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct X
{
// PR c++/48911
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#define SA(X) static_assert((X),#X)
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// Negative examples from N3092 (FCD)
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// OK: declaration
constexpr int square(int x); // { dg-message "never defined" }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T>
struct is_funny {
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T>
constexpr T value(T t) { return t; }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
constexpr int f(int i) { return i; }
#define SA(X) static_assert (X, #X)
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// A call is noexcept if it is a valid subexpression of a constant
// expression, even if it is not itself a constant expression.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct booleable {
bool data;
// PR c++/51305
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
constexpr bool ok() noexcept
{
// Example from issue 1125 drafting; D() and v were well-formed with the
// wording approved in Rapperswil, now seems they should be ill-formed.
-// { dg-options "-std=c++0x -pedantic-errors" }
+// { dg-options "-std=c++11 -pedantic-errors" }
struct B {
constexpr B(int x) : i(0) { } // "x" is unused
// PR c++/47200
-// { dg-options "-std=c++0x -w" }
+// { dg-options "-std=c++11 -w" }
template < int > struct duration
{
// PR c++/49988
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-do run }
template<int ... I> struct X { };
// FIXME this is currently invalid, but seems like it should be OK
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A { A() { } };
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
constexpr int zero() { return 0; }
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
// From N2235
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
constexpr int verysquare(int x) { return x * x; }
-// { dg-options "-std=c++0x -w -ftrack-macro-expansion=0" }
+// { dg-options "-std=c++11 -w -ftrack-macro-expansion=0" }
#include <limits.h>
extern constexpr int max_s = INT_MAX + 1; // { dg-error "" }
// PR c++/47504
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
char constexpr sub(char arg)
{ return char(arg - char(1)); }
// The FCD doesn't allow typedefs and static_assert in constexpr functions,
// but it should.
-// { dg-options "-std=c++0x -pedantic" }
+// { dg-options "-std=c++11 -pedantic" }
template <class T>
constexpr T f(T t)
// Positive examples from N3092 (FCD)
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#define SA(X) static_assert(X, #X)
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// We decided in Rapperswil that it's OK if any value of decide can produce
// a constant expression.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct C { // literal type
int m;
// PR c++/51489
// DR 1313
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct array
{
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// Test that we catch excessive recursion.
-// { dg-options "-std=c++0x -fconstexpr-depth=5" }
+// { dg-options "-std=c++11 -fconstexpr-depth=5" }
// { dg-prune-output "in constexpr expansion" }
constexpr int f (int i) { return f (i-1); }
constexpr int i = f(42); // { dg-error "constexpr evaluation depth" }
// PR c++/49172
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#define SA(X) static_assert((X),#X)
// Negative reference variable tests.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
extern int *p;
constexpr int& ri = *p; // { dg-error "p" }
// PR c++/50298
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
int global_variable;
// PR c++/54777
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct S
{
// PR c++/49673: check that test_data goes into .rodata
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-additional-options -G0 { target { { alpha*-*-* frv*-*-* ia64-*-* lm32*-*-* m32r*-*-* microblaze*-*-* mips*-*-* powerpc*-*-* rs6000*-*-* score*-*-* } && { ! { *-*-darwin* *-*-aix* alpha*-*-*vms* } } } } }
// { dg-final { scan-assembler "\\.rdata" { target mips*-*-* } } }
// { dg-final { scan-assembler "rodata" { target { { *-*-linux-gnu *-*-gnu* *-*-elf } && { ! mips*-*-* } } } } }
// Allow static_assert in constexpr constructors, too.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<typename T>
struct A
// Test for constant initialization of non-literal class (e.g. mutex)
-// { dg-options "-std=c++0x -save-temps" }
+// { dg-options "-std=c++11 -save-temps" }
// { dg-do run }
struct A
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct IsLiteral {};
struct ShouldBeLiteral {
// Test for constant initialization of class with vtable
-// { dg-options "-std=c++0x -save-temps" }
+// { dg-options "-std=c++11 -save-temps" }
// { dg-final { scan-assembler-not "static_initialization" } }
// { dg-final cleanup-saved-temps }
// { dg-do run }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-do run }
extern "C" void abort ();
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T>
struct A
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct B
{
// PR c++/48945
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A {
static constexpr bool is();
// PR c++/50258
-// { dg-options "-std=c++0x -fpermissive" }
+// { dg-options "-std=c++11 -fpermissive" }
struct Foo {
static const double d = 3.14; // { dg-warning "constexpr" }
// PR c++/46977
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template < typename > void
foo ()
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
constexpr char c1 = "hi"[1];
constexpr char c2 = "hi"[2];
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T>
constexpr T value(T t = T()) { return t; }
// Test for constexpr conversion in case context
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
enum class E { e1, e2 };
// PR c++/46472
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T> struct A {
T t;
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// PR c++/50248, DR 1358
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class Elt, unsigned max>
struct earray
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T> struct A
{
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A { constexpr operator int() { return 42; } };
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
constexpr int may_throw(bool decide) {
return decide ? 42 : throw -1; // { dg-error "throw" }
// PR c++/50508
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T>
struct integral_constant {
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#include <typeinfo>
// Test that we don't have to deal with type punning
// DR 1188 says this is ill-formed
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
union U
{
// PR c++/51675
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
union foo
{
// Core issue 898
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
namespace N { const int i = 42; }
namespace M { const int j = 42; }
// PR c++/49520
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
namespace x { void foo(); }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct HopefullyLiteral {
HopefullyLiteral() = default; // Should be a constexpr c'tor as of 12.1/6 and 8.4.2/4
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T>
constexpr T value_init() { return T(); }
// PR c++/50234
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#define SA(X) static_assert((X),#X)
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class... T>
constexpr bool variadics(T&&...) { return true; }
// PR c++/47067
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct X {
virtual void x();
// PR c++/48570
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
extern "C" void abort ();
constexpr wchar_t foo (int i) { return L"0123"[i]; }
// PR c++/48570
// { dg-do compile }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
constexpr wchar_t c1 = L"hi"[3]; // { dg-error "out of bound" }
constexpr char16_t c2 = u"hi"[3]; // { dg-error "out of bound" }
// { dg-do compile }
-// { dg-options --std=c++0x }
+// { dg-options --std=c++11 }
struct B {
int i;
// { dg-do compile }
-// { dg-options --std=c++0x }
+// { dg-options --std=c++11 }
struct A {
int i, j;
// { dg-do compile }
-// { dg-options --std=c++0x }
+// { dg-options --std=c++11 }
struct X {};
// { dg-do run }
-// { dg-options "--std=c++0x" }
+// { dg-options "--std=c++11" }
#include <cassert>
// Core 1212
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T, class U> struct assert_same_type;
template <class T> struct assert_same_type<T,T> {};
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// PR c++/33837
void foo()
{
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// PR c++/33838
template<typename T> struct A
{
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// PR c++/33045
int && f ();
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename T, typename U>
struct is_same
// PR c++/34271
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<int> struct A
{
// PR c++/35316
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<int> struct A
{
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename T, typename U>
struct is_same
{
// PR c++/38640
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<int N> void foo (decltype (N));
template<long int N> void foo (decltype (N));
// PR c++/39070
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename X> struct junk {
template<typename Z> static Z y();
// PR c++/36628
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-do run }
#include <typeinfo>
// PR c++/37875
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <typename> struct X {};
X<decltype(1 > 2)> x;
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename T, typename U>
struct is_same
// PR c++/42277
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct S { int s; };
template <int N>
// PR c++/6709 (DR 743)
// PR c++/42603 (DR 950)
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T>
T make();
// PR c++/42761
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename _Tp> _Tp* fn();
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
int x, &&y = static_cast<int &&>(x);
typedef decltype((y)) myInt; // `y' is a parenthesized id-expression of type int that is an lvalue
// PR c++/47068
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T> struct broken {
int member;
// PR c++/47851
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct Type {
void display_type();
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A { };
// PR c++/48617
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T, decltype(T())> // #
struct A {};
// PR c++/44175
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <bool, class T> struct enable_if { };
template <class T> struct enable_if <true, T> { typedef T type; };
// PR c++/44175
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <bool, class T> struct enable_if { };
template <class T> struct enable_if <true, T> { typedef T type; };
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename T, typename U>
struct is_same
// PR c++/49369
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class,class> struct assert_same;
template <class T> struct assert_same<T,T> {};
// PR c++/49921
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct Local
{
// PR c++/50075
-// { dg-options "-std=c++0x -ftemplate-depth=10" }
+// { dg-options "-std=c++11 -ftemplate-depth=10" }
template <typename T>
auto make_array(const T& il) ->
// PR c++/50084
-// { dg-options "-std=c++0x -fno-inline" }
+// { dg-options "-std=c++11 -fno-inline" }
template<typename> struct remove_reference;
template<typename T> struct remove_reference<T&> { typedef T type; };
// PR c++/50870
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
struct impl
{
// PR c++/50870
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class V>
struct impl
// PR c++/51265
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct Funny
{
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename T, typename U>
struct is_same
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename T, typename U>
struct is_same
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename T, typename U>
struct is_same
// PR c++/34271
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<int> struct A
{
-// { dg-options "--std=c++0x" }
+// { dg-options "--std=c++11" }
template<typename T, typename U> struct same_type;
template<typename T> struct same_type<T, T> {};
// Positive test for defaulted/deleted fns
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A
{
// PR c++/40381
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
struct A
{
// Core issue 901
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A
{
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<typename T>
struct NonCopyable {
// PR c++/39866
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A {
A& operator=(const A&) = delete; // { dg-bogus "" }
// PR c++/38796
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#define SA(X) static_assert ((X), #X)
// Test that non-inline default causes the function to be defined even if
// it isn't used.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-final { scan-assembler "_ZN1AC1Ev" } }
struct A
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A // { dg-error "const|operator=" }
{
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
void f(char i, int j) = delete; // { dg-message "<deleted>" }
void f(int i, ...); // { dg-message "void f" }
// We allocate a cookie to help us run the destructor even if it's deleted.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-do run }
struct A
// Negative test for defaulted/deleted fns.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
void f(); // { dg-error "previous" }
void f() = delete; // { dg-error "deleted" }
// PR c++/46497
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A {
A(A&&) = default;
// PR c++/46736
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct U {
U();
// Test that a virtual defaulted constructor is still virtual.
// { dg-do run }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
int r = 1;
// Test for checking of exception specifications on defaulted fns
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// PR c++/48280
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct S {
template < typename > S (const S &) = default; // { dg-error "" }
// PR c++/48930
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-prune-output "note" }
struct A
// PR c++/49066
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
void foo() = delete; // { dg-message "declared here" }
void foo();
// PR c++/47544
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-final { scan-assembler "_ZN1sIiEC2Ev" } }
// { dg-final { scan-assembler-not "_ZN1sIiED2Ev" } }
// PR c++/49102
// PR c++/50034
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A {
A() = default;
// PR c++/46696
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// PR c++/37006
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<class T>
struct A {
// PR c++/49507
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<typename T>
struct ConcretePoolKey
// PR c++/39164
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// PR c++/50531
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <typename T>
class DataFilter
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-final { scan-assembler "__cxa_deleted_virtual" } }
struct A
// PR c++/53096
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct foo
{
// PR c++/37208: SFINAE and deleted functions.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-do compile }
template<int> struct A { };
// PR c++/37234
// { dg-do link }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <typename T>
class foo {
// PR c++/37906
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct b
{
// PR c++/38701, 38702
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
void foo() = default; // { dg-error "cannot be defaulted" }
namespace
// PR c++/38649
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A
{
// PR c++/39153
-// { dg-options "-std=c++0x -fno-inline" }
+// { dg-options "-std=c++11 -fno-inline" }
struct _Impl_base
{
// PR c++/48319
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// We were failing to recognize declval<_Args1> as dependent.
template<typename Tp> Tp declval() noexcept;
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <int U>
struct TypeA
// Test: Implicit cast to rvalue when eliding copy
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <bool> struct sa;
template <> struct sa<true> {};
// Core 1148: should be able to move from value parameter on return
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// Test: Implicit cast to rvalue when eliding copy
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <bool> struct sa;
template <> struct sa<true> {};
// PR c++/38021
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
enum : { }; // { dg-error "expected" }
enum : 3 { }; // { dg-error "expected" }
// PR c++/48534
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
enum class OpSE : bool;
// PR c++/48969
-// { dg-options "-std=c++0x -ftemplate-depth=10" }
+// { dg-options "-std=c++11 -ftemplate-depth=10" }
template<unsigned int N> struct Pair { };
struct Foo { enum { Mask = 1 }; } foo;
// PR c++/48780
-// { dg-options "-std=c++0x -fabi-version=0" }
+// { dg-options "-std=c++11 -fabi-version=0" }
typedef __builtin_va_list __gnuc_va_list;
typedef __gnuc_va_list va_list;
// PR c++/48780
-// { dg-options "-std=c++0x -fabi-version=5 -Wabi" }
+// { dg-options "-std=c++11 -fabi-version=5 -Wabi" }
typedef __builtin_va_list __gnuc_va_list;
typedef __gnuc_va_list va_list;
// PR c++/48106
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
enum class E : char
{
// PR c++/44311
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
enum class A { Val0, Val1 };
// PR c++/48935
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
enum class ENUM { a };
// PR c++/48536
-// { dg-options "-std=c++0x -pedantic-errors" }
+// { dg-options "-std=c++11 -pedantic-errors" }
#include <climits>
// PR c++/47277
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
int main(void) {
enum e {};
// We shouldn't give an ABI warning about promotion in switch.
-// { dg-options "-std=c++0x -fabi-version=5 -Wabi" }
+// { dg-options "-std=c++11 -fabi-version=5 -Wabi" }
enum class Foo { X };
void test(Foo val)
// PR c++/38637
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<int> enum E : int { e }; // { dg-error "declaration|expected" }
// PR c++/47635
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
enum A { };
void A::f() { } // { dg-error "not a class" }
// { dg-do compile }
-// { dg-options "-pedantic -std=c++0x" }
+// { dg-options "-pedantic -std=c++11" }
enum x { y, };
// PR c++/38064
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-do run }
enum class E { elem };
// PR c++/40633
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template< typename T >
struct wrap {
// PR c++/40639
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template< typename T >
struct wrap {
// PR c++/37946
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
enum class E : char
{
// PR c++/37816
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
class A
{
// PR c++/47704
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
void
foo ()
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
enum class E { };
E f();
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
typedef unsigned volatile long long uvlonglong;
// { dg-do run }
-// { dg-options "-O2 -Wtype-limits -std=c++0x" }
+// { dg-options "-O2 -Wtype-limits -std=c++11" }
extern void link_error (void);
enum Alpha : unsigned char {
// PR c++/34395
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<int... N> void foo (int... x[N]) // { dg-message "int \\\[N\\\]\\.\\.\\. x" }
{
// PR c++/38656
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<int> int foo();
// PR c++/47336
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <typename T>
void g(T t)
// PR c++/49156
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<typename T> T declval();
// PR c++/49181
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
namespace std
{
// PR c++/48284
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<typename C>
auto g(C& c) -> decltype (c.f()) { return c.f(); } // { dg-message "decltype .c\\.f" }
// Test for printing the type of T{} in error messages.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T, T t> struct A { };
template <class T> A<T,T{}> f(T t); // { dg-message "T{}" }
// Test for explicit conversion ops from N2437.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
class U; class V;
class T
// Test for explicit conversion ops in various conversion situations.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
typedef void (*pfn)();
// Test for "contextually converted to bool"
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A
{
// Negative explicit conv test.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A {
A(const A&, int = 0); // { dg-message "note" }
// test for extension of DR 899 to handle template ctors
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-do run }
int r = 1;
// PR c++/47080
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A {
explicit operator int(); // { dg-message "qualification conversion" }
// can be converted to type T with a qualification conversion (4.4) are
// also candidate functions.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A { };
struct B: A { };
-// { dg-options "-std=c++0x -pedantic" }
+// { dg-options "-std=c++11 -pedantic" }
template <typename> void f() {}
extern template void f<int>();
-// { dg-options "-std=c++0x -pedantic" }
+// { dg-options "-std=c++11 -pedantic" }
template <typename> class S {};
extern template class S<int>;
// PR c++/37766
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
int a = 1;
template<int& b = a> void f() {
// PR c++/46831
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct B { };
struct D : B { };
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// opaque enum declarations
enum class E1;
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
//This error is diagnosed at instantiation time
template<typename T> struct S1
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct S1
{
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
namespace S1
{
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename T> struct S1
{
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
namespace one
{
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
enum class E1 : int; // { dg-error "previous definition" }
enum E1 : int; // { dg-error "scoped/unscoped mismatch" }
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename T> struct S1
{
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
//This instatiation is ok
template<typename T> struct S1
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename T> struct S1
{
// From N1791
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
class C;
typedef C Ct;
// PR c++/47721
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// template type parameter friend:
-// { dg-options "--std=c++0x" }
+// { dg-options "--std=c++11" }
struct S
{
S();
// PR c++/46807
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// In C++98/03, B::B(const B&) is trivial because A::A(const A&) is trivial,
// even though doing overload resolution would mean calling the template
-// constructor. In C++0x, we do overload resolution to determine triviality.
+// constructor. In C++11, we do overload resolution to determine triviality.
struct A
{
// Test for implicitly deleted destructors.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-prune-output "default definition would be ill-formed" }
// { dg-prune-output "within this context" }
// PR c++/46103
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct MoveOnly {
MoveOnly(const MoveOnly&) = delete;
// Test that we consider base dtors in determining whether
// a derived ctor is deleted even if the ctor is trivial.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// PR c++/50500
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// If a class declares move operations, the implicitly declared copy
// operations are deleted.
// Test that the synthesized C copy constructor calls the A template
// constructor and has the appropriate exception specification.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-do run }
int r = 1;
// Basic runtime test for implicit move constructor
// { dg-do run }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
int m;
// Test that a base with only a move constructor causes the implicit copy
// constructor to be deleted.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A // { dg-message "declares a move" }
{
// Test that the default B copy constructor calls the deleted A
// copy constructor.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A // { dg-message "declares a move" }
{
// Circular implicit declarations were causing errors
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct Ray;
// PR c++/44909
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// Declaring A<D<E>>'s copy ctor means choosing a ctor to initialize D<E>,
// which means choosing a ctor for C<B<E>>, which meant considering
// C(const B<E>&) which means choosing a ctor for B<E>, which means choosing
// The hack for PR c++/44909 breaks this testcase. We need feedback
// from the C++ committee to know how to proceed.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// Test that private base dtor makes derived ctor deleted
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
typedef int IA[2];
typedef double DA[2];
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
typedef int IRT[2];
// supported by the working draft, but is necessary for perfect forwarding
// of initializer-lists to things that can take a std::initializer_list.
-// { dg-options "-std=c++0x -fdeduce-init-list" }
+// { dg-options "-std=c++11 -fdeduce-init-list" }
// { dg-do run }
#include <initializer_list>
// Test that we properly extend the lifetime of the initializer_list
// array even if the initializer_list is a subobject.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-do run }
#include <initializer_list>
// Test that we properly extend the lifetime of the initializer_list
// array even if the initializer_list is a subobject.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-do run }
#include <initializer_list>
// PR c++/41997
-// { dg-options "-std=c++0x -O2 -fdump-tree-optimized" }
+// { dg-options "-std=c++11 -O2 -fdump-tree-optimized" }
// { dg-final { scan-tree-dump-not "_0" "optimized" } }
// { dg-final { cleanup-tree-dump "optimized" } }
// PR c++/51738
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct Index
{
// Test for value-initialization via {}
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-do run }
void * operator new (__SIZE_TYPE__, void *p) { return p; }
// constructor but defaulted default constructor. The FDIS got this
// wrong; see c++std-core-19883.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-do run }
struct A
// Basic uses of initializer lists
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <initializer_list>
// PR c++/38380
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
namespace std
{
// PR c++/38684
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <initializer_list>
// PR c++/38698
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-prune-output "note" }
struct A
// PR c++/39056
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
#include <complex>
// Bug: We weren't doing the normal replacement of array with pointer
// for deduction in the context of a call because of the initializer list.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <initializer_list>
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Just discard errors pointing at header files
// { dg-prune-output "include" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-do run }
extern "C" void abort();
-// { dg-options "-std=c++0x -pedantic-errors" }
+// { dg-options "-std=c++11 -pedantic-errors" }
void f(int i);
// PR c++/40308, 40311
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template< typename T >
struct test {
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Allow other errors, too
// { dg-prune-output "error" }
// user-defined conversions.
// { dg-do link }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <initializer_list>
// PR c++/40689
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
class X
{
// PR c++/40689
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
class X
{
// Core issue 934
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
int i;
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <initializer_list>
// PR c++/39923
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <initializer_list>
// PR c++/41754
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-do run }
#include <map>
// PR c++/42059
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
void
foo (int i)
// PR c++/42061
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
int& i = { j }; // { dg-error "invalid initialization|was not declared" }
// PR c++/42060
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
void foo()
{
// PR c++/42331
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
class Mesh
{
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <initializer_list>
// Testcase for variadic init list deduction.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <initializer_list>
// PR c++/43028
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <initializer_list>
// Test that we try normal init if no list ctor is viable.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <initializer_list>
// PR c++/44045
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct base
{
// PR c++/44157
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <initializer_list>
// PR c++/41510
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct B
{
// PR c++/44358
-// { dg-options "-std=c++0x -pedantic-errors" }
+// { dg-options "-std=c++11 -pedantic-errors" }
#include <initializer_list>
// DR 990
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <initializer_list>
// DR 990
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <initializer_list>
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A { int i; };
// Test for initializer-list 'explicit' rule
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A
{
// PR c++/54835, DR 1518
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A
{
// PR c++/44703
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#include <initializer_list>
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
enum Unscoped { };
enum class Scoped { };
// Test that using T{} at file scope doesn't create a static temporary.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-final { scan-assembler-not "local" } }
struct A { };
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#include <initializer_list>
// PR c++/46289
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// PR c++/48281
-// { dg-options "-std=c++0x -O2" }
+// { dg-options "-std=c++11 -O2" }
// { dg-do run }
#include <initializer_list>
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A { ~A() = delete; }; // { dg-message "declared" }
// PR c++/48726
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#include <memory>
// Test for non-trivial list-initialization with array new.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-do run }
struct A
// Test for narrowing diagnostics
-// { dg-options "-std=c++0x -pedantic-errors" }
+// { dg-options "-std=c++11 -pedantic-errors" }
#include <initializer_list>
// PR c++/45418
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A1 { };
struct A2 {
// PR c++/47184
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct S
{
// PR c++/45378
-// { dg-options "-std=c++0x -pedantic-errors" }
+// { dg-options "-std=c++11 -pedantic-errors" }
int main()
{
// PR c++/49216
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-do run }
#include <initializer_list>
// PR c++/49355
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#include <string>
// Test for -Wno-narrowing
-// { dg-options "-std=c++0x -pedantic-errors -Wno-narrowing" }
+// { dg-options "-std=c++11 -pedantic-errors -Wno-narrowing" }
int i;
float d = { i };
// PR c++/47453
-// { dg-options "-std=c++0x -pedantic-errors" }
+// { dg-options "-std=c++11 -pedantic-errors" }
// invalid
int a({0}); // { dg-error "" }
// PR c++/50054
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
void g( const int& (a)[1] ) {} // { dg-error "array of references" }
// PR c++/50209
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct S { int i,j; };
// PR c++/49996
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// Test for initlist lifetime
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-do run }
#include <initializer_list>
// PR c++/51399
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <initializer_list>
// PR c++/51553
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct X
{
// PR c++/37932
-// { dg-options "-std=c++0x -pedantic-errors" }
+// { dg-options "-std=c++11 -pedantic-errors" }
typedef enum { AA=1, BB=2 } my_enum;
// PR c++/37740
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A
{
// PR c++/37860
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct b
{
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-final { scan-assembler "_ZN1Q2V11fEv" } }
// { dg-final { scan-assembler "_ZN1Q2V11iE" } }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
namespace Q {
inline namespace V1 {
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
namespace C
{
// section "Revision 1 Summary and Rationale" for more details.
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-skip-if "packed attribute missing for struct one" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
// o the variable or function is not used (3.2 [basic.def.odr]) or is
// defined in the same translation unit.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <typename T> struct B {
void g(T){}
-// { dg-options "-std=c++0x -pedantic" }
+// { dg-options "-std=c++11 -pedantic" }
void foo()
{
-// { dg-options "-std=c++0x -pedantic-errors" }
+// { dg-options "-std=c++11 -pedantic-errors" }
#include <utility>
-// { dg-options "--std=c++0x" }
+// { dg-options "--std=c++11" }
// { dg-do link }
template<typename _Tp>
// Test: Named rvalue references are treated as lvalues.
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-skip-if "packed attribute missing for struct one" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
// Test for noexcept-expression
-// { dg-options "-std=c++0x -O2" }
+// { dg-options "-std=c++11 -O2" }
#include <typeinfo>
// Test for noexcept-specification
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#define SA(X) static_assert(X, #X)
// Runtime test for noexcept-specification.
-// { dg-options "-std=c++0x -Wnoexcept" }
+// { dg-options "-std=c++11 -Wnoexcept" }
// { dg-do run { target nonpic } }
#include <exception>
// the compiler doesn't get clever about optimizing the calls based on
// knowledge about the called functions.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-do run }
#include <exception>
// { dg-final { scan-assembler-not "EHB" } }
// { dg-final { scan-assembler "LSDA" } }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A { ~A(); };
void g();
// Test that checking of a nothrow specification uses the one on the
// definition.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-do run }
#include <exception>
// Test that checking of a nothrow specification uses the one on the
// definition.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-do run }
#include <exception>
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-prune-output "overriding" }
struct A
// Test that -Wnoexcept works with templates
-// { dg-options "-std=c++0x -Wnoexcept" }
+// { dg-options "-std=c++11 -Wnoexcept" }
template <class T>
T f (T t) { return t; } // { dg-warning "does not throw" }
// PR c++/49082
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
namespace std { template <class T> T&& declval() noexcept; }
// PR c++/49107
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<typename _Tp>
_Tp declval() noexcept;
// Test that we handle merging with deferred noexcept.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class U>
struct O
// PR c++/49107
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
namespace std
{
// PR c++/50309
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
void foo () noexcept () { } // { dg-error "expected" }
// PR c++/50391
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#include <type_traits>
// { dg-additional-sources "nolinkage1a.cc" }
// { dg-do link }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#include "nolinkage1.h"
// That is, their presence should cause compiler declared
// copy ctor or assignment to be deleted.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <assert.h>
// PR c++/50707
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
int g;
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#define SA(X) static_assert(X,#X)
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// Do NSDMI get deferred instantiation?
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T>
struct A
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-do run }
struct A
// PR c++/51666 (DR 325)
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<typename T, typename U>
struct tuple
// Core issue 1351
// { dg-do run { xfail *-*-* } }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
bool fail;
struct A
// PR c++/50563
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct S1 {
int a{10}, b{20}; // OK
// PR c++/50930
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct nmc {
nmc() = default;
// { dg-do run }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct base
{
// PR c++/50614
-// { dg-options "-std=c++0x -fcompare-debug" }
+// { dg-options "-std=c++11 -fcompare-debug" }
struct A
{
// PR c++/51611
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-do run }
struct A
// { dg-do run }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// { dg-do run }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
int c;
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct X
{
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test assignment to pointer
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test assignment to nullptr_t
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test assignment to int
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test cast to int
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test assignment to method pointer
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test compare to pointer
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test compare to int
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test conversion to bool
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test compare to literal 0
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test arithmetic operations
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test relational operators
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test sizeof
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test typeid
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test overload preference char*/int
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test template deduction
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test template deduction
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test that bool is a better overload match than int
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test overload of pointer versus bool when applied on a nullptr_t
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test overload of pointer versus nullptr_t when applied on a literal 0/__null
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test passing to ellipisis
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test throw and catch
// { dg-do compile }
-// { dg-options "-std=c++0x -Wall -Wformat=2 -Wstrict-null-sentinel" }
+// { dg-options "-std=c++11 -Wall -Wformat=2 -Wstrict-null-sentinel" }
// Test various warnings
// PR c++/50361
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#include <initializer_list>
// PR c++/50371
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<decltype(nullptr)>
struct nt;
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<decltype(nullptr)>
struct nt{};
// PR c++/51530
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T, class U>
void f(T, U);
-// { dg-options "--std=c++0x" }
+// { dg-options "--std=c++11" }
// { dg-do link }
struct S {};
-// { dg-options "--std=c++0x" }
+// { dg-options "--std=c++11" }
// { dg-do link }
struct T {};
-// { dg-options "--std=c++0x" }
+// { dg-options "--std=c++11" }
// { dg-do link }
// Generated by overload.py
// Core 1321
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// Two dependent names are equivalent even if the overload sets found by
// phase 1 lookup are different. Merging them keeps the earlier set.
-// { dg-options "--std=c++0x" }
+// { dg-options "--std=c++11" }
// { dg-do link }
// Generated by overload.py
// { dg-do compile }
-// { dg-options "--std=c++0x" }
+// { dg-options "--std=c++11" }
struct B
{
virtual void f() final {}
// { dg-do compile }
-// { dg-options "--std=c++0x" }
+// { dg-options "--std=c++11" }
struct B1 {};
struct B2 final {};
// PR c++/43509
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
typedef int B; // { dg-message "" }
B::B() {} // { dg-error "" }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename, typename..., typename> void foo(); // { dg-message "note" }
void bar()
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename..., typename> void foo(); // { dg-message "note" }
void bar()
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename..., typename> struct A // { dg-error "parameter pack" }
{
static int i;
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... T> int foo(const T&) // { dg-error "not expanded with|T" }
{
union { T t; }; // { dg-error "not expanded with|T" }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template <typename... T> struct A // { dg-message "candidates|A" }
{
A(T* p) { // { dg-error "parameter packs|T" }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename> struct A;
template<typename T, typename... U> struct A<T(U)> // { dg-error "parameter packs|U" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename...> struct A;
template<char> struct A<> {}; // { dg-error "not used in partial specialization|anonymous|declaration" }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... T, T = 0> struct A {}; // { dg-error "parameter packs|T|the end|parameter packs|anonymous" }
struct B
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<int, typename... T> struct A
{
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... T> struct A
{
template<int> void foo(A<T>); // { dg-error "not expanded|T" }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template <typename... T> struct A
{
void foo(T...);
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename...> struct A;
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename ...T> struct A
{
typedef typename T::X Y; // { dg-error "not expanded|T" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename ...T, int = 0> struct A {}; // { dg-error "end of" }
A<int> a; // { dg-error "mismatch|expected|invalid" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename...> struct A;
template<typename...T> struct A<T*> // { dg-error "not expanded|T" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename...> struct A;
template<typename...T> struct A<T> // { dg-error "not expanded|T|" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename...T> struct A
{
static T i; // { dg-error "parameter packs|T" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename...> struct A;
template<typename...T, typename...U>
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
int x[5];
template<int M, int N, int (&... p)[N]> struct A;
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<void (*... fp)()> struct A
{
A() { fp(); } // { dg-error "not expanded|fp" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<int...> struct A;
template<template<int> class... T> struct A<T...> {}; // { dg-error "mismatch|expected" }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<int> struct A;
void foo()
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
typedef const int* type;
float& foo( const type& ggg );
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename T>
struct uncvref
{
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#define BUG
struct type
// PR c++/34054
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename... T> T foo() {} // { dg-error "not expanded|T" }
// PR c++/34056
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename... T> struct A
{
// PR c++/34057
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <typename... T> struct A
{
// PR c++/34058
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <typename...T> struct A
{
// PR c++/34060
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <int> struct A
{
// PR c++/34061
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<template<int> class ...T> struct A : T<0> {}; // { dg-error "not expanded|T" }
/* PR c++/38646 */
/* { dg-do compile } */
-/* { dg-options "-std=c++0x" } */
+/* { dg-options "-std=c++11" } */
template<int...> struct A;
// PR c++/38795
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... T> int foo(int i)
{
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin: PR c++/39639
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-prune-output "template argument 1 is invalid" }
template <class... Types>
// PR c++/42844
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A // { dg-message "user-provided default constructor" }
{
// Testcase by Jonathan Wakely <redi@gcc.gnu.org>
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct vector {
struct iterator { };
// PR c++/47416
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
namespace std
{
// PR c++/47476
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
int
foo (int a, int b)
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <typename T>
struct Handle
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct GrandParent {
void *get();
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<class T> int foo(int a)
{
// PR c++/51150
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct Clock {
double Now();
// PR c++/51216
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
void foo()
{
// PR c++/51225
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<int> struct A {};
// PR c++/51313
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
class ostream;
// PR c++/51547
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <class T>
struct vector
// PR c++/51619
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A { virtual ~A(); };
struct B { A a[1][1]; } b;
// Test the loop with an array
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
extern "C" void abort();
// PR c++/47388
// { dg-do compile }
-// { dg-options "-fno-for-scope -std=c++0x" }
+// { dg-options "-fno-for-scope -std=c++11" }
template <int>
void
// with begin/end as member functions
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct iterator
{
// and begin/end as member functions
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
/* Preliminary declarations */
namespace pre
// with member begin/end
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
//These should not be used
template<typename T> int *begin(T &t)
// begin/end member functions
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
//These should not be used
template<typename T> int *begin(T &t)
// and begin/end as member (non-)virtual functions
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
unsigned int g;
// incomplete type or unknown size
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
extern int a[10];
extern int b[];
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
extern "C" int printf (const char *, ...);
// PR c++/48994
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <typename T>
struct myvec
// PR c++/49838
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
int main()
{
// with begin/end in an associated namespace
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct iterator
{
// PR c++/49834
// PR c++/50020
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// PR c++/49983
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T>
void f(T t)
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<int I> void f() {
for (auto i: {I} );
// with begin/end in std
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct iterator
{
// Test for range-based for loop with templates
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
/* Preliminary declarations */
namespace pre
// Test for errors in range-based for loops
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct container
{
// Test the loop with an initializer_list
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <initializer_list>
// PR c++/46056
// Check that range-based for loop calls destructors
// when required
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-do run }
extern "C" void abort();
// a new type
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <initializer_list>
// for how cv-qualifications are applied to reference types. 7.1.3, 14.3.1
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <bool> struct sa;
template <> struct sa<true> {};
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// PR c++/51868
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A {
A() {}
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
void f(int i)
{
// Test for const_cast to reference (5.2.11/4).
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T> T&& xval();
template <class T> T& lval();
// PR c++/49267
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct X {
operator int&();
// PR c++/36816, core issue 873
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T> void h (T&&) { }
// PR c++/48313
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<typename F>
void f(F&&) { }
// PR c++/49389
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T> T&& val();
// PR c++/48457, Core 1238
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T>
T&& create();
// PR c++/49458
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
typedef void ftype();
// DR 1328
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T> struct A {
operator T&(); // #1
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T> T&& declval();
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-do run }
void f(int &);
// PR c++/45401
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
typedef int &__restrict restrictLvref;
typedef restrictLvref &&rvrefToRestrictLvref;
// PR c++/41815
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<typename T, typename U> struct same_type;
template<typename T> struct same_type<T, T> {};
// PR c++/44870
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
void foo(int&& data);
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// PR c++/33235
#include <cassert>
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
struct A
{
// Test overload resolution among reference types
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <bool> struct sa;
template <> struct sa<true> {};
// Test overload resolution among reference types
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-skip-if "packed attribute missing for struct one/three/five/seven" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
// Test overload resolution among reference types
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <bool> struct sa;
template <> struct sa<true> {};
// Test overload resolution among reference types
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-skip-if "packed attribute missing for struct one/three/five/seven" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
// Test overload resolution among reference types
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <bool> struct sa;
template <> struct sa<true> {};
// Test overload resolution among reference types
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-skip-if "packed attribute missing for struct one/three/five/seven" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
// Test overload resolution among reference types
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <bool> struct sa;
template <> struct sa<true> {};
// Test overload resolution among reference types
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-skip-if "packed attribute missing for struct one/three/five/seven" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
// Test overload resolution among reference types
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <bool> struct sa;
template <> struct sa<true> {};
// Test overload resolution among reference types
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-skip-if "packed attribute missing for struct one/three/five/seven" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
// Test overload resolution among reference types
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <bool> struct sa;
template <> struct sa<true> {};
// Test overload resolution among reference types
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-skip-if "packed attribute missing for struct one/three/five/seven" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
// Test overload resolution among reference types
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <bool> struct sa;
template <> struct sa<true> {};
// Test overload resolution among reference types
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-skip-if "packed attribute missing for struct one/three/five/seven" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
// Test overload resolution among reference types
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-skip-if "packed attribute missing for struct one/three/five/seven" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
// PR c++/36744
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-do run }
struct S
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Contributed by Sylvain Pion
static int rvalue_constructions = 0;
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
enum class Color1 {
Red,
Green,
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
enum class E { e = 10 };
enum E2 { e2 = 10 };
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
enum class Col { red, yellow, green };
int x = Col::red; // { dg-error "cannot convert" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template< typename T_VECTOR >
void f(const T_VECTOR &a, decltype(a[0]) t = 0);
// PR c++/48452
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
namespace std {
template <class T> T&& declval();
}
// PR c++/48468
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-prune-output "note" }
template<class T>
// PR c++/48535
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T,
class = decltype(T{})
// PR c++/48581
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T>
T&& create();
// PR c++/48557
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T>
struct add_rval_ref
// PR c++/48531
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T,
class = decltype(T())
// PR c++/48531
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T,
class = decltype(T())
// PR c++/48530
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T,
class = decltype(T{})
// PR c++/48530
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T,
class = decltype(T())
// PR c++/48737
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<class T>
T&& create();
// PR c++/44967
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <typename T> T&& declval();
// PR c++/48744
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<class T>
struct add_rval_ref {
// PR c++/48735
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<class T,
class = decltype(T{})
// PR c++/48745
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T>
struct add_rval_ref {
// PR c++/48647
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template< class T >
T&& declval();
// PR c++/49058
// This error is not subject to SFINAE because it doesn't happen in the
// deduction context.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-prune-output "note" }
template<typename T> T val();
// PR c++/49105
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T, class = decltype(T{})>
char f(int);
// PR c++/49229
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
extern void* enabler;
// PR c++/50157
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T>
T val();
// PR c++/50324
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct complete { };
struct incomplete;
// PR c++/51047
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<typename T> T &&declval();
template<class T> decltype(declval<T>().x) f(T *);
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
namespace std { template <class T> T&& declval(); }
// PR c++/51973
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T>
void f(T t) { };
// PR c++/51989
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <typename T>
struct is_container
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
namespace std { template <class T> T&& declval(); }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T>
T&& create();
// PR c++/48113
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<typename T> T declval();
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A
{
// PR c++/48449
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T, class = decltype(T())>
char f(int);
// PR c++/48450
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
namespace std {
template <class T> T&& declval();
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
void foo()
{
static_assert(1, "okay");
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<int I>
struct accept_evens {
static_assert( I % 2 == 0, "I must be an even number"); // { dg-error "even number" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
static_assert(7 / 0, "X"); // { dg-error "non-constant condition" "non-constant" }
// { dg-warning "division by zero" "zero" { target *-*-* } 2 }
// { dg-error "7 / 0.. is not a constant expression" "not a constant" { target *-*-* } 2 }
-// { dg-options "-std=c++0x --param ggc-min-heapsize=0 --param ggc-min-expand=0 " }
+// { dg-options "-std=c++11 --param ggc-min-heapsize=0 --param ggc-min-expand=0 " }
// PR C++/30033
// Make sure that the static assert does not crash the GC.
// PR c++/50837
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<class T>
struct z
// PR c++/51397
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
static_assert('X' != '\130', "'X' has the wrong value"); // { dg-error "'X' has the wrong value" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// [basic.types]/10:
// Scalar types, standard-layout class types (Clause 9), arrays of such
// PR c++/47198
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct S
{
-// { dg-options "--std=c++0x" }
+// { dg-options "--std=c++11" }
struct S { };
-// { dg-options "--std=c++0x" }
-// { dg-options "-Wno-abi --std=c++0x" { target arm_eabi } }
+// { dg-options "--std=c++11" }
+// { dg-options "-Wno-abi --std=c++11" { target arm_eabi } }
#include <stdarg.h>
struct S { };
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename T, typename U>
struct is_same
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <class T, class U = double>
void f(T t = 0, U u = 0); // { dg-message "note" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename T, typename U = typename T::value_type>
void f(T);
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
class X {
template<typename T = int> friend void f(X) { }
// Test the "Augmented" template argument deduction when binding an lvalue to an rvalue reference.
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <bool> struct sa;
template <> struct sa<true> {};
// Tests for late-specified return type.
-// { dg-options "-std=c++0x -fabi-version=5" }
+// { dg-options "-std=c++11 -fabi-version=5" }
auto f() -> int
{
// More auto/decltype mangling tests.
-// { dg-options "-std=c++0x -fabi-version=0" }
+// { dg-options "-std=c++11 -fabi-version=0" }
template <class T>
struct B
// PR c++/38597
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<class T, class U>
auto f(T,U) -> decltype(T() + U())
// PR c++/38798, DR 770
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A {};
auto foo() -> struct A {}
// PR c++/49003
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A {
auto a() const -> decltype(this) { return this; }
// PR c++/50365
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A { int i; };
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// [basic.types]/10:
// Scalar types, trivial class types (Clause 9), arrays of such types and
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <cstddef>
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#include <cstddef>
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#include <cstddef>
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
extern "C" {
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <string>
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <string>
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
constexpr unsigned long long
operator"" _grow(unsigned long long n)
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Check that undeclared literal operator calls and literals give appropriate errors.
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Make sure embedded quotes are not a problem for string and char literals.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
long double
operator"" _Hertz(long double);
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test user-defined literals.
// Test simple operator declaration and definition.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#include <cstdint>
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Literal operators can be inline.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
extern "C"_badlinkage { // { dg-error "expected unqualified-id before" }
// PR c++/52521
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-final { scan-assembler "_Zli2_wPKc" } }
int operator "" _w(const char*);
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
class Foo
{
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test user-defined literals.
// Test simple operator declaration and definition in namespaces.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test user-defined literals.
// Test error on non-function declaration.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test user-defined literals.
// Test error on non-empty string after 'operator' keyword.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
float operator ""_abc(const char*);
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
char32_t
operator"" (char32_t C) // { dg-error "expected suffix identifier" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test user-defined literals.
// Test warning on declaration without leading underscore.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Can't have *both* literal operator template and raw literal operator.
-// { dg-options "-std=c++0x -Woverflow" }
+// { dg-options "-std=c++11 -Woverflow" }
// PR c++/52654
int
-// { dg-options -std=c++0x }\r
+// { dg-options -std=c++11 }\r
// PR c++/52654\r
\r
int\r
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
int
operator"" _badpreproc(const char *str)
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// PR c++/50958
typedef decltype(sizeof(0)) size_type;
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Make sure handing a string to a raw literal generates a sensible error message.
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <cassert>
#include <cstring>
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#include <string>
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
#include <cstdint>
#include <cassert>
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// Test that the standard suffixes shadow any user-defined suffixes of the same name.
long double
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// PR c++/50941
typedef decltype(sizeof(0)) size_type;
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#include <string>
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#include "udlit_system_header"
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Test user-defined literals.
// Test template operator declaration and definition.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<char...>
int operator"" _xyz(unsigned long long); // { dg-error "has invalid argument list" }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<char...>
int operator"" _abc();
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
class Foo { };
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
class Foo { };
-// Negative test for C++0x unrestricted unions
-// { dg-options -std=c++0x }
+// Negative test for C++11 unrestricted unions
+// { dg-options -std=c++11 }
// { dg-prune-output "implicitly deleted because" }
struct A
-// Positive test for C++0x unrestricted unions
-// { dg-options -std=c++0x }
+// Positive test for C++11 unrestricted unions
+// { dg-options -std=c++11 }
struct A
{
-// Runtime test for C++0x unrestricted unions
-// { dg-options -std=c++0x }
+// Runtime test for C++11 unrestricted unions
+// { dg-options -std=c++11 }
// { dg-do run }
int c, d;
// PR c++/48537
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct SFoo
{
// PR c++/49803
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct X
{
// Test: Unamed rvalue references are treated as lvalues.
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <bool> struct sa;
template <> struct sa<true> {};
// PR c++/45236
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T, class S> class foo;
// { dg-do run }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
// A basic implementation of TR1's bind using variadic teplates
// Contributed by Douglas Gregor <doug.gregor@gmail.com>
#include <cassert>
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
#define ONE
#define TWO
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin: PR c++/39637
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<class... Types>
void
// PR c++/49205
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
#include <initializer_list>
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename ... Elements> class Tuple;
Tuple<>* t; // OK: Elements is empty
Tuple* u; // { dg-error "template-name" }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... Types> struct Tuple { };
Tuple<> t0; // Types contains no arguments
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... Types>
void f(Types... args);
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... Types>
void f(Types... rest);
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename T, typename U> struct is_same {
static const bool value = false;
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<class T> class A { /* ... */ };
template<class T, class U = T> class B { /* ... */ };
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<class... Types> struct B { // { dg-error "declaration of" }
void f3();
void f4();
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<class X, class Y, class... Z> X f(Y); // { dg-message "note" }
void g()
{
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<class X, class Y, class Z> X f(Y,Z); // { dg-message "note" }
template<class... Args> void f2();
void g()
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... Types> void f(Types... values);
void g()
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<class...> struct Tuple { };
template<class... Types> void f(Types&...);
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename...> struct Tuple { };
template<typename... Types> char& g(Tuple<Types...>); // #1
template<typename T1, typename... Types> short& g(Tuple<T1, Types...>); // #2
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<class> struct X { static const bool primary = true; };
template<class R, class... ArgTypes> struct X<R(int, ArgTypes...)> {
static const bool primary = false;
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... Args> char& f(Args... args); // #1
template<typename T1, typename... Args> short& f(T1 a1, Args... args); // #2
template<typename T1, typename T2> int& f(T1 a2, T2 a3); // #3
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T, class U> struct A { };
template<class... T, class ... U> void f( A<T,U>... p);
// { dg-do run }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
// A basic implementation of TR1's function using variadic teplates
// Contributed by Douglas Gregor <doug.gregor@gmail.com>
#include <cassert>
// { dg-do run }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
// PR c++/33510
#define SIZE_FROM_CTOR
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct int_placeholder;
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
// { dg-do run }
// A basic implementation of TR1's mem_fn using variadic teplates
// Contributed by Douglas Gregor <doug.gregor@gmail.com>
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Contributed by Peter Dimov
// PR c++/32597
#include <assert.h>
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// PR c++/32597
#include <assert.h>
#include <new>
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class... T>
void f(T..., int, T...) { }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// PR c++/33939
template<typename T>
struct refs_only;
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-prune-output "note" }
// PR c++/33509
template<int M, int N> struct pair
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// PR c++/34101
template<typename> struct A {};
// { dg-do run }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
// An implementation of TR1's <tuple> using variadic teplates
// Contributed by Douglas Gregor <doug.gregor@gmail.com>
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin: PR c++/40155
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-do compile }
template <typename T> struct identity
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename...> struct tuple { };
template<typename... Args1, typename... Args2>
// PR c++/50086
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<typename T> void tfun();
template<typename T> void fun1(T);
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename...>
class tuple;
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename T1, typename T2>
struct pair {};
// PR c++/43143
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename T>
T&& declval();
// PR c++/43382
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<class T>
struct Container
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct nAny {
template<class... T>
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<class T>
T&& create();
// PR c++/47289
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
// { dg-prune-output "note" }
template <template <typename... __ARGS> class _F, typename... _ARGS>
// Origin: PR c++/47326
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-do compile }
template <int _N>
// PR c++/48451
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
namespace std {
template <class T> T&& declval();
// PR c++/48736
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T>
T&& create();
// PR c++/48292
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <typename... Args> int g(Args...);
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename...> struct count;
template<>
// PR c++/45698
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class... Ts> struct tuple { };
// PR c++/48424
-// { dg-options "-std=c++0x -fabi-version=0" }
+// { dg-options "-std=c++11 -fabi-version=0" }
template<typename... Args1>
struct S
// PR c++/49420
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct A { };
// PR c++/49251
-// { dg-options "-std=c++0x -Wunused-parameter" }
+// { dg-options "-std=c++11 -Wunused-parameter" }
struct A {};
template <int> int f(A);
// PR c++/49785
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <typename, typename ...> struct B { };
template <typename> class A;
// PR c++/49593
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<typename... T> void f(T...) { }
// Origin: PR c++/48320
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class... T>
struct tuple
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class T> struct A { typedef T type; };
// This should fail deduction, before it produces a candidate.
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <class... T>
void f(T... ts); // { dg-message "deduction" }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
// A tuple type
template<typename... Args> struct tuple { };
// PR c++/51507
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<typename ...>
struct foo { typedef void type; };
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... Args> struct tuple1 { };
template<typename... Args> struct tuple2 { };
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template <typename ...> struct S;
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename R, typename... ArgTypes>
struct make_function_type
{
// PR c++/56782
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<class T>
T&& declval();
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename R, typename... ArgTypes>
struct make_function_type
{
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename R, typename... ArgTypes>
struct make_function_type
{
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename R, typename... ArgTypes>
struct make_function_type
{
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename...> class tuple { };
template<typename T, template<typename T> class... Metafunctions>
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... Args>
struct tuple {
static const int value = 0;
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... Args = int> // { dg-error "default argument" }
class tuple2;
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename T> struct add_pointer;
template<typename T> struct add_reference;
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename T, int... Dims>
struct array { };
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename R, typename... ArgTypes>
struct make_function_type
{
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename T, int... Dims>
struct array {
static const int value = 0;
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename T, T... Values>
struct vector_c { };
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<int... Values>
struct sum;
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<template<int, int> class Meta, int Initial, int... Values>
struct accumulate {
static const int value = Initial;
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename Signature>
struct function_traits;
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename Signature>
struct function_traits;
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename Signature>
struct function_traits;
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... Args>
class tuple {};
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... T>
void eat(T...);
-// { dg-options "-std=gnu++0x -g" }
+// { dg-options "-std=gnu++11 -g" }
template<typename... T>
void eat(T...) { }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... T>
void eat(const T&...) { }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
void print_all() {}
template<typename T, typename... Rest>
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<int I, typename... Args>
void get_ith(const Args&... args);
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<int I, typename... Args>
void get_ith(const Args&... args); // { dg-message "note" }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename T, typename... Args>
void f(const T&, const Args&... args)
{
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... Values>
struct tuple
{
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<int... Values>
struct int_vec {};
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... Args>
struct tuple {};
-// { dg-options "-std=gnu++0x -fabi-version=0" }
+// { dg-options "-std=gnu++11 -fabi-version=0" }
// { dg-do compile }
template<typename... Args>
class tuple {};
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... Values, typename T>
struct backward_tuple {}; // { dg-error "end" }
// A function parameter pack is only deduced if it's at the end
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... Args>
void f(const Args&... args, int oops);
-// { dg-options "-std=gnu++0x -fabi-version=5" }
+// { dg-options "-std=gnu++11 -fabi-version=5" }
// { dg-do compile }
template<typename... Args>
void f(Args...) { }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... Args>
int f(const Args&...);
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
// { dg-do compile }
template<typename... Args>
int f(const Args&...);
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... Args>
int& f(Args...);
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... Args>
int& f(Args&...);
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename T> struct wrap { };
template<typename... Args>
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename T, typename... Args>
int& f(const T&, Args...);
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
int& f(...);
template<typename... Args>
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... Args>
struct tuple {
static const int value = 0;
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
int& f(int, double, ...);
template<typename... Args>
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename T1, typename T2>
float& f(T1, T2);
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename T, T... Values>
struct vector_c { };
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename F, typename... BoundArgs>
class bound_functor
{
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename F, typename... BoundArgs>
class bound_functor
{
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename F, typename... BoundArgs>
class bound_functor
{
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... Elements>
struct tuple { };
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename T, int... Dims>
struct array {
int foo();
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
#include <typeinfo>
template<typename... Args>
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<class T, typename... VarArgs>
void print(T t, VarArgs args); // { dg-error "packs not expanded" }
// { dg-message "VarArgs" "note" { target *-*-* } 3 }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename ... Args>
struct tuple_base {};
-// { dg-options "-std=gnu++0x -pedantic" }
+// { dg-options "-std=gnu++11 -pedantic" }
template<typename... Args> class tuple;
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<int... Indexes>
struct _Index_tuple { };
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
struct unused;
template<typename T1 = unused, typename T2 = unused, typename T3 = unused,
typename T4 = unused, typename T5 = unused, typename T6 = unused>
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename Result, typename Functor, typename... ArgTypes>
Result bind(Functor, ArgTypes...) { }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... Elements> struct tuple {};
template<typename... Args>
// { dg-do run }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
extern "C" void abort();
template<typename T, T... Values>
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename T>
struct stored_value
{
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... Args>
struct tuple_base {
static const int value = 0;
// { dg-do run }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template <typename T, T... Args> struct bomb;
template <typename T>
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename...> struct list {};
template<typename Sequence, typename Head>
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
struct A {};
struct B {};
struct C {};
// { dg-do run }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
struct A {};
struct B {};
struct C {};
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename...> struct tuple { };
// PR c++/33496
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<int... N> int foo ()
{
// PR c++/33496
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<int M, int N> struct pair
{
// PR c++/33496
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<int M, int N> struct pair
{
// PR c++/33213
// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<template<typename> class...> struct A;
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename... Args>
struct tuple_base {
static const int value = 0;
// PR c++/31434
// { dg-do run }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
extern "C" void abort ();
// PR c++/33461
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename> struct A;
// PR c++/33461
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename> struct A;
// PR c++/31441
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename> struct A;
// PR c++/32565
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename...> struct A1;
template<template<int...> class T> struct A1<T<0> > {};
// PR c++/32565
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename...> struct A1;
template<template<int, int...> class T> struct A1<T<0, 1> > {};
// PR c++/33943
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename... A> struct foo {};
// PR c++/33965
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<typename T>
struct foo
{
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<template<typename...> class TT>
TT<int, float, double> foo(TT<int, float>)
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// Contributed by Eric Niebler
template<typename T, typename U>
struct pair
-// { dg-options "-std=gnu++0x" }
+// { dg-options "-std=gnu++11" }
template<typename T1, typename T2>
struct pair {};
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<template<typename...> class TT>
struct X { };
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<int N> struct Int2Type { };
template<typename... T>
// Various tests for variadic templates and partial specialization.
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// PR c++/36846
template<typename A, typename B>
// PR c++/35297
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <class T=int, class... ARGS>
struct test2 {};
// PR c++/40595
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<int N>
struct S
// PR c++/39863
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template <typename... T>
struct A {};
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin: PR c++/41785
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
struct a {};
// PR c++/42266
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
template<typename... _Elements>
class tuple;
// PR c++/42358
// { dg-do assemble }
-// { dg-options -std=c++0x }
+// { dg-options -std=c++11 }
typedef __PTRDIFF_TYPE__ ptrdiff_t;
typedef __SIZE_TYPE__ size_t;
// PR c++/43054
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename R> struct future { };
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename ... Args>
struct foo
{
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A {};
template<typename... T> struct B : T...
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename... T> struct A
{
int i __attribute__((aligned(__alignof(T)))); // { dg-error "parameter packs|T" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A
{
operator int();
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename... T, typename = T> struct A {}; // { dg-error "must be at the end" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// PR c++/34055
template<typename...> struct A;
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// PR c++/34102
struct A {};
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// PR c++/34103
template<typename> struct A {};
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<template<typename... T> class Comp, typename... T> void f( T... Value)
{
static_assert( Comp<T>::value > 0, "" ); // { dg-error "parameter packs|T" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename T, T a, T... Params>
struct max
{
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename Fun, typename... Args> // { dg-error "template parameter" }
struct call;
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<int...> struct A
{
void foo();
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename...> struct A;
template<typename T, typename... U> struct A<T, U> // { dg-error "parameter packs|U" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// PR c++/34751
struct A {};
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename... T> struct A
{
template<T> struct B {}; // { dg-error "not expanded|T" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<template<int> class... T> struct A
{
void foo(T<0>); // { dg-error "not expanded|T" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename> struct A {};
template<template<typename> class... T> void foo(T<int>) {} // { dg-error "not expanded|T" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<int... N> struct A
{
static void foo()
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename... T> struct A
{
static const int i __attribute__((aligned(__alignof(T)))) = 0; // { dg-error "not expanded|T" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename... T> int foo()
{
T t; // { dg-error "parameter packs|T" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename... T> int foo()
{
typename T::X x; // { dg-error "parameter packs|T" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename... T> struct A
{
T* x[1]; // { dg-error "parameter packs|T" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename _Tp>
_Tp&& forward(_Tp&& __t) { return __t; } // { dg-message "note" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A
{
template<typename... T> struct B;
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
struct A {};
template<typename... T> struct B : T...
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<typename...> struct A;
template<typename...T> struct A<T*> // { dg-error "not expanded|T" }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
// { dg-prune-output "note" }
void f() { }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template<class U, class... T>
void f() // { dg-message "note" }
// { dg-do compile }
-// { dg-options "-std=c++0x" }
+// { dg-options "-std=c++11" }
template <typename... Types> struct package {};