Commit Graph

9082 Commits

Author SHA1 Message Date
Kareem Khazem d4be554988 Don't lint text between #if 0...#endif 2017-07-25 12:36:08 +01:00
Michael Tautschnig 49bceb269a Merge pull request #1172 from diffblue/revert-1159-use-nullptr-master
Revert "[depends: #1063] Use nullptr to represent null pointers (targets master)"
2017-07-24 15:39:06 +01:00
Daniel Kroening 747db7874f Merge pull request #1063 from smowton/smowton/feature/improved_invariants
Improved invariants
2017-07-24 15:22:55 +01:00
Daniel Kroening 6fea4fae2e Revert "[depends: #1063] Use nullptr to represent null pointers (targets master)" 2017-07-24 15:18:57 +01:00
Daniel Kroening 80e4214619 Merge pull request #1159 from reuk/use-nullptr-master
[depends: #1063] Use nullptr to represent null pointers (targets master)
2017-07-24 15:15:37 +01:00
Chris Smowton 493e9beb8d Allow invariants with structured exceptions 2017-07-23 12:07:40 +01:00
Daniel Kroening e18cb15530 Merge pull request #1070 from thk123/bugfix/simplify-lhs
Fixing simplification of LHS
2017-07-22 17:01:36 +01:00
Daniel Kroening 8400c8fafe Merge pull request #872 from reuk/assignment-typet-fix-master
Assignment typet fix master
2017-07-22 11:56:10 +01:00
Michael Tautschnig f8b8f9e621 Merge pull request #1154 from diffblue/pointer-cleanup
Pointer cleanup
2017-07-20 19:24:26 +01:00
Daniel Kroening 424ef50cb7 Merge pull request #1090 from karkhaz/kk-neu-documentation
CBMC documentation campaign
2017-07-20 15:04:04 +01:00
Daniel Kroening db71221c95 include order cleanup 2017-07-20 15:02:08 +01:00
Daniel Kroening d430319bc5 removed an assert 2017-07-20 15:02:08 +01:00
Daniel Kroening 636655d156 address_of now needs a pointer type 2017-07-20 15:02:08 +01:00
Daniel Kroening 13f3d5fb3f use pointer_type() instead of pointer_typet() 2017-07-20 15:02:08 +01:00
Daniel Kroening d0c9bd3f6f get rid of typet(ID_pointer) 2017-07-20 15:02:08 +01:00
reuk 52e57653e1 Fix linter errors, ignoring big-int and miniz 2017-07-20 13:53:53 +01:00
reuk a06cf766fc Fix nullptr 2017-07-20 10:06:12 +01:00
Michael Tautschnig 45774011a0 Merge pull request #1145 from diffblue/array_cleanup
cleanup array theory solver
2017-07-20 09:09:11 +01:00
Daniel Kroening f4c79a6060 cleanup array theory solver 2017-07-19 12:54:05 +01:00
thk123 d4d976a410 Added unit tests to validate the return meaning of ai_simplify_lhs
These tests use a mock implementation of the `ai_domain_baset` interface
just to validate that true means no simplification.
2017-07-19 12:47:26 +01:00
thk123 64ab7230b5 Corrected simplify lhs in ai_domain_baset
The boolean flag was the wrong way round for ai_simplify_lhs - this
corrects this.
2017-07-19 12:46:27 +01:00
Daniel Kroening 13a75381a0 Merge pull request #1146 from tautschnig/fix-525
Do not accept arrays of variable size with static lifetime
2017-07-18 20:51:37 +01:00
Daniel Kroening 6fbd1cf802 Merge pull request #1111 from thk123/feature/unit-test-utility
Improvements to the unit tests directory
2017-07-18 20:12:32 +01:00
Daniel Kroening f2b768197d Merge pull request #1119 from LAJW/adapt-perl-script
Adapt perl script to handle multiple .desc files
2017-07-18 20:09:17 +01:00
thk123 e3f8d4aa2b Added constructor to auxilary symbol instead of a helper function
The auxilary function had the same flags requried for the test, so added
a utility constructor that allows specifying of name and type.
2017-07-18 11:52:04 +01:00
thk123 318502880f Added utility class to convert strings into expressions
In turns the error return state into a CATCH exception so the test will
fail without cluttering tests with checks on the flag when it is just setup
code for the actual test.
2017-07-18 11:52:04 +01:00
thk123 0047733421 Adding pretty printer to main file 2017-07-18 11:52:04 +01:00
thk123 b5c55b3e5e Added utility functions for checking expressions
Use namespace rather than class with static functions as more semantically
correct.
2017-07-18 11:52:04 +01:00
thk123 2779399a9d Correct unit Makefile to use OBJ rather than LIBS
Previously the order of the libraries in LIB would effect whether the
unit tests compiled.

Use OBJ rather than LIBS to ensure the --start-group/--end-group flags are
used in linking.

Previously, if a file in CProver changed, though the libraries would be
rebuilt, the unit tests wouldn't be relinked against the new library,
meaning you would get out of date binaries.

This change ensures that the link process is rerun if any of the
libraries are rebuilt.

Adding dependency to cprover libs for other unit executables
2017-07-18 11:51:44 +01:00
Michael Tautschnig 544682c934 Do not accept arrays of variable size with static lifetime
Neither Clang nor GCC accept these. In addition to rejecting such declarations,
also fix the off-by-one error reported in #525: type declarations are type
checked before their symbols are processed, thus the symbol name needs to be set
up early. A lookup via the symbol table, however, is not yet possible. Thus
maintain the full symbol.

Fixes: #525
2017-07-17 20:23:44 +01:00
Michael Tautschnig 40d1560702 Always initialize pretty_name when reading a declaration 2017-07-17 20:20:00 +01:00
Daniel Kroening c674ce701d Merge pull request #1007 from thk123/bugfix/irrelevant-const-removal
Fix irrelevant loss of const throwing off the const analysis
2017-07-17 17:30:47 +01:00
Daniel Kroening 5f7ff9984a Merge pull request #890 from reuk/include-order-fix
Include order fix
2017-07-17 17:29:18 +01:00
Daniel Kroening d80b10ed2f Merge pull request #1031 from pkesseli/cpplint/allow-anonymous-namespaces
Allow anonymous namespaces
2017-07-17 17:28:09 +01:00
reuk 835216347f Update coding standard with include-ordering rule 2017-07-17 16:34:19 +01:00
reuk ba73db3875 Fix include order in util 2017-07-17 09:55:10 +01:00
reuk ae0ba27690 Fix include order in xmllang 2017-07-17 09:55:10 +01:00
reuk 8174586389 Fix include order in symex 2017-07-17 09:55:10 +01:00
reuk 97f14fb4e8 Fix include order in solvers 2017-07-17 09:55:10 +01:00
reuk 1bf245a0df Fix include order in pointer-analysis 2017-07-17 09:55:09 +01:00
reuk 4856844016 Fix include order in path-symex 2017-07-17 09:55:09 +01:00
reuk 895a8fdd53 Fix include order in musketeer 2017-07-17 09:55:09 +01:00
reuk dc809b73d9 Fix include order in memory-models 2017-07-17 09:55:09 +01:00
reuk e42a090883 Fix include order in linking 2017-07-17 09:55:09 +01:00
reuk eb2124916c Fix include order in langapi 2017-07-17 09:55:09 +01:00
reuk b25a3f9f90 Fix include order in json 2017-07-17 09:55:09 +01:00
reuk 95d377a7fa Fix include order in jsil 2017-07-17 09:55:09 +01:00
reuk 0c05241eae Fix include order in java_bytecode 2017-07-17 09:55:09 +01:00
reuk a5c8a5fabd Fix include order in goto-symex 2017-07-17 09:55:09 +01:00
reuk 70b352c30e Fix include order in goto-programs 2017-07-17 09:55:08 +01:00