summaryrefslogtreecommitdiff
path: root/src/context
AgeCommit message (Collapse)Author
2021-09-30Refactor our static builds (#7251)Gereon Kremer
This PR does a major refactoring on how we organize our builds to allow both shared and static builds. We now build the libraries using object libraries to allow building the libraries both dynamically and statically in the same build folder, though the static library is optional (ENABLE_STATIC_LIBRARY). The binary is linked either dynamically or statically (depending on ENABLE_STATIC_BINARY).
2021-09-03Avoiding duplicate search in maps (#7055)MikolasJanota
This commit identifies a couple of scenarios where an operation required 2 searches into a map/hashmap and replaces them with a single search. This also makes the code shorter. Signed-off-by: Mikolas Janota <mikolas.janota@gmail.com>
2021-09-02Remove unused `Backtracker` (#7115)Andres Noetzli
backtrackable.h was defining a datastructure Backtracker, which was a member in ArrayInfo and Info but it was not doing anything.
2021-05-25Replace deprecated calls to `std::allocator` (#6606)Andres Noetzli
Fixes #6453. This commit replaces all calls to std::allocator with calls to std::allocator_traits. Strictly speaking, allocate() and deallocate() are not deprecated but the commit replaces them for uniformity.
2021-05-13Add std::hash overloads for Node, TNode and TypeNode. (#6534)Mathias Preiner
Eliminates NodeHashFunction, TNodeHashFunction and TypeNodeHashFunction.
2021-04-22Allow in-place construction of `CDList` items (#6409)Andres Noetzli
This commit adds CDList::emplace_back(), which allows users to create elements in CDList in-place (as opposed to copying the items using CDList::push_back(). This allows CDList to be used with std::unique_ptrs, which do not allow copying. Using CDList::emplace_back() could also be more efficient in certain cases.
2021-04-21Goodbye CVC4, hello cvc5! (#6371)Mathias Preiner
This commits changes the build system to cvc5 and removes the remaining occurrences of CVC4. It further cleans up outdated/unused scripts in contrib/.
2021-04-16cmake: Build object libraries for base and context. (#6374)Mathias Preiner
cmake complains that the static base and context libraries are not exported as install targets. Since we do not want to install these libraries we'll build object libraries instead.
2021-04-15Build support library from base and context. (#6368)Mathias Preiner
This PR creates a support library from the utilities in base and context, which will be required in the parser as soon as we move the symbol table/manager to the parser. Note: I decided to always build static libraries from base and context (and optionally enable -fPIC for shared builds) since I'm not sure if we want to have these libraries installed separately. Right now these are considered as cvc5 internal utilities that can be used in all cvc5 libraries, but not outside.
2021-04-14Rename public and private headers in src/include. (#6352)Aina Niemetz
2021-04-12Refactor and update copyright headers. (#6316)Aina Niemetz
2021-04-09Rename CVC4_ macros to CVC5_. (#6327)Aina Niemetz
2021-04-09Rename CVC4__ header guards to CVC5__. (#6326)Aina Niemetz
2021-04-01Rename namespace CVC5 to cvc5. (#6258)Aina Niemetz
2021-03-31Rename namespace CVC4 to CVC5. (#6249)Aina Niemetz
2021-03-09ContextObj::destroy(): Guard against invalid use. (#6082)Aina Niemetz
We do not allow that a context object is invalid on destruction. This guards against invalid use as described in #2607. Note that #2607 proposed to skip invalid objects on destruction. We now rather do not allow for such a case to occur at all.
2021-03-09Some more cleanup of includes (#6083)Gereon Kremer
This PR does some more cleanup of the includes.
2021-03-09Update copyright headers to 2021. (#6081)Aina Niemetz
2021-03-02Clean up includes to reduce compile times (#6031)Gereon Kremer
This PR cleans up a ton of includes, based on the suggestions of iwyu. Mostly, it removes includes from header files in favor of forward declarations and adds includes to source files.
2020-11-19Include stddef.h (needed for size_t) in cvc4_public.h (#5476)Aina Niemetz
This further removes obsolete explicit includes of stdint.h.
2020-11-18Add -> operator overload for cd* iterators. (#5464)Mathias Preiner
2020-09-22Update copyright header script to support CMake and Python files (#5067)Mathias Preiner
This PR updates the update-copyright.pl script to also update/add copyright headers to CMake specific files. It further fixes a small typo in the header.
2020-06-16Update copyright headers.Aina Niemetz
2019-10-30Unify CVC4_CHECK/CVC4_DCHECK/AlwaysAssert/Assert. (#3366)Mathias Preiner
2019-10-03Add missing type definitions to CDHashMap iterator (#3330)Andres Noetzli
Our `CDMapBlack` test failed to compile with newer versions of libstdc++ because they require the `value_type` to be defined for the iterator (accessed via `std::iterator_traits`). Due to the implementation of `std::iterator_traits`, we also need to define `iterator_category`, `difference_type`, `pointer`, and `reference`.
2019-09-11Fix not to output all warnings (#2778)Ken Matsui
Fix syntax error when --language-bindings is java Replace __attribute__((__unused__)) with CVC4_UNUSED macro Signed-off-by: matken11235 <26405363+matken11235@users.noreply.github.com>
2019-04-24Do not use __ prefix for header guards. (#2974)Mathias Preiner
Fixes 2887.
2019-03-26Update copyright headers.Aina Niemetz
2018-09-22cmake: Working build infrastructure.Mathias Preiner
TODO: cvc4autoconfig.h
2018-09-22cmake: Added initial build infrastructure.Aina Niemetz
2018-08-23Replacing allocatedInCMM and d_noTrash with false everywhere in cdhashmap ↵Tim King
(#2355) There do not appear to be any instances these can be positive.
2018-08-08 Proposal for adding map utility functions to CVC4. (#2232)Tim King
* Proposal for adding map utility functions to CVC4.
2018-08-07Delete functions instead of using CVC4_UNDEFINED (#1794)Andres Noetzli
C++11 supports explicitly deleting functions that should not be used (explictly or implictly), e.g. copy or assignment constructors. We were previously using the CVC4_UNDEFINED macro that used a compiler-specific attribute. The C++11 feature should be more portable.
2018-07-29Storing a std::pair<Key,Data> on CDOhash_map.Tim King
Changing the return type of CDHashMap::iterator* to return a reference. Requires performance testing.
2018-07-26Removing unused CDTrailHashmap. (#2221)Tim King
2018-07-26Changing CDInsertHashMap to store <const Key, const Data> pairs. This is in ↵Tim King
preparation for adding map utility functions. (#2209)
2018-07-25Removing support for CDHashMap::iterator's postfix increment. (#2208)Tim King
2018-07-04Remove unused CDVector (#2139)Andres Noetzli
2018-06-25Updated copyright headers.Aina Niemetz
2018-03-05Enable -Wsuggest-override by default. (#1643)Mathias Preiner
Adds missing override keywords.
2018-02-08Replace CMM flag with debug CMM flag, fix leak in debug CMM (#1586)Andres Noetzli
Previously, we had -DCVC4_CONTEXT_MEMORY_MANAGER that needed to be added as a compile flag to use the context memory manager (which we want by default). This makes compiling with other build systems cumbersome because you have to know about the flag. This commit replaces the -DCVC4_CONTEXT_MEMORY_MANAGER flag with a -DCVC4_DEBUG_CONTEXT_MEMORY_MANAGER flag that does the opposite (in absence of the flag, we use the context memory manager). Additionally, the commit fixes a memory leak in the debug context memory manager (the destructor did not clean up the allocations).
2018-02-05Removing references to __gnu_cxx. (#1541)Tim King
2018-01-03Removing throw specifiers from context/. (#1473)Tim King
2017-12-06Remove CDChunkList (#1414)Andres Noetzli
2017-12-01Fix build when Valgrind instrumentation enabledAndres Noetzli
My last commit for the Valgrind instrumentation contained a typo that made the nightlies fail. This commit fixes the issue.
2017-11-30Add debugging tools for ContextMemoryManager (#1407)Andres Noetzli
This commit adds two configuration options that help debugging memory issues with allocations in the ContextMemoryManager: --enable/disable-valgrind: This flag enables/disables Valgrind instrumentation of the ContextMemoryManager. Enabled by default for debug builds if the Valgrind headers are available. --enable/disable-context-memory-manager: This flag enables/disables the use of the ContextMemoryManager. If the flag is disableda dummy ContextMemoryManager is used that does single allocations instead of chunks. The flag is enabled by default.
2017-11-07Initializing TrailHashMap::d_uniqueKeys. (#1331)Tim King
2017-10-05Allow CDHashMaps for objects without default constructors (#1092)Martin
This is a patch, originally from mdeters/cdhashmap-default-constructibility that allows CDHashMaps to be declared for objects that don't have default constructors.
2017-09-26Fixing CID 1172020: Initializing CDHashMap::iterator::d_it to nullptr. (#1139)Tim King
2017-08-09Fix compiler warning in src/context/context.h.Mathias Preiner
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback