/* Test to verify the handling of attribute access (none). { dg-do compile } { dg-options "-O -Wall -ftrack-macro-expansion=0" } */ int __attribute__ ((access (none, 1))) fnone_pv1 (void*); void nowarn_fnone_pv1 (void) { int x; fnone_pv1 (&x); } int __attribute__ ((access (none, 1))) fnone_pcv1 (const void*); void nowarn_fnone_pcv1 (void) { char a[2]; fnone_pcv1 (a); } int __attribute__ ((access (none, 1, 2))) fnone_pcv1_2 (const void*, int); // { dg-message "in a call to function 'fnone_pcv1_2' declared with attribute 'access \\\(none, 1, 2\\\)'" "note" } void nowarn_fnone_pcv1_2 (void) { char a[2]; fnone_pcv1_2 (a, 2); } void warn_fnone_pcv1_2 (void) { char a[3]; fnone_pcv1_2 (a, 4); // { dg-warning "expecting 4 bytes in a region of size 3" } }