Commit Graph

313 Commits

Author SHA1 Message Date
Giles Bathgate 3a725499ad Introduces CGAL_NOEXCEPT macro.
This macro is available for future compatibility with c++11, which
by default marks destructors noexcept(true). Some destructors
in CGAL do throw exceptions an so should be marked noexcept(false).
Since noexcept is not available in c++0x and below the macro is
disabled when CGAL_CXX11 is not defined since it is not required.
2015-11-23 16:47:59 +00:00
Andreas Fabri 2ce8b07ec0 Define BOOST_PARAMETER_MAX_ARITY in <CGAL/config.h>
This macro has to be larger than the default value
and it must be set before including <boost/parameter.hpp>

Instead of setting it to 12 in the packages that
need it, we do this in <CGAL/config.h> and produce
an error if a user has set it to a value < 12
2015-11-16 11:21:31 +01:00
Andreas Fabri 6b2c4dd7c6 Merge branch 'CGLAL-thread_local_storage-GF-old' into CGLAL-thread_local_storage-GF 2015-11-09 14:26:42 +01:00
Volodymyr Boichentsov f06bea8d8d fixed boost endianness check 2015-10-09 09:26:00 +01:00
Volodymyr Boichentsov 64cceb7bb4 revert back arch's define check 2015-10-08 07:26:09 +01:00
Volodymyr Boichentsov ee8d3d7fa3 added endianness check with boost
added few more arch's
added include for `<OpenGLES/ES2/gl.h>` header for ios
2015-10-07 22:43:08 +01:00
Andreas Fabri ca54af03c2 Use <mutex> starting with Visual 2012 and g++ 4.8 with std=c++11 2015-10-05 12:19:13 +02:00
Andreas Fabri a14cf913e9 WIP: In Lazy.h we now have a single macro for boost and c++11 thread 2015-09-11 14:54:11 +02:00
Andreas Fabri aa649eccc9 bug fix 2015-09-11 08:58:32 +02:00
Andreas Fabri 434e66a0f1 move detection of that the keyword threadlocal can be used from Mpzf.h to config.h 2015-09-10 12:44:52 +02:00
Andreas Fabri bf975ead95 No longer forward declare struct std:hash 2015-08-23 14:30:54 +02:00
Andreas Fabri 5db9675db8 Add #defines to trick moc 2015-01-19 17:54:26 +01:00
Jane Tournois 6b6af12353 fix the BOOST_JOIN parse error in demos
somehow, boost/random.hpp includes boost/type_traits/has_binary_operator.hpp,
and the "parse error" happens in this file (as said in the bug report)

Also update the link to the official Qt bug report
2014-12-11 12:17:44 +01:00
Andreas Fabri 9b0a59972f Support for LEDA_numbers on Windows
trivial fix for master (and approved by the Release Manager)
2014-08-07 14:16:38 +02:00
Laurent Rineau 865eee70f7 Support LEDA with thread-support
If one use a library of LEDA that support threads, without setting
LEDA_MULTI_THREAD, then one can get segfaults when creating new LEDA
objects.
2014-08-04 15:53:58 +02:00
Sébastien Loriot 2aadba50d7 Merge branch 'BGL-redesign_final-GF'
Introduces a redesign of the CGAL extension of the BGL API

Successfully tested in CGAL-4.5-Ic-90
Approved by the Release Manager

Conflicts:
	Surface_mesh_segmentation/test/Surface_mesh_segmentation/test_compute_sdf_values_and_segment_exact_rational.cpp
