Commit Graph

371 Commits

Author SHA1 Message Date
Daniel Kroening f0c59b59f7
Merge pull request #3461 from diffblue/smt2_solver_get-value
SMT2 solver: implement get-value
2018-11-28 11:36:42 -08:00
Daniel Poetzl 8722822a86 Add regression tests for nondet struct init 2018-11-26 17:40:35 +00:00
Daniel Kroening d6f7c5a3eb smt2_solver: implement get-value 2018-11-25 11:45:14 +00:00
Daniel Kroening e4f3fc3f4b smt2 backend: fix constants 2018-11-24 19:37:09 +00:00
Daniel Kroening 1893fdb13f
Merge pull request #3440 from diffblue/smt2_diagnostic_output
smt2_solver: SMT2-specific message output
2018-11-24 15:39:39 +00:00
thk123 a9687c784a Remove check for using the using keyword
This was encouraged in #3270 but the linter was not updated.
2018-11-21 10:28:46 +00:00
Daniel Kroening 92494231eb smt2_solver: SMT2-specific message output
errors get reported as (error "message"); any other output is marked as
comment.
2018-11-18 23:21:03 +00:00
Daniel Kroening be0c33805f smt2 parser: check type of body of function definition 2018-11-18 13:54:37 +00:00
John Nonweiler 3a18c51e9e Update parameter documentation
Fix Doxygen warnings by adding documentation for some undocumented
parameters.  Also change documentation format to match the coding
standard (including removing comments on parameters in goto2graph.cpp
which duplicate documentation in goto2graph.h).
2018-11-16 10:03:55 +00:00
John Nonweiler 9296bc3390 Remove comment about non-existent parameter 2018-11-16 09:31:17 +00:00
Chris Smowton a1f17f662e Fix lots of simple Doxygen errors
This is mainly just documenting missing parameters and fixing syntax mistakes.
2018-11-15 13:54:50 +00:00
Michael Tautschnig 5862b59cb2
Merge pull request #3390 from romainbrenguier/doc/dereference
[DOC-49] Document dereference functions and trivial refactoring
2018-11-15 13:23:45 +00:00
svorenova 83c198e0e8
Merge pull request #3382 from svorenova/doc-select-pointer-type
Document pointer type selection interface [DOC-113]
2018-11-15 13:09:07 +00:00
svorenova 175099d5be Remove expected doxygen warnings 2018-11-15 10:46:36 +00:00
Romain Brenguier 2230af5f59 Remove expected warnings 2018-11-15 10:00:14 +00:00
John Nonweiler c4a52fd939 Update parameter documentation in ansi-c/expr2c.cpp
Update comments about method parameters, reducing the number of
warnings from Doxygen.
2018-11-15 09:52:23 +00:00
John Nonweiler f03a72f135 Update comment about typechecking arguments
Update comment describing
`c_typecheck_baset::typecheck_function_call_arguments()`
2018-11-15 09:52:23 +00:00
John Nonweiler ab691342d1 Delete out-of-date comment
This deletes an out-of-date and unhelpful comment about
c_typecheck_baset::do_designated_initializer().  Obviously, it would be
better to add some up-to-date documentation, but until someone has time
to do that, this removes the unhelpful comment and stops Doxygen
generating 3 warnings.
2018-11-15 09:11:28 +00:00
Michael Tautschnig f3e7f9685c Remove unnecessary assertion about using 0-size objects
Reading from or writing to such will yield non-deterministic values, but it's ok
to let back-ends deal with that.
2018-11-14 21:07:54 +00:00
Michael Tautschnig c570248eb9
Merge pull request #3364 from tautschnig/vs-generator
String refinement: Remove generator parameter where unused [blocks: #2310]
2018-11-14 13:40:13 +00:00
John Nonweiler dcd6cd15e8 Update parameter documentation in Doxygen comments 2018-11-13 16:12:12 +00:00
John Nonweiler 5d4c14a682 Fix typo in parameter name
Change parameter name from `clas_hierarchy` to `class_hierarchy` in
function definition (so that it matches the parameter name in the
function declaration and in the Doxygen comment).
2018-11-13 15:00:40 +00:00
John Nonweiler ceec123313 Rename param in function declaration
Rename parameter in the function declaration to match the name in the
function definition, to make Doxygen happier.
2018-11-13 14:48:52 +00:00
John Nonweiler 30f735bab4 Correct parameter comments in json_irep.cpp 2018-11-13 10:10:07 +00:00
John Nonweiler fa47c5c123 Fix link in util/README.md 2018-11-13 10:03:25 +00:00
Michael Tautschnig ec22168313 String refinement: Remove generator parameter where unused
The generator is no longer used in the implementation, and thus does not need to
be passed around. Also update the documentation.
2018-11-12 10:08:50 +00:00
Michael Tautschnig 0475e56aeb
Merge pull request #3326 from tautschnig/vs-bounded
Do not use arbitrarily bounded integer types [blocks: #2310]
2018-11-10 14:45:47 +00:00
Michael Tautschnig c32a7759b1 Add missing documentation for parameter mode 2018-11-10 13:24:38 +00:00
John Nonweiler 812aa8fb23 Refactor build_doxygen.sh to use set -euo pipefail
This refactoring should make it easier to read the script, and less
likely that anyone accidentally breaks the script in future.
2018-11-10 12:17:13 +00:00
John Nonweiler f341a1aec1 Add script to build doxygen
Move the section in .travis.yml responsible for getting the latest
version of doxygen to a separate script, in order to make it easier
for Ubuntu users to install it locally.
2018-11-10 12:17:13 +00:00
John Nonweiler edc66d6cdd Update a broken link in solvers/README.md 2018-11-09 16:12:54 +00:00
John Nonweiler ecc0957c4e Add doxygen version check
Check which version of doxygen is being used in
./scripts/run_doxygen.sh, and add a sentence to the documentation about
using the correct version.

The warnings produced by doxygen are different for different versions
of doxygen, so it is important, when comparing a list of expected
warnings, to use the right version of doxygen.
2018-11-09 11:17:31 +00:00
John Nonweiler a655ef95bb Update expected_doxygen_warnings.txt 2018-11-08 16:39:57 +00:00
John Nonweiler aee9bba5fb Use new Doxygen script in Travis CI
Remove the old `travis_doxygen.sh` script and associated part of
`run_diff.sh`, and change `.travis.yml` to use the new `run_doxygen.sh`
instead.  The new script should report new problems (and not report
already existing problems) more reliably than the old script which
relied on the line numbers reported by Doxygen.
2018-11-08 15:25:56 +00:00
Chris Ryder 833cf6f9d1
Merge pull request #3285 from johnnonweiler/doc/reduce-doxygen-warnings-11
Wrap XML in Doxygen comment with \code block
2018-11-08 09:50:11 +00:00
Michael Tautschnig 8ba1734bf5
Merge pull request #3284 from diffblue/smt2-bv-fix
smt2 bit vector fix [blocks: any PR adding CBMC tests]
2018-11-07 16:50:34 +00:00
Daniel Kroening 33cfe25a4c enable 130 SMT2 tests that now pass 2018-11-06 18:42:19 +00:00
Michael Tautschnig e430c29f29 C front-end: cleanup label statement type checking
The code used to contain a loop that had no effect. The regression test confirms
that we properly handle nested labels anyway.
2018-11-06 18:18:50 +00:00
John Nonweiler 525143dfe1 Wrap XML in Doxygen comment with \code block
Fix Doxygen warnings about unknown XML tags and add syntax highlighting
to documentation using the Doxygen `\code{.xml}` and `\endcode` commands
2018-11-06 14:35:50 +00:00
Michael Tautschnig 6590a7e2bb Simplify and modernise array-is-uniform code
Having two Booleans that need to be kept in sync makes it harder to reason
about. Instead, use a single Boolean and use C++-11 std::all_of instead of
rolling our own loop.

Additional cleanup: remove unused cassert header.
2018-11-05 19:16:18 +00:00
Vojtěch Forejt 9d0993ca56
Merge pull request #3233 from diffblue/cprover-smt2-2
SMT2 backend testing
2018-11-05 15:29:48 +00:00
Daniel Kroening b2c56d16c7 enable SMT2 tests on CodeBuild 2018-11-05 12:44:37 +00:00
John Nonweiler 7a0eff900a Add script to filter Doxygen warnings
Add a list of expected warnings from Doxygen, a Python script to
filter out those warnings from the output from Doxygen, and a simple
bash script to run doxygen using this filter.

In some cases, it would be relatively easy to fix the Doxygen
documentation so that we don't get these warnings.  However, in other
cases there are bugs in Doxygen where the code and documentation are
perfectly valid, and Doxygen gives an erroneous warning message.

Currently, CI uses another script to filter out warnings related to
lines of code which have not been changed.  However, this doesn't work
well because the line number reported for a warning is often not the
line where the problem lies.

The new script should be useful for CI, and also for checking changes
locally before running CI.
2018-11-02 17:06:44 +00:00
Michael Tautschnig 3a67fb64aa Check for uses of __CPROVER_ in the linter
This should help avoid future code introducing literal uses of __CPROVER_ back
into the code base.
2018-10-29 17:00:12 +00:00
Michael Tautschnig a91a73e4fd linter: Fix missing comma
Reported by Semmle's LGTM
(https://lgtm.com/projects/g/diffblue/cbmc/alerts/?mode=list).
2018-10-15 11:00:59 +00:00
Norbert Manthey d5ea30600f ls_parse: improve debugging by printing a trace
In case parsing a linker script fails, generate a trace, so that
debugging is possible. This way, unknown blocks in linker scripts
can be spotted more easily.
2018-07-12 11:41:21 +02:00
Norbert Manthey 17bc726360 ls_parse: Allow handling unknown blocks
The Xen linker script has a block "PHDRS" that results in a failure
of the ls_parse.py script. As there is nothing to be done in that
script for that block, this commit adds an empty handler for this
block name. In case more blocks should be added, only the regular
expression to match the blocks has to be modified.
2018-07-12 11:41:15 +02:00
Kurt Degiorgio 0b90c17a8c JBMC: Moved format_classpath.sh to scripts/format_classpath.sh
'format_classpath.sh' is used in regression tests that make use of the
'classpath' option. This script is needed to deal with the fact that
classpath syntex is OS-dependent.

The java concurrency regression tests make heavy use of this option as
such this commit moves 'format_classpath.sh' to
'scripts/format_classpath.sh'.

Furthermore, this commit makes a very small change to 'appveyor.yml'
that enables existing java concurrency regression tests to run on
Windows.
2018-06-24 15:35:02 +01:00
Michael Tautschnig 2ed63f5ab6
Merge pull request #2156 from tautschnig/gcc-8-fixes
Fixes to build using GCC 8
2018-06-06 22:08:34 +01:00
Michael Tautschnig fc670b5cb3 Do not lint .h files in regression/ 2018-06-06 15:55:47 +00:00
Michael Tautschnig 4f3c102109 Silence Minisat's use of realloc on non-POD and fix and use its xrealloc
This was a new GCC 8 warning; testing on errno == ENOMEM with && opened the door
for non-compliant implementations to fail to allocate without capacity()
failing.
2018-06-05 09:05:16 +00:00
Michael Tautschnig 09b8cf7960
Merge pull request #2014 from tautschnig/cadical-experiment
Performance test extensions and updates
2018-06-01 10:13:18 +01:00
Peter Schrammel 779fa7102b
Merge pull request #2253 from peterschrammel/documentation/override2
Get legalistic about use of override without virtual
2018-05-30 09:29:47 +01:00
Peter Schrammel 050b3444e0 Re-enable enforcement of override without virtual 2018-05-29 16:07:00 +01:00
Peter Schrammel a90ea445a5 Add module dependency check to CPP-LINT
To use it just put a module_dependencies.txt into a directory,
which lists all modules that it is allowed to include header
files from.
2018-05-29 14:05:17 +01:00
Peter Schrammel d94545250d Adapt cpplint header guard check
to deal with non-top-level `src` and `unit` directories
2018-05-20 23:00:03 +01:00
Michael Tautschnig a47941d720 perf-test: add -W/--witness-check to validate SV-COMP witness checking 2018-05-14 14:26:42 +01:00
Michael Tautschnig 5b0395ff28 perf-test: Update Ubuntu AMI ids for latest version 2018-05-14 12:31:09 +01:00
Michael Tautschnig 1288ec753b perf-test: speed up builds just like e7bb127f0e did
apt-get update takes considerable time, removing one call is desirable.
2018-05-14 12:31:09 +01:00
Michael Tautschnig afccaec2af Provide goto-cc in performance tests 2018-05-14 12:31:09 +01:00
Michael Tautschnig f802d87ba8 Support CaDiCaL in performance tests, remove redundant script 2018-05-14 12:31:09 +01:00
Matthias Güdemann 213db5fd6b Remove trailing `;` from namespace closing bracket 2018-05-10 12:58:05 +02:00
Michael Tautschnig 6b8583d795
Merge pull request #2100 from tautschnig/string-table-cleanup
Remove unused entries from the string table
2018-04-26 20:51:35 +01:00
Michael Tautschnig f79b45345a Check that the string table does not include unused entries 2018-04-25 15:04:49 +01:00
Lukasz A.J. Wrona 692c4f377a Remove brace checking from cpplint 2018-04-24 18:02:05 +01:00
Daniel Kroening 74a37c6352
Merge pull request #1988 from tautschnig/cadical
Add support for CaDiCaL
2018-04-24 14:13:30 +01:00
Michael Tautschnig c34e073af6 Add support for CaDiCaL
CaDiCaL is Armin Biere's latest solver with a minimal IPASIR-compatible
interface. In some initial experiments it considerable outperforms Minisat.
2018-04-22 20:31:50 +01:00
Matthias Güdemann aa3caa3ad0 Fix CMake build for Glucose Syrup 2018-04-21 17:26:40 +02:00
Michael Tautschnig df1c7e3518 Builds require javac as of f66288b4 2018-03-23 19:57:35 +00:00
Vlastimil Zeman a5c26a8022
Add script for uploading documentation
To keep it as fast/current as possible we will use rsync that to upload
only changes and delete what is no longer part of documentation.
2018-03-20 12:16:03 +00:00
Michael Tautschnig c62b957a5e
Merge pull request #1551 from tautschnig/perf-test-improvements
Improvements to perf-test(.py)
2018-02-22 16:43:19 +00:00
Kareem Khazem 53df56780e
[path explore 6/7] cpplint & clang-fmt agree on :
cpplint now complains if a derived-class declaration is formatted as

  class derived: base

rather than complaining if it is formatted as

  class derived : base

(with a space on both sides of the colon). The latter style is the one
enforced by clang-format, meaning that the two linters were inconsistent.
2018-02-20 23:50:14 +00:00
Pascal Kesseli 703e4a340b Remove unapproved C++11 header warning.
Removed list of C++11 headers for which Chromium has preferred
alternatives, since these don't apply to us.
2018-01-18 12:13:34 +01:00
Michael Tautschnig 03095d47d1 Use svcomp18 as base 2017-12-08 14:51:14 +00:00
Michael Tautschnig f659577ef2 perf-test: build configuration using glucose
Configuration can be used/enabled using -B codebuild-glucose.yaml
2017-12-08 14:50:32 +00:00
Michael Tautschnig 98b9ae65be SV-COMP now requires zip files 2017-12-08 14:50:32 +00:00
Michael Tautschnig 1c0cf3224d Support custom CodeBuild templates 2017-12-08 14:50:32 +00:00
Michael Tautschnig 6eeb672bec Permit selecting a regular-expression-defined set of tasks 2017-12-08 14:50:31 +00:00
Michael Tautschnig d3b29d233f Update cprover-sv-comp, benchexec to latest version 2017-12-08 14:50:31 +00:00
Michael Tautschnig 3269da7049 Utility to generate HTML reports from perf-test experiments
This is by and large in a works-for-me state and may need documentationa and
generalisation.
2017-12-08 14:50:31 +00:00
reuk d3d632d8d2 Use multi-argument form of FILE command 2017-11-15 18:13:29 +00:00
Daniel Kroening df45bdb2ce
Merge pull request #1524 from reuk/reuk/fix-linter
Disable dowhile brace check by default
2017-10-27 19:29:43 +01:00
Daniel Kroening 021fe8fc32 Merge pull request #1492 from tautschnig/perf-test
Script to automate performance evaluation of CBMC on AWS
2017-10-25 21:22:18 +01:00
reuk a00edd3e6c Disable dowhile brace check by default 2017-10-25 13:34:56 +01:00
Michael Tautschnig c3e67261b5 Script to automate performance evaluation of CBMC on AWS
Evaluation is performed for a chosen GitHub or CodeCommit repository and
commit/branch/tag by running (a subset of) SV-COMP benchmarks. Runs are
done both in optimised as well as in profiling mode.

Execution should be as simple as

  ./perf_test.py \
        -r https://github.com/diffblue/cbmc -c develop \
        -e tautschn@amazon.com

assuming that AWS access keys are set up (as required for AWS cli use) and boto3
is installed. Emails will then be sent as results become available.

The script sets up (and persists) an S3 bucket for storing results, SNS
queues for email updates on the process, as well as an EBS snapshot
containing the benmarking data.

For each benchmarking run, builds are set up and performed via
CodeBuild. Evaluation is then performed using AutoScalingGroups
synchronised via SQS.

The design premise for this work was:

"Compare multiple configurations for performance, correctness, capabilities."

This was broken down into:

Configuration: target platform, timeout, memory limit, benchmark set, tool
options, source version (=repository + revision).

Compare: log files, counterexamples, CPU profile, memory profile, verification
results.
2017-10-20 18:11:12 +01:00
reuk 55e6594d04 Fixup cpplint.py 2017-10-17 13:16:59 +01:00
reuk 554cb54400 Adjust cpplint to disable whitespace checks by default 2017-10-16 11:52:18 +01:00
Chris Smowton 78cd286d0b Fix messaget's copy-constructor and operator=
These were broken, leaving an mstreamt whose back-pointer pointed
into a different messaget than the one it enclosed, which could then have
its message_handlert changed with unexpected side-effects, or be deleted
causing a probable segfault on next log message.

The added unit tests verify that this no longer happens.
2017-10-11 14:51:20 +01:00
Thomas Kiley ef76441a72 Corrected error in the run_diff script
Script was erroneously reporting that there was no cpplint.py in the
scripts folder when the problem was a lack of doxygen executable.
2017-10-02 14:34:53 +01:00
reuk 88c2f9c5c7 Use DownloadProject method for integrating sat libraries 2017-09-27 11:22:25 +01:00
reuk ad486f8c55 Set up glucose externalproject 2017-09-11 14:29:12 +01:00
reuk 22c2ab9f04 Add CMakeLists 2017-09-11 14:29:12 +01:00
Chris Smowton 389221ebee run_diff.sh shellcheck fixes
* Replace backticks with $()
* Double-quote filenames that might conceivably contain troublesome special chars (*, space etc)
2017-09-06 11:18:32 +01:00
Chris Smowton dce6ae141a Improve filter_by_diff.py and friends
* Attempts to cope with invalid UTF-8 (present in a few CBMC files) using iconv
* Splits the filter-by-diff job into two stages (diff -> JSON description of interesting lines
  and JSON -> filtered output)

This means that run_diff.sh CPPLINT is now practical, and produces a report of the linting
problems in develop but not in master (around 150 lines as of the time of writing) in about 2 minutes.
2017-09-06 11:18:14 +01:00
Kareem Khazem 85521b0263
goto-gcc reads definitions from linker scripts
goto-gcc now runs the ls_parse.py script whenever the target codebase is
being compiled with a custom linker script (specified with the -T
option). goto-gcc then synthesizes the linker script definitions that
ls_parse reported, and adds them to the goto-program as if those
definitions were defined in the target C program rather than the linker
script.

This solves a problem where the values of some C variables are
inaccessible from CBMC because those variables are defined in the linker
script rather than the C codebase. It also solves the problem of CBMC
not knowing what memory regions are accessible to the C program, again
because the memory regions are declared to be valid in the linker
script.

This commit also introduces three tests for this functionality.

This commit also fixes a small bug in ls_parse.py that made it reject
some valid linker scripts.
2017-09-04 11:39:32 +01:00
Peter Schrammel 4e7a480ee0 Make linter accept alternative copyright header 2017-08-29 22:12:56 +01:00
Peter Schrammel 22016c0469 Do not lint C++ regression tests 2017-08-23 12:51:50 +01:00
Peter Schrammel 3a67dc4052 Merge pull request #1267 from reuk/reuk/master-into-tgs
Merge master into test-gen-support
2017-08-23 09:01:36 +01:00
Daniel Kroening 69a82fc7ff Merge pull request #1175 from karkhaz/kk-cpplint-if-zero
Don't lint text between #if 0...#endif
2017-08-23 06:47:39 +01:00
reuk f17b637121 Merge master into tgs 2017-08-22 15:06:55 +01:00
Daniel Kroening 0346dcd375 Merge pull request #1232 from reuk/reuk/add-merge-driver
Add merge driver
2017-08-11 20:44:34 +02:00
reuk 4d1c26eb92 Add merge driver 2017-08-11 16:37:10 +01:00
Daniel Kroening 517e69f1e5 silence linter on builtin headers 2017-08-10 09:47:01 +02:00
Peter Schrammel bfb397e6fc Suppress some doxygen warnings 2017-08-09 13:34:47 +01:00
Peter Schrammel 8c25dcf3cc Workaround for travis performing shallow clones with wrong branch
travis clones a repo by 'git clone --depth 50 repo' which is ok if the
PR target is the master branch.  It should actually add '--branch=
$TRAVIS_BRANCH' to the clone command.  This commit provides a
workaround.
2017-08-07 13:41:04 +01:00
Chris Smowton c4a072bd6e Merge remote-tracking branch 'upstream/master' into merge-master-2017-08-03 2017-08-03 15:25:32 +01:00
Joel Allred 71d8a14a0d Add zsh support to auto-complete
This required the replacement of calls to _filedir in the script.
2017-07-26 23:32:41 +01:00
Kareem Khazem d4be554988 Don't lint text between #if 0...#endif 2017-07-25 12:36:08 +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
Daniel Kroening d36c0d06a1 Merge pull request #1080 from peterschrammel/travis-check-doxygen
Report doxygen warnings on travis
2017-07-15 15:58:45 +01:00
Pascal Kesseli 427194c626 Allow anonymous namespaces
Only give warnings for namespaces with actual names, in accordance with
ad41375353.
This enables the use of anonymous namespaces without warnings.

Fixes: #932
2017-07-12 15:36:32 +02:00
Chris Smowton 0e1b95c5dc Merge remote-tracking branch 'upstream/master' into merge_master_20170705 2017-07-07 09:30:07 +01:00
Peter Schrammel c9acbeee91 Report doxygen warnings on travis 2017-07-06 07:19:55 +01:00
Peter Schrammel ebb745ff75 Extend run_diff to doxygen 2017-07-06 07:19:55 +01:00
Peter Schrammel 64a3ab5b64 Rename run_lint to run_diff 2017-07-03 17:10:23 +01:00
Peter Schrammel 7af068eb2e Generalise run_lint to run with different tools 2017-07-03 17:09:42 +01:00
Peter Schrammel 428507bc44 Generalise filter_by_diff to output lines between warnings 2017-07-03 16:20:35 +01:00
Peter Schrammel 9714e12920 Rename linter filter script 2017-07-03 16:20:17 +01:00
Pascal Kesseli 78a23bbd69 Fix removal of first component
Removal of first component for header guard suggestion is hard-coded to
remove 4 characters ("src/").  This doesn't work with all directory
names ("unit/").
2017-06-28 11:25:07 +02:00
Daniel Kroening 17e596356f Merge pull request #1005 from reuk/script-update
Stop attempting to convert previously-converted doc headers
2017-06-18 17:11:29 +01:00
Daniel Kroening a2a143a4d3 Merge pull request #1022 from karkhaz/ls-parse-script
Add script to find linkerscript-defined info
2017-06-18 17:10:14 +01:00
Kareem Khazem 6cd9693f65 Add script to find linkerscript-defined info
Add ls_parse.py, a script to discover symbols whose values are defined
in a linker script, and valid memory extents corresponding to sections
in an object file. ls_parse can emit this information as a C file,
suitable for compiling into a goto-binary and linking with the rest of
the codebase. ls_parse can also emit the information as a JSON file,
suitable for automatic processing from within goto-cc. This supports
CPROVER in knowing the actual values of symbols that are not defined in
the C source.

CR: https://cr.amazon.com/r/7191907/
2017-06-15 19:27:54 +01:00
Chris Smowton eed0afb9a7 Merge remote-tracking branch 'origin/master' into smowton/merge/master_20170614 2017-06-14 15:56:45 +01:00
Chris Smowton a320377c27 Merge commit 'aed3c25' into smowton/merge/master_20170614 2017-06-14 15:55:11 +01:00
martin 975b5a3550 Get the linter to check for assertions and give a deprecated warning. 2017-06-13 16:12:12 +01:00
reuk bec818e179 Remove duplication from conversion script 2017-06-13 13:14:24 +01:00
reuk a6c32b0d96 Stop attempting to convert previously-converted headers 2017-06-12 19:14:27 +01:00
reuk aed3c25fa3 Modify reformatting script to retain existing headers 2017-06-06 15:13:09 +01:00
reuk 69dacac7e6 Update postprocessor comparison script 2017-06-06 15:13:09 +01:00
reuk 0f6df5c2fb Add doc conversion driver script 2017-06-06 15:13:09 +01:00
reuk e0f2b2b5ca Fix parameter list bug 2017-06-06 15:13:09 +01:00
reuk 7ed20c1839 Allow python script to reformat in place 2017-06-06 15:13:09 +01:00
reuk 3e623f6e96 Revert "Fix up linter script to accept new Copyright label"
This reverts commit 60c5091e36.
2017-06-06 15:13:09 +01:00
reuk 60c5091e36 Fix up linter script to accept new Copyright label 2017-06-06 14:42:12 +01:00
reuk fa1d8e2359 Move conversion scripts to scripts folder 2017-06-06 14:42:12 +01:00
Michael Tautschnig f0fe0200b3 Make the linter ignore generated builtin-header files 2017-05-23 11:01:31 +01:00
reuk 72da3fb3c4 Give pragma files a '.def' suffix 2017-05-18 11:39:41 +01:00
reuk 44c96ebda3 Build cleanly without globally disabling warnings
Disabling warnings globally by setting 'Wno-deprecated-register' and
'Wno-sign-compare' in CXXFLAGS will silence these errors, even in new
code. It's better to use `pragma`-based warning suppression, so that
warnings are only disabled in locations that won't or can't be fixed.
Likewise, rather than filtering 'Wpedantic' from CXXFLAGS when building
some of the solvers, it's better to disable warnings just on the
problematic headers.
2017-05-18 11:33:16 +01:00
reuk a0ef01a2e1 Update linter to find std::endl 2017-05-16 16:21:42 +01:00
reuk 24fd67b55d Give pragma files a '.def' suffix 2017-04-26 22:54:50 +01:00
reuk 1dc27ae206 Build cleanly without globally disabling warnings
Disabling warnings globally by setting 'Wno-deprecated-register' and
'Wno-sign-compare' in CXXFLAGS will silence these errors, even in new
code. It's better to use `pragma`-based warning suppression, so that
warnings are only disabled in locations that won't or can't be fixed.
Likewise, rather than filtering 'Wpedantic' from CXXFLAGS when building
some of the solvers, it's better to disable warnings just on the
problematic headers.
2017-04-26 16:29:49 +01:00
Vojtěch Forejt 29d67d39e2 Merge pull request #679 from diffblue/master
Update test-gen-support from master
2017-03-22 21:39:07 +00:00
Nathan Phillips 36dee831ad Check that filter_lint_by_diff.py exists 2017-03-21 14:09:44 +00:00
Nathan Phillips 6bba4ab110 Work across repos
Use the path of the containing repository of the current path, not the one the script is downloaded into
2017-03-21 14:09:26 +00:00
Nathan Phillips 5fef8411b1 Work with submodules
Made linter use paths relative to current submodule, not the lowest containing repository
2017-03-21 14:07:56 +00:00
Nathan Phillips 9cd9843d36 Comment in lint filter 2017-03-21 14:07:56 +00:00
Nathan Phillips 88816e9998 Ignore stdout, only pass errors to filter script 2017-03-21 14:05:48 +00:00
Peter Schrammel aa8c91ee61 Update test-gen-support from master 2017-03-20 23:17:32 +00:00
thk123 835277b01a Fixed crash on non-ascii diff
Sometimes the diff file would contain a unicode character. Since we were
opening the file, this meant that unidiff was reading the file in the
wrong format. By letting unidiff handle reading the file we slightly
simplify the code and fix this problem.
2017-03-15 16:27:25 +00:00
Vlastimil Zeman 0381aab5ef Support for Linux based on musl-libc.
Change `#ifdef __linux__` and `#if defined(__linux__)` when it really
means *linux with glibc*. To avoid failures and be more specific
it is now adding `defined(__GLIBC__)` to check if `glibc` is present.
2017-03-15 13:51:59 +00:00