1*67e74705SXin Li// RUN: rm -rf %t 2*67e74705SXin Li// RUN: %clang_cc1 -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -I %S/Inputs %s -verify 3*67e74705SXin Li// RUN: %clang_cc1 -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -I %S/Inputs -x c %s -verify 4*67e74705SXin Li// RUN: %clang_cc1 -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -I %S/Inputs -x objective-c++ %s -verify 5*67e74705SXin Li 6*67e74705SXin Li// RUN: rm -rf %t.pch.cache 7*67e74705SXin Li// RUN: %clang_cc1 -fmodules-cache-path=%t.pch.cache -fmodules -fimplicit-module-maps -I %S/Inputs -emit-pch -o %t.pch -x objective-c-header %S/Inputs/use-builtin.h 8*67e74705SXin Li// RUN: %clang_cc1 -fmodules-cache-path=%t.pch.cache -fmodules -fimplicit-module-maps -I %S/Inputs %s -include-pch %t.pch %s -verify 9*67e74705SXin Li 10*67e74705SXin Li// expected-no-diagnostics 11*67e74705SXin Li 12*67e74705SXin Livoid use_constant_string_builtins1(void) { 13*67e74705SXin Li (void)__builtin___CFStringMakeConstantString(""); 14*67e74705SXin Li (void)__builtin___NSStringMakeConstantString(""); 15*67e74705SXin Li} 16*67e74705SXin Li 17*67e74705SXin Li#include "builtin.h" 18*67e74705SXin Li 19*67e74705SXin Liint foo() { 20*67e74705SXin Li return __builtin_object_size(p, 0); 21*67e74705SXin Li} 22*67e74705SXin Li 23*67e74705SXin Li#include "builtin_sub.h" 24*67e74705SXin Li 25*67e74705SXin Liint bar() { 26*67e74705SXin Li return __builtin_object_size(p, 0); 27*67e74705SXin Li} 28*67e74705SXin Li 29*67e74705SXin Liint baz() { 30*67e74705SXin Li return IS_CONST(0); 31*67e74705SXin Li} 32*67e74705SXin Li 33*67e74705SXin Livoid use_constant_string_builtins2(void) { 34*67e74705SXin Li (void)__builtin___CFStringMakeConstantString(""); 35*67e74705SXin Li (void)__builtin___NSStringMakeConstantString(""); 36*67e74705SXin Li} 37