186d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst// 286d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst// The LLVM Compiler Infrastructure 386d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst// 486d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst// This file is distributed under the University of Illinois Open Source 586d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst// License. See LICENSE.TXT for details. 686d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst 786d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst// 886d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst// constassign.c 986d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst// bocktest 1086d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst// 1186d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst// Created by Blaine Garst on 3/21/08. 1286d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst// 1386d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst// shouldn't be able to assign to a const pointer 1486d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst// CONFIG error: assignment of read-only 1586d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst 1686d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst#import <stdio.h> 1786d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst 1886d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garstvoid foo(void) { printf("I'm in foo\n"); } 1986d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garstvoid bar(void) { printf("I'm in bar\n"); } 2086d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst 2186d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garstint main(int argc, char *argv[]) { 2286d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst void (*const fptr)(void) = foo; 2386d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst void (^const blockA)(void) = ^ { printf("hello\n"); }; 2486d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst blockA = ^ { printf("world\n"); } ; 2586d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst fptr = bar; 2686d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst printf("%s: success\n", argv[0]); 2786d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst return 0; 2886d0ba4286ec42dcd055bd22434c7f40009834bdBlaine Garst} 29