File: isl_test_cpp17-checked.cc

package info (click to toggle)
llvm-toolchain-20 1%3A20.1.8-1~exp1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 2,111,388 kB
  • sloc: cpp: 7,438,767; ansic: 1,393,871; asm: 1,012,926; python: 241,728; f90: 86,635; objc: 75,411; lisp: 42,144; pascal: 17,286; sh: 10,027; ml: 5,082; perl: 4,730; awk: 3,523; makefile: 3,349; javascript: 2,251; xml: 892; fortran: 672
file content (41 lines) | stat: -rw-r--r-- 775 bytes parent folder | download | duplicates (21)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <stdlib.h>

#include <exception>
#include <iostream>

#include <isl/options.h>
#include <isl/cpp-checked.h>

/* Select the "checked" interface.
 */
namespace isl { using namespace checked; }

/* Print an error message and abort.
 */
static void die_impl(const char *file, int line, const char *message)
{
	std::cerr << file << ":" << line << ": " << message << "\n";
	exit(EXIT_FAILURE);
}

#define die(msg) die_impl(__FILE__, __LINE__, msg)

#include "isl_test_cpp17-generic.cc"

/* Test the C++17 specific features of the isl checked C++ interface
 *
 * In particular, test
 *  - id::try_user
 */
int main()
{
	isl_ctx *ctx = isl_ctx_alloc();

	isl_options_set_on_error(ctx, ISL_ON_ERROR_ABORT);

	test_try_user(ctx);

	isl_ctx_free(ctx);

	return EXIT_SUCCESS;
}