2014-07-08 19:45:16 +02:00
Andreas Fabri c726cedbbb As BOOST_NO_CXX11_RANGE_BASED_FOR has been introduced with Boost 1.51
we need a CGAL macro
2014-07-03 09:24:20 +02:00
Marc Glisse 897f585f12 Merge branch 'Kernel_d-rewrite-glisse-old' into Kernel_d-rewrite-glisse
Need the Interval_nt/long interoperability for Eigen.
2014-05-07 18:41:17 +02:00
Laurent Rineau cf5d6e041e Use pragmas to fix warnings 2014-04-10 20:06:04 +02:00
Marc Glisse 1241b2f14f Use boost::int128_type instead of __int128. This makes __extension__
useless, hence removed.
2014-03-13 17:06:43 +01:00
Marc Glisse b257e85427 Rework test for __int128 availability. 2014-03-13 16:50:22 +01:00
Marc Glisse 09f3db2025 define CGAL_CXX11. 2014-03-12 14:07:47 +01:00
Laurent Rineau d8c4aa09df Merge branch 'Number_types-sse2fabs-GF'
Use SSE2 to implement CGAL::abs(double), with MSVC.

Tested in CGAL-4.4-Ic-119.
2014-02-17 16:21:13 +01:00
Sébastien Loriot cae96035cb work around a bug of MSVC2013 for initializer lists
http://connect.microsoft.com/VisualStudio/feedback/details/792161/constructor-initializer-list-does-not-support-braced-init-list-form
2014-02-13 17:45:53 +01:00
Andreas Fabri fccd75b4c5 Use a more specific test for switching to SSE2 for fabs 2014-01-31 16:18:48 +01:00
Andreas Fabri c1f46dc382 As std::fabs is slow on Windows, we switch to an implementation using sse2.
This version is already in CGAL, but it is protected with an #ifdef
So this commit consists of a #define for VC++
2014-01-15 16:35:14 +01:00
Andreas Fabri 2860662f77 Merge branch 'Installation-visual_leak_detector-lrineauTMP' into Installation-visual_leak_detector-lrineau 2013-11-19 14:46:39 +01:00
Marc Glisse b53de35ff6 Work around Boost changing the name of their macros every other release.
Work around Microsoft defining min/max as macros.
2013-11-01 14:46:20 +01:00
Laurent Rineau 3ac5e524a2 Fix a trivial parsing bug in CGAL_assume
A warning of clang showed me my mistake:

In file included from /no-raid/home/lrineau/CGAL/CGAL-4.4-I-10/cmake/platforms/x86-64_Linux-Fedora18_llvm-clang-with-g++-4.7/test/Kinetic_data_structures/timings.cpp:14:
In file included from /no-raid/home/lrineau/CGAL/CGAL-4.4-I-10/include/CGAL/Kinetic/Delaunay_triangulation_3.h:32:
In file included from /no-raid/home/lrineau/CGAL/CGAL-4.4-I-10/include/CGAL/Delaunay_triangulation_3.h:31:
In file included from /no-raid/home/lrineau/CGAL/CGAL-4.4-I-10/include/CGAL/Triangulation_3.h:37:
/no-raid/home/lrineau/CGAL/CGAL-4.4-I-10/include/CGAL/Triangulation_data_structure_3.h:938:7: warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]
      CGAL_assume(index_v_in_n0 <= 1);
      ^                         ~~
/no-raid/home/lrineau/CGAL/CGAL-4.4-I-10/include/CGAL/assertions.h:86:29: note: expanded from macro 'CGAL_assume'
#    define CGAL_assume(EX) CGAL_ASSUME(EX)
                            ^
/no-raid/home/lrineau/CGAL/CGAL-4.4-I-10/include/CGAL/config.h:334:30: note: expanded from macro 'CGAL_ASSUME'
#  define CGAL_ASSUME(EX) if(!EX) { __builtin_unreachable(); }
                             ^
Trivial bug-fix.
2013-10-29 15:49:19 +01:00
Laurent Rineau ea6e24200c Allow the use of Visual Leak Detector
See the small feature [[Small features/Visual_Leak_Detector]] in CGAL
developers wiki:
  https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Visual_Leak_Detector

See also:
  http://vld.codeplex.com/
