Kristof Umann | f1f351c | 2018-11-02 15:59:37 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -analyzer-config-help 2>&1 | FileCheck %s |
Kristof Umann | e8df27d | 2019-05-23 20:47:28 +0000 | [diff] [blame] | 2 | |
Kristof Umann | f1f351c | 2018-11-02 15:59:37 +0000 | [diff] [blame] | 3 | // CHECK: OVERVIEW: Clang Static Analyzer -analyzer-config Option List |
| 4 | // |
Kristof Umann | e8df27d | 2019-05-23 20:47:28 +0000 | [diff] [blame] | 5 | // CHECK: USAGE: -analyzer-config <OPTION1=VALUE,OPTION2=VALUE,...> |
Kristof Umann | f1f351c | 2018-11-02 15:59:37 +0000 | [diff] [blame] | 6 | // |
Kristof Umann | e8df27d | 2019-05-23 20:47:28 +0000 | [diff] [blame] | 7 | // CHECK: -analyzer-config OPTION1=VALUE, -analyzer-config |
| 8 | // CHECK-SAME: OPTION2=VALUE, ... |
Kristof Umann | f1f351c | 2018-11-02 15:59:37 +0000 | [diff] [blame] | 9 | // |
| 10 | // CHECK: OPTIONS: |
| 11 | // |
| 12 | // CHECK: aggressive-binary-operation-simplification |
| 13 | // CHECK: (bool) Whether SValBuilder should rearrange |
| 14 | // CHECK: comparisons and additive operations of symbolic |
| 15 | // CHECK: expressions which consist of a sum of a |
| 16 | // CHECK: symbol and a concrete integer into the format |
| 17 | // CHECK: where symbols are on the left-hand side |
| 18 | // CHECK: and the integer is on the right. This is |
| 19 | // CHECK: only done if both symbols and both concrete |
| 20 | // CHECK: integers are signed, greater than or equal |
| 21 | // CHECK: to the quarter of the minimum value of the |
| 22 | // CHECK: type and less than or equal to the quarter |
Douglas Yung | ddcb0e4 | 2018-11-03 08:51:27 +0000 | [diff] [blame] | 23 | // CHECK: of the maximum value of that type. A |
| 24 | // CHECK: + n |
Kristof Umann | f1f351c | 2018-11-02 15:59:37 +0000 | [diff] [blame] | 25 | // CHECK: <OP> B + m becomes A - B <OP> m - n, where |
| 26 | // CHECK: A and B symbolic, n and m are integers. |
| 27 | // CHECK: <OP> is any of '==', '!=', '<', '<=', '>', |
| 28 | // CHECK: '>=', '+' or '-'. The rearrangement also |
| 29 | // CHECK: happens with '-' instead of '+' on either |
| 30 | // CHECK: or both side and also if any or both integers |
| 31 | // CHECK: are missing. (default: false) |