summaryrefslogtreecommitdiff
path: root/gcc/testsuite/obj-c++.dg/torture/strings/const-cfstring-3.mm
blob: 4a61429886b5d1aba4ae9cf6dbe434963868092d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* Test for assigning compile-time constant-string objects to static variables.  */
/* Contributed by Ziemowit Laski <zlaski@apple.com>  */

/* So far, CFString is darwin-only.  */
/* { dg-do run { target *-*-darwin* } } */
/* { dg-skip-if "NeXT only" { *-*-* } { "-fgnu-runtime" } { "" } } */
/* { dg-options "-mconstant-cfstrings -framework Foundation" } */

#include <stdlib.h>

typedef const struct __CFString * CFStringRef;
static CFStringRef appKey = (CFStringRef) @"com.apple.soundpref";

static int CFPreferencesSynchronize (CFStringRef ref) {
  return ref == appKey;
}

static void PrefsSynchronize()
{
    if(!CFPreferencesSynchronize(appKey))
      abort();
}

int main(void) {
  PrefsSynchronize();
  return 0;
}