2013-09-11 12:25:01 +02:00
Laurent Rineau 1da90b4b8c Do not use __builtin_unreachable in strict-ansi mode 2013-03-19 17:18:12 +01:00
Laurent Rineau 220ddbf6b2 New macro CGAL_GCC_VERSION to help preprocessor conditionals on gcc version
And use it in <CGAL/refine_mesh_3.h>
2013-02-27 19:58:02 +01:00
Laurent Rineau 3f894697bc New macros CGAL_assume(EX) and CGAL_assume_code(CODE)
CGAL_assume(EX) is like CGAL_assertion, but is not disabled in release
mode. In debug mode, it is similar to CGAL_assertion(). In release mode, it
uses builtins of the compilateur, like the MSVC __assume or the g++/clang
__builtin_unreachable to give an hint to the compiler that some situation
in the code cannot happen.
2013-02-20 18:34:15 +01:00
Philipp Möller 1720fd845c No isfinite on MSVC
The advertisement is lying about what is implemented in cmath.
2013-02-15 10:48:23 +01:00
Laurent Rineau 29c05b900b Mark BOOST_STATIC_ASSERT with 'CGAL_UNUSED'
In order to fix such a warning from g++-4.8:
  warning: typedef ‘boost_static_assert_typedef_241’ locally defined but
  not used [-Wunused-local-typedefs]
then:
  - create one macro CGAL_UNUSED that is "__attribute__ ((__unused__))"
    with g++ or empty otherwise,
  - use it after BOOST_STATIC_ASSERT in the definition of
    CGAL_static_assertion.
