aboutsummaryrefslogtreecommitdiff
path: root/test/SemaCXX/format-strings-0x.cpp
blob: e7c5904c66e371e75f4085b17c563e29dfce4eeb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// RUN: %clang_cc1 -fsyntax-only -verify -pedantic -std=c++11 %s

extern "C" {
extern int scanf(const char *restrict, ...);
extern int printf(const char *restrict, ...);
}

void f(char **sp, float *fp) {
  scanf("%as", sp); // expected-warning{{format specifies type 'float *' but the argument has type 'char **'}}

  printf("%a", 1.0);
  scanf("%afoobar", fp);
  printf(nullptr);
  printf(*sp); // expected-warning {{not a string literal}}
}