| // { dg-do compile } |
| // { dg-options "-Wconversion -ftrack-macro-expansion=2" } |
| // { dg-require-effective-target int32plus } |
| |
| #include "conversion-real-integer-3.h" |
| |
| float vfloat; |
| |
| void h (void) |
| { |
| // We want to trigger an error on the token INT_MAX below, that is |
| // a macro that expands to the built-in __INT_MAX__. Furthermore, |
| // INT_MAX is defined inside a system header. |
| // |
| // The behavior we want is that the diagnostic should point to |
| // the locus that inside the source code here, at the relevant |
| // line below, even with -ftrack-macro-expansion. We don't want |
| // it to point to the any locus that is inside the system header. |
| vfloat = INT_MAX; // { dg-warning "conversion from .int. to .float. changes value from .2147483647. to " } |
| } |