testsuite: Skip failing analyzer tests on AIX.
[official-gcc.git] / gcc / testsuite / gcc.dg / analyzer / out-of-bounds-diagram-4.c
blobd5d72482843ae182313e9840b3501c8ee24d7691
1 /* { dg-additional-options "-fdiagnostics-text-art-charset=unicode" } */
2 /* { dg-skip-if "" { powerpc-ibm-aix* } } */
4 #include <string.h>
6 #define LOREM_IPSUM \
7 "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod" \
8 " tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim" \
9 " veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea" \
10 " commodo consequat. Duis aute irure dolor in reprehenderit in voluptate" \
11 " velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint" \
12 " occaecat cupidatat non proident, sunt in culpa qui officia deserunt" \
13 " mollit anim id est laborum."
15 void
16 test_long_string ()
18 char buf[100];
19 strcpy (buf, LOREM_IPSUM); /* { dg-warning "stack-based buffer overflow" } */
20 /* { dg-warning "'__builtin_memcpy' writing 446 bytes into a region of size 100 overflows the destination" "" { target *-*-* } .-1 } */
23 /* { dg-begin-multiline-output "" }
25 ┌───┬───┬───┬───┬───┬───┬──────────┬─────┬─────┬─────┬─────┬─────┬─────┐
26 │[0]│[1]│[2]│[3]│[4]│[5]│ │[440]│[441]│[442]│[443]│[444]│[445]│
27 ├───┼───┼───┼───┼───┼───┤ ... ├─────┼─────┼─────┼─────┼─────┼─────┤
28 │'L'│'o'│'r'│'e'│'m'│' '│ │ 'o' │ 'r' │ 'u' │ 'm' │ '.' │ NUL │
29 ├───┴───┴───┴───┴───┴───┴──────────┴─────┴─────┴─────┴─────┴─────┴─────┤
30 │ string literal (type: 'char[446]') │
31 └──────────────────────────────────────────────────────────────────────┘
32 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
33 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
34 v v v v v v v v v v v v v v v
35 ┌───┬─────────────────────┬────┐┌──────────────────────────────────────┐
36 │[0]│ ... │[99]││ │
37 ├───┴─────────────────────┴────┤│ after valid range │
38 │ 'buf' (type: 'char[100]') ││ │
39 └──────────────────────────────┘└──────────────────────────────────────┘
40 ├──────────────┬───────────────┤├──────────────────┬───────────────────┤
41 │ │
42 ╭─────────┴─────────╮ ╭──────────┴──────────╮
43 │capacity: 100 bytes│ │overflow of 346 bytes│
44 ╰───────────────────╯ ╰─────────────────────╯
46 { dg-end-multiline-output "" } */