2013-02-07 18:15:23 +01:00
Laurent Rineau 4b38c0b73e The Intel Compiler has the "bug" CGAL_CFG_NO_STATEMENT_EXPRESSIONS.
The Intel Compiler, even when it tries to emulate the GNU/C++ compiler,
does not implement the GNU extension "statement expressions". The macro
CGAL_CFG_NO_STATEMENT_EXPRESSIONS must be defined with __INTEL_COMPILER is
defined.
2013-01-07 13:01:21 +01:00
Philipp Möller f16a152aec Make the feature checks more resilient to old Boost.Versions 2012-12-19 16:24:14 +01:00
Philipp Möller cd7c3e3592 Use the right BOOST_VERSION
When one is using the non-deprecated form of the macro, the version of
the deprecation has to be used - not the version where the original
macro appeared first.
2012-12-12 11:24:07 +01:00
Philipp Möller feceb5a028 Add the macro CGAL_CFG_NO_CPP0X_UNIFIED_INITIALIZATION_SYNTAX 2012-12-11 17:41:54 +01:00
Philipp Möller ab5c017c08 Unconditionally disable NO_TR1 defines.
Those cause trouble, because on MSVC the include paths for tr1
components are different from gcc. Instead of fixing up the include
paths depending on platform, just never use a tr1 component. Nothing
of value is lost compared to the boost equivalents and it removes
another code-path.
2012-09-28 13:15:14 +00:00
Philipp Möller 8720500433 Guard some macros with an additional check against BOOST_VERSION
This will not hinder usability. Compiling a three year old Boost
release with C++11 enabled is a bad idea anyway.
2012-06-13 12:33:33 +00:00
Marc Glisse ad2e67797a next, prev, copy_n in C++11. 2012-05-20 15:09:15 +00:00
Marc Glisse c26419086e CGAL_CFG_NO_STATEMENT_EXPRESSIONS only for gcc 2012-05-20 14:15:03 +00:00
Marc Glisse 9de2b137e3 move gcc macros 2012-05-20 13:14:34 +00:00
Philipp Möller 542f5d9c51 Merged ^/branches/next here 2012-04-16 08:53:21 +00:00
Laurent Rineau 3d01e09cb8 Workaround for a bug in Boost, that checks WIN64 instead of _WIN64
https://svn.boost.org/trac/boost/ticket/5519
2012-01-30 10:15:20 +00:00
Laurent Rineau a8988af6a7 Typo in the macro Q_MOC_RUN 2012-01-26 13:22:08 +00:00
Laurent Rineau 76f6503a3f Try to fix the bug between Qt moc and "namespace BOOST_JOIN(...)" 2012-01-26 12:00:16 +00:00
Laurent Rineau 7177fa5a63 Add a check that NDEBUG is not defined by test platforms 2012-01-25 11:14:17 +00:00
Philipp Möller 6415622971 Removed unused define. 2011-12-14 10:38:31 +00:00
Laurent Rineau dfba14f23c Rename <CGAL/$LIB/export.h> to <CGAL/export/$LIB.h> 2011-10-12 09:43:19 +00:00
Sébastien Loriot 91a5327fa8 change LGPLv2 -> LGPLv3 2011-10-10 13:48:25 +00:00
Laurent Rineau 3d3662850e <CGAL/export.h> must be included *after* <CGAL/compiler_config.h>
because CGAL_BUILD_SHARED_LIB is defined in the later.
2011-10-07 14:26:14 +00:00
Andreas Fabri cbfe32ce37 Add declspecs for Visual C++ so that we can build dlls 2011-10-05 19:12:23 +00:00
Sébastien Loriot dff6dda8b3 Remove from copyright holder
Freie Universitaet Berlin (Germany), Martin-Luther-University Halle-Wittenberg
(Germany) and RISC Linz (Austria) as they transfer the copyright to other
sites.
2011-09-21 19:46:31 +00:00
Laurent Rineau 32883cfb33 Revert my revision 57078. That was stupid: undefined macros will also
trigger a compilation error!
2010-06-24 16:57:37 +00:00
Laurent Rineau f0438cad2c Turn #warning into #error. This is only for SunPro with an incorrect STL. 2010-06-24 16:10:24 +00:00
Laurent Rineau f306daec83 Sort of poisoning of CGAL_(BEGIN|END)_NAMESPACE when
CGAL_NO_DEPRECATED_CODE is defined.
2010-06-24 16:07:39 +00:00
Sylvain Pion 93f042b6d7 Fix indentation. 2010-06-10 16:14:31 +00:00
Sébastien Loriot 825835fc74 CGAL namespace macro inside CGAL_NO_DEPRECTED_CODE if statement 2010-06-09 11:56:53 +00:00
Sébastien Loriot 52317dd49f add python script (replace_CGAL_NAMESPACE.py) to replace CGAL_BEGIN_NAMESPACE and CGAL_END_NAMESPACE
by namespace CGAL { and } //namespace CGAL. in all .h and .cpp files
in a directory.
Apply it to all packages in the trunk
Remove macro definition from the config.h file.
2010-06-09 07:37:13 +00:00
Laurent Rineau 0bda1d5591 Disable CGAL_Core if void* is size 8 (ie 64 bits). 2010-03-19 14:15:25 +00:00
Sylvain Pion 99be0d6d21 Post-process the CGAL_CFG_NO_CPP0X_* flags for GCC when -std=c++0x is set. 2010-01-18 18:08:14 +00:00
Sylvain Pion 7a1276a751 Generate warning on MacOSX for g++-4.0 and optimization. 2009-12-03 10:16:09 +00:00
Sylvain Pion dd9a147db5 RW STL : turn the #error into a #warning. 2009-05-26 08:18:11 +00:00
Sylvain Pion 9601658698 New config testfile to check for some C++0x feature.
gcc supports it at least in C++0x mode.
2008-12-09 14:56:51 +00:00
Sylvain Pion 1498ef01c6 Add a macro CGAL_NO_DEPRECATION_WARNINGS that disables CGAL_DEPRACATED.
(can be used by users temporarily, while they have not updated their code,
but still want to work in good conditions)
2008-07-28 18:10:41 +00:00
Sylvain Pion eff6efd3af CGAL_NULL and CGAL_NULL_TYPE are now constant macros, so replace them by:
- CGAL_NULL -> NULL
- CGAL_NULL_TYPE -> CGAL::Nullptr_t (typedef to const void *)
2008-07-12 21:58:52 +00:00
Fernando Cacciola ecb77a9897 Revert screw up of CGAL_HAS_THREADS 2008-05-28 16:19:23 +00:00
Sylvain Pion 110a5db8be Rename all C++0x related config macros to consistently have CPP0X in their name,
as in CGAL_CFG_NO_CPP0X_VARIADIC_TEMPLATES.
2008-05-21 15:34:36 +00:00
Fernando Cacciola 17c33bcd93 Avoid linking against boost-thread if that lib has not been built 2008-04-08 19:28:16 +00:00
Sylvain Pion 939eb6384e Attempt at using a common definition for CGAL_NULL and CGAL_NULL_TYPE,
not something with a GCC specific case.
2008-04-03 12:32:44 +00:00
Sylvain Pion a8243a3f12 Introduce a new macro CGAL_SUNPRO_INITIALIZE to workaround a SunPRO warning properly.
(can't write a test program for a warning)
2008-01-20 21:39:25 +00:00
Sylvain Pion 4d1b8d63e3 Remove workarounds and support for the BORLAND compiler. 2008-01-20 20:24:20 +00:00
Sylvain Pion 06131a8eb9 Remove obsolete definition of CGAL_USE_CGAL_WINDOW 2008-01-10 18:19:26 +00:00
Sylvain Pion 0d04db797e CGAL_CFG_DONT_OVERLOAD_TOO_MUCH is only needed by SunPRO. 2008-01-03 16:47:40 +00:00
Sylvain Pion 64f23bbc47 Sun_fixes.h is now so small, let's merge it in config.h. 2008-01-03 15:26:51 +00:00
Sylvain Pion 2b46416907 Remove more SUNPRO + RW's STL obsolete workarounds:
CGAL_CFG_SUNPRO_RWSTD (partially)
CGAL_reverse_iterator()
2008-01-03 15:04:30 +00:00
Sylvain Pion 88ed563f44 Remove some workarounds for SunPRO + RW's STL:
CGAL_CFG_MISSING_TEMPLATE_VECTOR_CONSTRUCTORS_BUG
CGAL_CFG_RWSTD_NO_MEMBER_TEMPLATES  (partially so far)
CGAL_make_vector
CGAL_make_list
2008-01-03 14:50:13 +00:00
Sylvain Pion accdf57415 CGAL_CFG_NO_LONG_DOUBLE_IO is not needed anymore (pgCC is fixed). 2008-01-02 16:35:13 +00:00
Sylvain Pion 8ab2fe93bb Move definitions of CGAL_NULL and CGAL_NULL_TYPE from circulator.h to config.h. 2007-12-28 15:46:09 +00:00
Sylvain Pion 119bc8b9f1 Add CGAL_NORETURN macro to be able to use __attribute__ ((__noreturn__)). 2007-11-05 10:56:36 +00:00
Sylvain Pion c5ad51a83c Add CGAL_HAS_THREADS. 2007-10-18 15:00:08 +00:00
Ophir Setter c767849dad Supporting only microsoft VC7.1 and up 2007-09-05 18:38:38 +00:00
Ophir Setter 7611ee977a Added deprecated macro 2007-09-05 18:32:46 +00:00
Laurent Saboret 84e925e42d Undo rev 40102 2007-09-03 08:05:09 +00:00
Laurent Saboret 7a4809dc5c TEMPORARY (until CGAL 3.4 Windows installer is out): add back CGAL_LIB_STD and CGAL_WRAP for VisualC++ developers who link against CGAL 3.3. 2007-08-29 09:51:04 +00:00
Marc Glisse b3a43d3c7f Same workaround for list constructor as for vector constructor. 2007-08-28 09:46:21 +00:00
Marc Glisse dc69975886 This version of the sunpro workaround should work as well, and if it does
it will be possible to use it in more places than the current version.
2007-08-27 10:14:29 +00:00
Sylvain Pion 4da7713aa8 Remove obsolete config flag CGAL_CFG_NO_STDC_NAMESPACE and rename
its dependant macro CGAL_CLIB_STD to "std".
2007-08-08 15:59:25 +00:00
Sylvain Pion a90de08bf3 Remove obsolete config flag CGAL_CFG_MATCHING_BUG_4 and its dependency CGAL_WRAP. 2007-08-08 15:15:20 +00:00
Andreas Fabri 0adb373823 cleanup 2007-05-14 09:26:09 +00:00
Andreas Fabri be1964a6ec Cleanup 2007-04-10 08:26:57 +00:00
Sylvain Pion 667fc845ef Introduce a nicer macro CGAL_make_vector(begin, end) to workaround
CGAL_CFG_MISSING_TEMPLATE_VECTOR_CONSTRUCTORS_BUG.
2007-04-02 20:18:57 +00:00
Fernando Cacciola 135fd54f1c Removed unneeded MSVC std fixes 2007-04-02 19:08:46 +00:00
Joachim Reichel 157b8482c4 use <endian.h> for all glibc-based platforms 2007-03-27 17:05:39 +00:00
Joachim Reichel f038ffdd56 drop support for external CORE 2007-03-20 19:09:33 +00:00
Marc Glisse b1d0456201 I added the check on __i386 for sunCC but it is supposed to define
__i386__ as well (though it is buggy right now) so remove.
2007-03-20 16:15:56 +00:00
Marc Glisse dc3364c65a Basics for sunpro on linux-x86. I will touch FPU.h again later. 2007-03-19 18:25:06 +00:00
Andreas Fabri 7479f988c3 no longer needed as we use boost::mpl for anding bool constants 2007-03-19 12:27:35 +00:00
Fernando Cacciola fb9f6e5472 Auto-linking now encapsulated in a library-specific header inside new CGAL/auto_link/ folder. 2007-02-28 17:43:49 +00:00
Marc Glisse 744f51f1e4 Sun_fixes.h also applies to linux-SunCC. 2006-09-20 17:44:48 +00:00
Andreas Fabri 582ec858da Added win64 to the little endians 2006-08-28 13:16:20 +00:00
Andreas Fabri deedd890f5 Include boost/config.hpp so that BOOST_PREVENT_MACRO_SUBSTITUTION is defined 2006-08-19 21:10:43 +00:00
Sylvain Pion 63e78107de New compiler bug in g++ 3.3 : CGAL_CFG_BOOL_IN_TEMPLATE_BUG 2006-08-18 21:30:12 +00:00
Sylvain Pion fb1becafc8 add endianness detection for x86_86 2006-08-17 08:52:59 +00:00
Andreas Fabri 90076ade2e Temporary hack to generate min/max problem 2006-08-17 08:22:12 +00:00
Sylvain Pion fd6524b2fb Better (in the sense of working) endianness detection. 2006-08-16 15:38:22 +00:00
Sylvain Pion a29fd3cb46 Rely on a Boost config macro to detect endianness, instead of a config
program which is problematic for, e.g., Fedora Extra installs.
2006-08-16 15:14:15 +00:00
Sylvain Pion 1fa26bd8e0 Introduce a new helper macro CGAL_VERSION_NUMBER
that computes the version number of a public release.
Much easier to use than reading the algorithm that computes it !
2006-07-21 16:35:03 +00:00
Sylvain Pion 7b30a85331 Try to remove workaround for SunPRO (CGAL_WRAP). 2006-05-02 18:14:47 +00:00
Marc Glisse 59aea66a35 sunpro: add compiler flag to enable CGAL_PRETTY_FUNCTION. 2006-03-09 13:18:31 +00:00
Sylvain Pion 50ea6b92db - Merge Configuration into Installation. 2006-03-07 15:03:22 +00:00