| /* { dg-do compile } */ |
| /* { dg-options "-O -fdiagnostics-show-caret" } */ |
| |
| /* This is an example file for use with |
| diagnostic_plugin_show_trees.c. |
| |
| The plugin handles "__show_tree" by recursively dumping |
| the internal structure of the second input argument. |
| |
| We want to accept an expression of any type. To do this in C, we |
| use variadic arguments, but C requires at least one argument before |
| the ellipsis, so we have a dummy one. */ |
| |
| extern void __show_tree (int dummy, ...); |
| |
| extern double sqrt (double x); |
| |
| void test_quadratic (double a, double b, double c) |
| { |
| __show_tree (0, |
| (-b + sqrt (b * b - 4 * a * c)) |
| / (2 * a)); |
| |
| /* { dg-begin-multiline-output "" } |
| (-b + sqrt (b * b - 4 * a * c)) |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| / (2 * a)); |
| ^~~~~~~~~ |
| { dg-end-multiline-output "" } */ |
| |
| /* { dg-begin-multiline-output "" } |
| (-b + sqrt (b * b - 4 * a * c)) |
| ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| { dg-end-multiline-output "" } */ |
| |
| /* { dg-begin-multiline-output "" } |
| (-b + sqrt (b * b - 4 * a * c)) |
| ^~~~~~~~~~~~~~~~~~~~~~~~ |
| { dg-end-multiline-output "" } */ |
| |
| /* { dg-begin-multiline-output "" } |
| (-b + sqrt (b * b - 4 * a * c)) |
| ~~~~~~^~~~~~~~~~~ |
| { dg-end-multiline-output "" } */ |
| |
| /* { dg-begin-multiline-output "" } |
| (-b + sqrt (b * b - 4 * a * c)) |
| ~~^~~ |
| { dg-end-multiline-output "" } */ |
| |
| /* { dg-begin-multiline-output "" } |
| (-b + sqrt (b * b - 4 * a * c)) |
| ~~~~~~^~~ |
| { dg-end-multiline-output "" } */ |
| |
| /* { dg-begin-multiline-output "" } |
| (-b + sqrt (b * b - 4 * a * c)) |
| ~~^~~ |
| { dg-end-multiline-output "" } */ |
| |
| /* { dg-begin-multiline-output "" } |
| / (2 * a)); |
| ~~~^~~~ |
| { dg-end-multiline-output "" } */ |
| } |