Commit Graph

64 Commits

Author SHA1 Message Date
Sam Edwards a4c1b44371 dtoolbase: Remove EXPORT_TEMPLATES define
As of f69354d9fa, this is just always
expected on all platforms. If it's not defined,
TemplateClass<X>::_type_handle won't link correctly with some compilers
(e.g. Clang) and the lack of 'extern template class' will result in
duplicated code in any case. In short, turning it off causes problems.

makepanda also always turns this on, so it doesn't represent any
optional feature or autodetected platform-specific behavior anyway.
2018-03-20 14:36:19 -04:00
rdb fa1c480508 general: clean up use of override keyword 2017-07-03 12:56:23 +02:00
rdb f57a3f9cde Hack to remove build warning on MSVC 2010
Fixes LP #1700329
2017-07-03 11:13:02 +02:00
rdb a66b497f2b We no longer support GCC 4.6. Version 4.8+ is recommended.
Ubuntu Precise users can install GCC 4.8 from the ppa:ubuntu-toolchain-r/test repository.
CentOS 5/6 users can install devtoolset-2 or later.
2017-06-12 19:47:54 +02:00
rdb 88e963b936 Fix compilation errors in GCC 4.6 and 4.8 2017-06-09 20:36:45 +02:00
rdb 2acde88695 New alignment code to hopefully fix the alignment issues 2017-02-10 03:01:32 +01:00
rdb a15d84dbeb Fix compile errors and warnings in MSVC 2010 / GCC 4.6 2017-01-12 15:18:48 +01:00
rdb e60d1e292e Make better use of C++ rules for implicit generation; allow PointerTo and some mutex impls to be static initialised 2017-01-12 12:34:15 +01:00
rdb 41d26284d7 Fix various compilation issues on Mac.
Work around bugs in Apple Clang that ships with XCode 4 with C++11 by disabling constexpr
Use move() instead of std::move()
It also looks like we'll have to continue using pystub for tools that use libp3interrogatedb for now.
2017-01-08 17:17:56 -05:00
rdb 816b2ac3ba C++11 polyfills. This should fix Snow Leopard build. 2017-01-05 23:26:13 +01:00
tobspr 0fcfb8e372 New file headers, new comment style 2016-02-17 17:47:48 +01:00
rdb caa03c53dd Interrogate cppparser improvements, C++11/14/17 additions:
* Support trailing return type.
 * Ignore C++14 digit separators.
 * Parse C++14 binary number representations.
 * Support "using"-style type aliases.
 * Support decltype and auto with "new".
 * Remove silly "long float" and "long long float".
 * Support default visibility with class inheritance.
 * Remove -longlong hack since C++11 supports long long natively.
 * Support unary plus operator.
 * Preserve bitfield definitions.
 * Support constructor inits using braces.
 * Support override/final specifiers.
 * Ignore [[attributes]] in certain cases
 * Add support for typeid() in expressions
 * Parse (but ignore) lambda expressions
 * Differentiate between casts, add const_cast/reinterpret_cast
 * Support thread_local variables.
