X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ebcb91551aa801d2353d854ffe9c1d1bf72d7db9..aec830b8423c13c5c31e3db71361a449bfacd8ed:/src/xbt/ex.cpp diff --git a/src/xbt/ex.cpp b/src/xbt/ex.cpp index 50a97f1666..c35a90e403 100644 --- a/src/xbt/ex.cpp +++ b/src/xbt/ex.cpp @@ -1,45 +1,9 @@ /* ex - Exception Handling */ -/* Copyright (c) 2005-2017. The SimGrid Team. All rights reserved. */ - -/* Copyright (c) 2002-2004 Ralf S. Engelschall */ -/* Copyright (c) 2002-2004 The OSSP Project */ -/* Copyright (c) 2002-2004 Cable & Wireless */ -/* All rights reserved. */ - -/* This code is inspirated from the OSSP version (as retrieved back in 2004)*/ -/* It was heavily modified to fit the SimGrid framework. */ - -/* The OSSP version has the following copyright notice: -** OSSP ex - Exception Handling -** Copyright (c) 2002-2004 Ralf S. Engelschall -** Copyright (c) 2002-2004 The OSSP Project -** Copyright (c) 2002-2004 Cable & Wireless -** -** This file is part of OSSP ex, an exception handling library -** which can be found at http://www.ossp.org/pkg/lib/ex/. -** -** Permission to use, copy, modify, and distribute this software for -** any purpose with or without fee is hereby granted, provided that -** the above copyright notice and this permission notice appear in all -** copies. -** -** THIS SOFTWARE IS PROVIDED `AS IS'' AND ANY EXPRESSED OR IMPLIED -** WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -** IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR -** CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -** USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -** OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -** SUCH DAMAGE. - */ - -/* The extensions made for the SimGrid project can either be distributed */ -/* under the same license, or under the LGPL v2.1 */ +/* Copyright (c) 2005-2018. The SimGrid Team. All rights reserved. */ + +/* This program is free software; you can redistribute it and/or modify it + * under the terms of the license (GNU LGPL) which comes with this package. */ #include #include @@ -52,17 +16,20 @@ #include "xbt/log.hpp" #include "xbt/backtrace.h" #include "xbt/backtrace.hpp" -#include "xbt/str.h" #include "src/xbt_modinter.h" /* backtrace initialization headers */ #include "simgrid/sg_config.h" /* Configuration mechanism of SimGrid */ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(xbt_ex, xbt, "Exception mechanism"); +// Don't define ~xbt_ex() in ex.hpp. It is defined here to ensure that there is an unique definition of xt_ex in +// libsimgrid, but not in libsimgrid-java. Otherwise, sone tests are broken (seen with clang/libc++ on freebsd). +xbt_ex::~xbt_ex() = default; + void _xbt_throw(char* message, xbt_errcat_t errcat, int value, const char* file, int line, const char* func) { xbt_ex e(simgrid::xbt::ThrowPoint(file, line, func), message); - free(message); + xbt_free(message); e.category = errcat; e.value = value; throw e; @@ -186,7 +153,7 @@ XBT_TEST_UNIT("variables", test_variables, "variable value preservation") { xbt_ex_t ex; int r1; - int XBT_ATTRIB_UNUSED r2; + XBT_ATTRIB_UNUSED int r2; int v1; int v2;