xref: /aosp_15_r20/external/clang/test/Modules/builtins.m (revision 67e74705e28f6214e480b399dd47ea732279e315)
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