ThomasMayerl

Results 21 issues of ThomasMayerl

At the first run of a program (with F5), PC is set to 00h instead of 4200h. At pressing F5 at the last command and rerun the program with F5...

In some cases, the compiler's ability to eliminate dead code depends on the order of the sub-expressions within the if. LLVM detects that the if expression in the following code...

llvm:optimizations
missed-optimization

Sometimes, DCE breaks by adding a redundant term. In the following example, the if statement always evaluates to false. LLVM (14) detects that and removes the dead code: ```c #include...

llvm:optimizations
missed-optimization

Sometimes the compiler's ability to detect and eliminate dead code decreases when double negations are inserted. LLVM detects that in the following snippet the if expression is always false and...

llvm:optimizations
missed-optimization

Sometimes the compiler's ability to detect and eliminate dead code is affected by applying De Morgan's law. In the following snippet, the compiler detects the dead code and thus removes...

llvm:optimizations

In some cases Gobra generates invalid triggers. For example, in the following code Gobra generates invalid triggers when the element Bar in Foo is of type Bar instead of *Bar:...

mapencoding

Assuming the following definitions: ```go type Foo struct { Bar int } var globalCache = map[string][]string{} var globalFooCache = map[string]*Foo{} ``` In the following function, Gobra cannot automatically infer injectivity...

mapencoding

The invariant in the following code makes Gobra crash with the error message `java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: java.util.NoSuchElementException`: ```go var cache = map[string]*int{} requires acc(cache, _) requires forall s string :: s...

The following code verifies because the syntax error is commented out: ```go var mapstrstr = map[string][]string{} preserves acc(mapstrstr) preserves let val, ok := mapstrstr[str] in acc(val) func test(str string) //preserves...

When trying to access the elements of a slice that is in a struct behind a pointer using a for-range loop, Gobra reports that there might be insufficient read permissions...