blob: d08c95b6d8abdb12cf54d32545653e6acb960104 [file] [log] [blame]
Matt Arsenaulta0115122018-10-03 02:01:19 +00001// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only -cl-std=CL2.0 -finclude-default-header
2
Matt Arsenault58fc8082019-01-29 20:49:54 +00003// Make sure warnings are produced based on printf format strings.
Matt Arsenaulta0115122018-10-03 02:01:19 +00004
5kernel void format_string_warnings(__constant char* arg) {
6
Matt Arsenault58fc8082019-01-29 20:49:54 +00007 printf("%d", arg); // expected-warning {{format specifies type 'int' but the argument has type '__constant char *'}}
Matt Arsenaulta0115122018-10-03 02:01:19 +00008
Matt Arsenault58fc8082019-01-29 20:49:54 +00009 printf("not enough arguments %d %d", 4); // expected-warning {{more '%' conversions than data arguments}}
Matt Arsenaulta0115122018-10-03 02:01:19 +000010
Matt Arsenault58fc8082019-01-29 20:49:54 +000011 printf("too many arguments", 4); // expected-warning {{data argument not used by format string}}
Matt Arsenaulta0115122018-10-03 02:01:19 +000012}