Clang Project

clang_source_code/test/Sema/conditional.c
1// RUN: %clang_cc1 %s -fsyntax-only -verify
2
3const char* test1 = 1 ? "i" : 1 == 1 ? "v" : "r";
4
5void _efree(void *ptr);
6void free(void *ptr);
7
8int _php_stream_free1() {
9  return (1 ? free(0) : _efree(0)); // expected-error {{returning 'void' from a function with incompatible result type 'int'}}
10}
11
12int _php_stream_free2() {
13  return (1 ? _efree(0) : free(0));  // expected-error {{returning 'void' from a function with incompatible result type 'int'}}
14}
15
16void pr39809() {
17  _Generic(0 ? (int const *)0 : (void *)0, int const *: (void)0);
18  _Generic(0 ? (int const *)0 : (void *)1, void const *: (void)0);
19  _Generic(0 ? (int volatile*)0 : (void const*)1, void volatile const*: (void)0);
20  _Generic(0 ? (int volatile*)0 : (void const*)0, void volatile const*: (void)0);
21}
22