const char * assertion_role,
int continuation_mode);
-void handle_contract_violation(const std::contract_violation &violation) {
+void handle_contract_violation(const std::experimental::contract_violation &violation) {
std::cerr << "custom std::handle_contract_violation called:"
<< " " << violation.line_number()
<< " " << violation.file_name()
const char * assertion_role,
int continuation_mode);
-void handle_contract_violation(const std::contract_violation &violation) {
+void handle_contract_violation(const std::experimental::contract_violation &violation) {
std::cerr << "custom std::handle_contract_violation called:"
<< " " << violation.line_number()
<< " " << violation.file_name()
#include <iostream>
#include <experimental/contract>
-void handle_contract_violation(const std::contract_violation &violation) {
+void handle_contract_violation(const std::experimental::contract_violation &violation) {
std::cerr << "custom std::handle_contract_violation called:"
<< " " << violation.line_number()
<< " " << violation.file_name()
#include <iostream>
#include <experimental/contract>
-void handle_contract_violation(const std::contract_violation &violation) {
+void handle_contract_violation(const std::experimental::contract_violation &violation) {
std::cerr << "custom std::handle_contract_violation called:"
<< " " << violation.line_number()
<< " " << violation.file_name()
// { dg-additional-options "-fmodules-ts -fcontracts -fcontract-continuation-mode=on" }
module;
#include <cstdio>
-#include <contract>
+#include <experimental/contract>
export module foo;
// { dg-module-cmi foo }
export int violation_count{0};
-extern "C++" export void handle_contract_violation(const std::contract_violation &violation)
+extern "C++" export void handle_contract_violation(const std::experimental::contract_violation &violation)
{
violation_count++;
printf("violation_count: %d\n", violation_count);
// { dg-additional-options "-fmodules-ts -fcontracts -fcontract-role=default:maybe,maybe,ignore" }
module;
#include <cstdio>
-#include <contract>
+#include <experimental/contract>
export module foo;
// { dg-module-cmi foo }
export int violation_count{0};
export int violation_line_sum{0};
-extern "C++" export void handle_contract_violation(const std::contract_violation &violation)
+extern "C++" export void handle_contract_violation(const std::experimental::contract_violation &violation)
{
violation_count++;
violation_line_sum += violation.line_number () * violation_count;
// { dg-additional-options "-fmodules-ts -fcontracts -fcontract-continuation-mode=on" }
module;
#include <cstdio>
-#include <contract>
+#include <experimental/contract>
export module foo;
// { dg-module-cmi foo }
export int violation_count{0};
-extern "C++" export void handle_contract_violation(const std::contract_violation &violation)
+extern "C++" export void handle_contract_violation(const std::experimental::contract_violation &violation)
{
violation_count++;
printf("violation_count: %d\n", violation_count);
// { dg-additional-options "-fmodules-ts -fcontracts -fcontract-role=default:maybe,maybe,ignore" }
module;
#include <cstdio>
-#include <contract>
+#include <experimental/contract>
export module foo;
// { dg-module-cmi foo }
export int violation_count{0};
-extern "C++" export void handle_contract_violation(const std::contract_violation &violation)
+extern "C++" export void handle_contract_violation(const std::experimental::contract_violation &violation)
{
violation_count++;
printf("violation_count: %d\n", violation_count);
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
+namespace experimental
+{
// From P1332
enum class contract_violation_continuation_mode {
NEVER_CONTINUE, MAYBE_CONTINUE
{ return _M_continue; }
};
- //void handle_contract_violation (const contract_violation &);
-
- //int on_contract_violation (bool, int, const char *, const char *, const char *, const char *, const char *, int);
+} // namespace experimental
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace std
+ //void handle_contract_violation (const contract_violation &);
+
+ //int on_contract_violation (bool, int, const char *, const char *, const char *, const char *, const char *, int);
+
#endif // C++17
#endif // _GLIBCXX_CONTRACT
-// -*- C++ -*- std::contract_violation and friends
+// -*- C++ -*- std::experimental::contract_violation and friends
// Copyright (C) 1994-2018 Free Software Foundation, Inc.
//
// This file is part of GCC.
#include <cstdlib>
__attribute__ ((weak)) void
-handle_contract_violation (const std::contract_violation &violation)
+handle_contract_violation (const std::experimental::contract_violation &violation)
{
std::cerr << "default std::handle_contract_violation called: " << std::endl
<< " " << violation.file_name()
const char *assertion_role,
int continuation_mode)
{
- using cvmc = std::contract_violation_continuation_mode;
- std::contract_violation violation (line_number,
+ using cvmc = std::experimental::contract_violation_continuation_mode;
+ std::experimental::contract_violation violation (line_number,
file_name,
function_name,
comment,