view gcc/testsuite/g++.dg/cpp1y/feat-cxx98-neg.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 04ced10e8804
children
line wrap: on
line source

// { dg-do compile { target c++98_only } }

//  C++11 features:

#ifndef __cpp_runtime_arrays
#  error "__cpp_runtime_arrays" // { dg-error "error" }
#endif

#ifndef __cpp_unicode_characters
#  error "__cpp_unicode_characters" // { dg-error "error" }
#endif

#ifndef __cpp_raw_strings
#  error "__cpp_raw_strings" // { dg-error "error" }
#endif

#ifndef __cpp_unicode_literals
#  error "__cpp_unicode_literals" // { dg-error "error" }
#endif

#ifndef __cpp_user_defined_literals
#  error "__cpp_user_defined_literals" // { dg-error "error" }
#endif

#ifndef __cpp_lambdas
#  error "__cpp_lambdas" // { dg-error "error" }
#endif

#ifndef __cpp_constexpr
#  error "__cpp_constexpr" // { dg-error "error" }
#endif

#ifndef __cpp_static_assert
#  error "__cpp_static_assert" // { dg-error "error" }
#endif

#ifndef __cpp_decltype
#  error "__cpp_decltype" // { dg-error "error" }
#endif

#ifndef __cpp_attributes
#  error "__cpp_attributes" // { dg-error "error" }
#endif

#ifndef __cpp_rvalue_references
#  error "__cpp_rvalue_references" // { dg-error "error" }
#endif

#ifndef __cpp_variadic_templates
#  error "__cpp_variadic_templates" // { dg-error "error" }
#endif

#ifndef __cpp_initializer_lists
#  error "__cpp_initializer_lists" // { dg-error "error" }
#endif

#ifndef __cpp_delegating_constructors
#  error "__cpp_delegating_constructors" // { dg-error "error" }
#endif

#ifndef __cpp_nsdmi
#  error "__cpp_nsdmi" // { dg-error "error" }
#endif

#ifndef __cpp_inheriting_constructors
#  error "__cpp_inheriting_constructors" // { dg-error "error" }
#endif

#ifndef __cpp_ref_qualifiers
#  error "__cpp_ref_qualifiers" // { dg-error "error" }
#endif

#ifndef __cpp_alias_templates
#  error "__cpp_alias_templates" // { dg-error "error" }
#endif

// C++14 features:

// C++98 gets binary literals in non-ANSI modes.
//#ifndef __cpp_binary_literals
//#  error "__cpp_binary_literals"
//#endif

#ifndef __cpp_init_captures
#  error "__cpp_init_captures" // { dg-error "error" }
#endif

#ifndef __cpp_generic_lambdas
#  error "__cpp_generic_lambdas" // { dg-error "error" }
#endif

#ifndef __cpp_decltype_auto
#  error "__cpp_decltype_auto" // { dg-error "error" }
#endif

#ifndef __cpp_return_type_deduction
#  error "__cpp_return_type_deduction" // { dg-error "error" }
#endif

#ifndef __cpp_aggregate_nsdmi
#  error "__cpp_aggregate_nsdmi" // { dg-error "error" }
#endif

#ifndef __cpp_variable_templates
#  error "__cpp_variable_templates" // { dg-error "error" }
#endif

#ifndef __cpp_digit_separators
#  error "__cpp_digit_separators" // { dg-error "error" }
#endif

#ifndef __cpp_sized_deallocation
#  error "__cpp_sized_deallocation" // { dg-error "error" }
#endif

// C++17 features:

#ifndef __cpp_namespace_attributes
#  error "__cpp_namespace_attributes" // { dg-error "error" }
#endif

#ifndef __cpp_nested_namespace_definitions
#  error "__cpp_nested_namespace_definitions" // { dg-error "error" }
#endif

//  C++11 attributes:

#ifdef __has_cpp_attribute
#  if __has_cpp_attribute(noreturn) == 200809
#    error "__has_cpp_attribute(noreturn) == 200809" // { dg-error "error" }
#  endif
#else
#  error "__has_cpp_attribute"
#endif

//  Attribute carries_dependency not in yet.
//#ifdef __has_cpp_attribute
//#  if __has_cpp_attribute(carries_dependency) == 200809
//#    error "__has_cpp_attribute(carries_dependency) == 200809" // {  }
//#  endif
//#else
//#  error "__has_cpp_attribute"
//#endif

//  C++14 attributes:

//  Attribute [[deprecated]] is allowed in C++11 as an extension.
//#ifdef __has_cpp_attribute
//#  if __has_cpp_attribute(deprecated) == 201309
//#    error "__has_cpp_attribute(deprecated)" // {  }
//#  endif
//#else
//#  error "__has_cpp_attribute"
//#endif