1/* Test if the Objective-C @encode machinery distinguishes between
2   'BOOL *' (which should be encoded as '^c') and 'char *' (which
3   should be encoded as '*').  */
4/* Contributed by Ziemowit Laski <zlaski@apple.com>.  */
5/* { dg-do run { target *-*-darwin* } } */
6/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
7
8#include <string.h>
9#include <stdlib.h>
10#include <objc/objc.h>
11
12int main(void) {
13  const char *BOOL_ptr = @encode(BOOL *);
14  const char *char_ptr = @encode(char *);
15
16  if(strcmp(BOOL_ptr, "^c"))
17    abort();
18
19  if(strcmp(char_ptr, "*"))
20    abort();
21
22  return 0;
23}
24