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