2016-02-16 01:18:51 +01:00
tobspr a9e18f9d24 Improve Vector implementations: - Remove unecessary assignment operators - Add normalize() method - Use properties for certain swizzle masks - Add constexpr where appropriate 2016-01-03 22:02:00 +01:00
rdb 920210c999 Fix the vast majority of Interrogate parse issues and warnings, add support for inline namespace and constexpr 2015-10-16 14:57:40 +02:00
rdb ca37b6b6c0 Fix VC2015 compile errors, allow selecting any WinSDK/MSVC version. All experimental, still. 2015-10-05 02:12:46 +02:00
rdb 30a26bc530 Match up interrogate standard typedefs better with gcc/msvc standard typedefs 2015-09-30 16:07:37 +02:00
rdb 75019784f4 Changes to inlining so we can use FORCE_INLINING in gcc as well 2015-07-27 15:39:46 +02:00
rdb f69354d9fa Explicit template instantiation on gcc/clang, implement cfsworks' suggestion of moving compiler-specific stuff out of pandasymbols.h et al 2015-06-03 13:36:04 +02:00
rdb 01cd4fcbd5 Fix compile error on clang when C++11 support is disabled 2015-02-07 18:15:56 +01:00
rdb 028c09add5 Implicit cast string to InternalName in c++, also optimize for string literals 2015-02-07 16:43:25 +01:00
rdb 0a64bdb33b Fix MouseRecorder & let PandaNode inherit from TypedWritableReferenceCount 2015-01-24 16:12:04 +01:00
rdb af15797a25 Many, many performance optimizations and enhancements 2015-01-07 19:30:01 +01:00
rdb e8905b840c Use C++11 move semantics to dramatically improve PointerTo performance 2015-01-02 15:25:58 +01:00
rdb 31a71c990d Fix issues with OS X 10.9 compilation, fix issues uncovered by clang 2014-10-12 18:45:37 +00:00
rdb e98618b105 Only use constexpr when the compiler conforms to C++11 2014-07-21 15:41:31 +00:00
rdb dba717fe83 GCC 4.7 enables constexpr, not 4.6 2014-07-17 16:18:04 +00:00
rdb 1be0fb5169 Add atomic adjust impl that uses GCC intrinsics. Also, make use of "constexpr" when available. 2014-07-17 13:11:06 +00:00
rdb cc3bae7e76 Big interrogate cleanup, new extension system, add __iter__ support, add buffer protocol support 2013-09-17 10:11:43 +00:00
David Rose 59ec701a26 build once more with the Tau profiler 2011-09-06 17:29:30 +00:00
rdb 319b8c4cb1 More stuff related to extensions 2011-01-03 08:25:13 +00:00
David Rose 494d61083e avoid compiler warnings from HAVE_BLAH_H conflicts by renaming macros 2009-08-21 15:40:05 +00:00
David Rose fb9c56432a we are now using the modified BSD license 2008-05-28 18:37:20 +00:00
David Rose 65dc53a585 oops, compile properly in O4 2007-06-29 19:09:45 +00:00
David Rose 385e7be325 still more meminfo fixes 2007-06-29 15:53:27 +00:00
David Rose d52eb37b14 move some low-level mem tracking into MemoryHook, more mem tracking fixes 2007-06-29 01:39:09 +00:00
David Rose fe97acf7cb integrate thread_yield in appropriate places 2007-06-26 13:01:16 +00:00
David Rose 5f1b029f42 NeverFreeMemory 2007-06-14 23:15:14 +00:00
David Rose 55225290b8 add MemoryBase to fix malloc issues, especially on OSX 2006-11-17 02:13:10 +00:00
David Rose defa6afe02 Tau fixes 2006-04-28 16:19:20 +00:00
David Rose 57338ee24d better windows tau support; better threaded DeletedChain support; beginning PipelineReader classes 2006-04-20 04:03:16 +00:00
David Rose cadbb022f8 more tau for windows 2006-04-14 15:53:49 +00:00
David Rose 5f3b0fc55b integrate dlmalloc etc. with ppremake 2005-09-30 15:41:50 +00:00
Josh Yelon 0aac3653f2 added third-party memory managers 2005-09-29 18:27:26 +00:00
David Rose 843c0331ae update license, change remaining local #includes to use quotation marks 2004-02-13 19:27:33 +00:00
David Rose b6878df8c4 WIN32_WINNT definition should really be in dtoolbase.h, not dtoolbase_cc.h 2004-01-15 14:43:12 +00:00
David Rose c6dea19887 move _WIN32_WINNT definition into dtoolbase_cc.h 2004-01-13 11:33:58 +00:00
Dave Schuyler 27f14fc2e3 os x changes. 2003-09-29 21:18:08 +00:00
David Rose 36bec1e8d7 test wstring 2003-01-21 16:48:45 +00:00
David Rose 361185e52e build on Irix 2003-01-20 21:13:51 +00:00
David Rose 2bc10310d0 build on irix 2003-01-20 16:31:04 +00:00