1  /* PR sanitizer/55435 */
       2  /* { dg-do compile } */
       3  
       4  __attribute__((no_sanitize_address)) int
       5  f1 (int *p, int *q)
       6  {
       7    *p = 42;
       8    return *q;
       9  }
      10  
      11  void f2 (char *);
      12  void f2 (char *) __attribute__((no_sanitize_address));
      13  void f2 (char *) __attribute__((no_sanitize_address));
      14  void f2 (char *);
      15  
      16  void
      17  f2 (char *p)
      18  {
      19    *p = 42;
      20  }
      21  
      22  void f3 (short *);
      23  __typeof (f3) f3  __attribute__((__no_sanitize_address__));
      24  
      25  void
      26  f3 (short *p)
      27  {
      28    *p = 42;
      29  }
      30  
      31  __attribute__((no_sanitize_address)) int
      32  f4 (int *p, int *q)
      33  {
      34    *p = 42;
      35    return *q;
      36  }
      37  
      38  void f5 (char *);
      39  void f5 (char *) __attribute__((no_sanitize_address));
      40  void f5 (char *) __attribute__((no_sanitize_address));
      41  void f5 (char *);
      42  
      43  void
      44  f5 (char *p)
      45  {
      46    *p = 42;
      47  }
      48  
      49  void f6 (short *);
      50  __typeof (f6) f6  __attribute__((__no_address_safety_analysis__));
      51  
      52  void
      53  f6 (short *p)
      54  {
      55    *p = 42;
      56  }
      57  
      58  int v __attribute__((no_sanitize_address)); /* { dg-warning "attribute ignored" } */
      59  int v2 __attribute__((no_address_safety_analysis)); /* { dg-warning "attribute ignored" } */
      60  
      61  /* { dg-final { scan-assembler-not "__asan_report_store" } } */
      62  /* { dg-final { scan-assembler-not "__asan_report_load" } } */