blob: 88a44e7b0aa345c06cc1a9f6ea9d8940ebe177bd [file] [log] [blame]
Quentin Colombet043406b2016-02-03 22:41:00 +00001// RUN: rm -rf %t
2// RUN: %clang_cc1 -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -I %S/Inputs %s -verify
Ben Langmuirf5416742016-02-04 00:55:24 +00003// RUN: %clang_cc1 -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -I %S/Inputs -x c %s -verify
4// RUN: %clang_cc1 -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -I %S/Inputs -x objective-c++ %s -verify
Quentin Colombet043406b2016-02-03 22:41:00 +00005
6// RUN: rm -rf %t.pch.cache
7// 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// RUN: %clang_cc1 -fmodules-cache-path=%t.pch.cache -fmodules -fimplicit-module-maps -I %S/Inputs %s -include-pch %t.pch %s -verify
9
10// expected-no-diagnostics
Galina Kistanova53ddd722017-04-04 02:50:40 +000011// REQUIRES: shell
Quentin Colombet043406b2016-02-03 22:41:00 +000012
13void use_constant_string_builtins1(void) {
14 (void)__builtin___CFStringMakeConstantString("");
15 (void)__builtin___NSStringMakeConstantString("");
16}
17
Ben Langmuirf5416742016-02-04 00:55:24 +000018#include "builtin.h"
Douglas Gregor15197662013-04-03 23:06:26 +000019
20int foo() {
21 return __builtin_object_size(p, 0);
22}
23
Ben Langmuirf5416742016-02-04 00:55:24 +000024#include "builtin_sub.h"
Douglas Gregor15197662013-04-03 23:06:26 +000025
26int bar() {
27 return __builtin_object_size(p, 0);
28}
29
Ben Langmuirb9ad4e62015-10-28 22:25:37 +000030int baz() {
31 return IS_CONST(0);
32}
Douglas Gregor15197662013-04-03 23:06:26 +000033
Quentin Colombet043406b2016-02-03 22:41:00 +000034void use_constant_string_builtins2(void) {
35 (void)__builtin___CFStringMakeConstantString("");
36 (void)__builtin___NSStringMakeConstantString("");
37}