-
Notifications
You must be signed in to change notification settings - Fork 274
gcc style error messages for goto-cc #463
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from 3 commits
Commits
Show all changes
169 commits
Select commit
Hold shift + click to select a range
c0fda23
gcc style error messages for goto-cc
bfca2d5
merge
9a61c2c
fix for multi-ary fixed-bv multiplication
f1df0be
fix for multi-ary fixed-bv multiplication
7f33f04
Added CEGIS control benchmark 4
pkesseli 940eb34
Generalise dominators template (#422)
smowton 649d928
Implement local variable live range merging
smowton ac93ee3
Replace old variable table implementation
smowton 23f7d81
Factor the jbcm type and LVT functions into individual files
smowton 0610bae
Use a total order when top-sorting variables
smowton 5f740c6
Local variable table: tolerate impossible flows
smowton 923b7ab
Fix hole-in-variable-live-range test
smowton 41d2b27
Style fixes
smowton b309f06
Add documentation
smowton 7372e8f
Add tests for local variable live ranges with holes
smowton e12cf9b
Cleanup of operands() accesses
tautschnig 85118e1
Consistently resize instead of just reserving in codet classes
tautschnig bce928f
Fix package_friendly1 test
smowton e647aaf
Enable Java regression tests
smowton 7c2e95a
Fixed CEGIS control vector solution nondet
pkesseli 1a9c2b3
Fixed nondet returns in benchmark
pkesseli 76cf8be
Fixing simple linting errors in CVC
0196734
Split convert_expr into a collection of smaller functions
43b95ca
Replaced loop with simpler expression
704ed4f
Replaced a for loop with a ranged based for loop
0f80ad4
Parse the exception table
smowton bf0332d
Make the method object, and thus the exception table, available to do…
smowton 974ee14
Add exception edges to the CFG for dominator computation
smowton bcbb13a
Style fixes for local variable table
smowton 031001b
Make JAR/zip support optional in regression tests
tautschnig 017d854
fixup! Consistently resize instead of just reserving in codet classes
tautschnig 60a1fb2
Don't reference CPROVER_memory from Java code. Fixes #197.
smowton aff699d
Make symex language mode symbol clearer
smowton 0293309
Add comment that goto_program_dereference doesn't specify language mode
smowton 0c8aedc
Don't use potentially-invalid downcasts to read an object's clsid if …
smowton 96b386f
Include child types when creating a virtual function dispatch tree
smowton 1062f5c
Call least-derived virtual function for unknown clsid
smowton e73226c
Add test for virtual dispatch against child type
smowton 5e774da
Style and documentation fixes
smowton 6fb9cf2
fixup! wmm/musketeer: Use wmm_grapht::node_indext instead of unsigned
tautschnig d15e106
cegis uses labels for marking instructions
tautschnig 5b4f2ac
std::string::c_str() is non-const on Mac OS
tautschnig a2d8585
cegis: remove unused variables and namespace-local functions
tautschnig 18e1579
Make unused return value explicit in source
tautschnig 1c74b6b
cegis: uniform copyright headers, added missing ones
tautschnig 5863454
cegis: fix include guards to match coding conventions
tautschnig fabac07
clobber: update to current APIs
tautschnig 40413ed
memory-models: Use ID_c_enum as ID_enum no longer exists
tautschnig ac36bea
Merge improvements from aa-symex
tautschnig 72c9b77
aa-symex: share files with symex, path-symex
tautschnig f3969d0
Support building aa-symex, clobber, memory-model
tautschnig 3f244b3
Revert "also don't build memory-models.dir and clobber.dir"
tautschnig 2e98e10
Revert "do not build aa-symex.dir"
tautschnig dcc4260
Fix address space limit test. Fixes #243
smowton 071a0b1
Add address space size limit regression test
smowton de84fe1
restructure expr2java
mgudemann 7aef6ae
pre-load java.lang.Object / String in class queue
mgudemann aa45937
correct array type for Java
mgudemann 8620cee
nondeterministic initialization
mgudemann 8431204
exception table parser
mgudemann c3fdd43
handle java.lang.String literals
mgudemann 385521a
handle array length and runtime checks for Java
mgudemann 11be193
Java assertion handling
mgudemann 09c6304
class conversion runtime checks / array handling
mgudemann 8877d75
java bytecode index in source location
mgudemann f8f8889
Correct parsing / generation of source filename
mgudemann a981430
Clean up Java pointer cast handling
ba45b55
extract java bytecode convert method class
mgudemann 6f6d613
Java entry point / main function
50089af
Correct java type width handling
mgudemann 51999dc
pacify cpplint
mgudemann b8cc294
take comments into account
mgudemann 6ea64f1
fix linter warnings after rebase
mgudemann 8d32fc7
remove static method is_string_array
mgudemann f454ed8
take comments into account
mgudemann 47bd670
remove cast_if_necessary
mgudemann 2599f40
is_constructor and is_virtual as class methods
mgudemann 6c65dd7
make param const reference in clean_deref
mgudemann abccf9e
irep ID_java_super_method_call
mgudemann 281905f
comments for java object factory
mgudemann d6f6b64
documentation block gen_nondeet_array_init
mgudemann 520cfcc
remove default values from object factory
mgudemann 64d2f1e
export as_number to java_utils.cpp
mgudemann ecb6cca
take tautschnig's comments into account
mgudemann 06942df
remove namespace from vtable
mgudemann 7d2a303
remove const_cast
mgudemann f73048f
add java_utils.cpp
mgudemann a0e5510
Peter's comments
mgudemann 51751ce
remove superfluous std::move from conversion
mgudemann 85de00e
adapt NullPointer[1-4] regression tests
mgudemann 494436a
default ctor for java_convert_methodt::variablet
mgudemann c54f78a
take tautschnig's comments into account
mgudemann 1aa5bfd
assert known Java object size
mgudemann 7c89802
remove unused skip_initialize
mgudemann 950a202
remove TODOs from expr2java
mgudemann e3cf2ce
beautification
mgudemann 48b00d6
change "* "->" *", too
mgudemann 8786af7
adapt NullPointer2 regression test
mgudemann 4669ef3
adapt interface in CEGIS with default values
mgudemann 0230b0d
whitespace in front of {
mgudemann fcbd267
get_language options to language API (#480)
mgudemann a2010c8
Added check for div by zero in CEGIS control rational back end.
pkesseli 70acc40
missing header for S_IRUSR
718f10f
Factor class identifier extraction out of remove virtuals
smowton c85f573
Remove virtuals style improvements
smowton c83c5cc
Discover lexical scopes for anonymous variables
smowton 04f6998
Add test for anonymous local scoping
smowton 175bc4e
Replace gen_zero/gen_one by from_integer where possible
tautschnig 230dc50
Use null_pointer_exprt instead of gen_zero
tautschnig c37c089
zero_initializer without message_handlert
tautschnig e304bad
Use zero_initializer instead of gen_zero
tautschnig 33b45d3
Added file copyright header as noted by linter
tautschnig a9752cc
cbmc-java: Print details of errors in regression tests
tautschnig b083cf5
Make from_integer fail an assertion for unsupported types
tautschnig d36aa5a
Makefile tweaks to enable re-use of Makefiles in vpath builds
tautschnig 6a7a64c
Script to prepare out-of-tree (aka vpath) builds
tautschnig 99d53d9
Use vpath builds for coverage measurement
tautschnig a7a4ebb
ignore recursion set if class is subtype
mgudemann 9f37ed4
loop unwinding in static init of Java enum
mgudemann 0bbb638
Keep SSA L1 IDs as an attribute
smowton ebe9f2e
Replaced all instances of show-goto-functions a define
ddc75af
Renamed the GOTO_CHECK defintions according to the new naming convention
712fed1
Do not add named vars to used_local_names
smowton edf0edd
CPPlint on travis change: it will run, but not produce errors. (#473)
forejtv b6a5436
Mark internal functions static
tautschnig 4adb505
remove_complex: modify expressions only when necessary
tautschnig a7c6880
remove_vector: modify expressions only when necessary
tautschnig d38ccff
Apply adjust_float_expressions, rewrite_union just once per expression
tautschnig db2f6a4
rewrite_union, adjust_float_expressions: modify expressions only when…
tautschnig 36c87d9
Add remove_instanceof pass
smowton 2e56672
Use container-based Travis builds (#488)
tautschnig cef4870
Make the pre-commit hook report non-temporary path names (#477)
tautschnig ae3bb31
Keep track of types for structs and unions
ecf73db
Correcting test and adding to the suite
af84034
Added tests for different cases
332af10
Removed zip package
pkesseli 7e8a2b3
specify initial values for Boolean in struct optiont
mgudemann 294c7db
Additions to the gitignore
59996f7
initialize Boolean values in c_typecheck_baset
e24d992
add explicit undef value to format string enums
mgudemann bf09a0b
Use remove_instanceof in driver programs
smowton f25980c
Add instanceof test cases
smowton bf187ef
goto-instrument: remove virt calls and RTTI
smowton e9712bb
read ACC_ABSTRACT attribute in Java class files
8e54769
Check static array bounds of dynamic objects
smowton d8ba38f
mode!=ID_java is trivially true in this branch
tautschnig 735900a
Limit dereferencing checks to actual access size
tautschnig af19303
Making check methods of refinement virtual
romainbrenguier 3d1fa7a
Adding identifiers for string expressions and functions
romainbrenguier 2da0f17
Added a to_unsigned_integer function to arith_tools
romainbrenguier edf57da
Class for string types used in the string solver
romainbrenguier 651e53d
Class for string expressions to be used by the string solver
romainbrenguier f4fd79c
Class for string constraints.
romainbrenguier df336c3
Class for generating string constraints from string functions
romainbrenguier f7645ab
String refinement class
romainbrenguier 0b2a5c1
Remove virtual functions: shorten dispatch table
smowton 3f0a880
If the only dispatch option is abstract, erase the call
smowton e720837
Make test more tolerant of formatting differences
smowton 48ffff3
Add test for vtable abbreviation
smowton 49d1ae7
Add source locations to virt calls
smowton f84460d
Make string literal tables global
smowton b6b0063
Correct return value test of to_integer (#508)
allredj 2ee34f3
Fixed use of inline
NathanJPhillips 932ba57
Added regression tests for full-slice option
lucasccordeiro bbe8fcc
moved full-slice test cases from cbmc to goto-instrument
lucasccordeiro db88e7a
Fix adjustment of goto targets in the loop unwinder
danpoe adcd342
gcc style error messages for goto-cc
09f2d80
merge
09e7615
Merge branch 'master' into gcc-errors
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
typedef __CPROVER_fixedbv[64][32] __plant_typet; | ||
extern __plant_typet A0, A1; | ||
|
||
int main(void) { | ||
__CPROVER_assume(A0 == (__plant_typet)0.125); | ||
__CPROVER_assume(A1 == (__plant_typet)0.015625); | ||
|
||
const __plant_typet XXX1a=A0 * A1; | ||
const __plant_typet XXX2a=(__plant_typet)-1 * XXX1a; | ||
const __plant_typet XXX2b=-0.001953125; | ||
__CPROVER_assert(XXX2a==XXX2b, ""); | ||
return 0; | ||
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
CORE | ||
main.c | ||
|
||
^EXIT=0$ | ||
^SIGNAL=0$ | ||
^VERIFICATION SUCCESSFUL$ | ||
-- | ||
^warning: ignoring |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -135,3 +135,68 @@ void console_message_handlert::print( | |
std::cerr << message << '\n' << std::flush; | ||
#endif | ||
} | ||
|
||
/*******************************************************************\ | ||
|
||
Function: gcc_message_handlert::print | ||
|
||
Inputs: | ||
|
||
Outputs: | ||
|
||
Purpose: | ||
|
||
\*******************************************************************/ | ||
|
||
void gcc_message_handlert::print( | ||
unsigned level, | ||
const std::string &message, | ||
int sequence_number, | ||
const source_locationt &location) | ||
{ | ||
std::string dest; | ||
|
||
const irep_idt &file=location.get_file(); | ||
const irep_idt &line=location.get_line(); | ||
const irep_idt &function=location.get_function(); | ||
|
||
if(!function.empty()) | ||
{ | ||
if(!file.empty()) | ||
dest+=id2string(file)+":"; | ||
if(dest!="") dest+=' '; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. put body of if on separate line |
||
dest+="In function '"+id2string(function)+"':\n"; | ||
} | ||
|
||
if(!line.empty()) | ||
{ | ||
if(!file.empty()) | ||
dest+=id2string(file)+":"; | ||
|
||
dest+=id2string(line)+":"+id2string(line)+":"; | ||
} | ||
|
||
dest+=message; | ||
|
||
print(level, dest); | ||
} | ||
|
||
/*******************************************************************\ | ||
|
||
Function: gcc_message_handlert::print | ||
|
||
Inputs: | ||
|
||
Outputs: | ||
|
||
Purpose: | ||
|
||
\*******************************************************************/ | ||
|
||
void gcc_message_handlert::print( | ||
unsigned level, | ||
const std::string &message) | ||
{ | ||
// gcc appears to send everything to cerr | ||
std::cerr << message << '\n' << std::flush; | ||
} |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These regression tests seem to be unrelated to gcc.