// RUN: cir-opt %s -verify-diagnostics -split-input-file // ----- !u64i = !cir.int // expected-error @+1 {{unknown address space specifier 'foobar'; expected 'target_address_space' or 'lang_address_space'}} cir.func @address_space1(%p : !cir.ptr) { cir.return } // ----- !u64i = !cir.int // expected-error@below {{expected '(' after 'target_address_space'}} // expected-error@below {{expected '('}} cir.func @address_space2(%p : !cir.ptr) { cir.return } // ----- !u64i = !cir.int // expected-error@below {{expected target address space value}} // expected-error@below {{expected integer value}} cir.func @address_space3(%p : !cir.ptr) { cir.return } // ----- !u64i = !cir.int // expected-error@below {{expected '(' after 'lang_address_space'}} // expected-error@below {{expected '('}} cir.func @lang_address_space_no_parens(%p : !cir.ptr) { cir.return } // ----- !u64i = !cir.int // expected-error@+1 {{expected keyword for language address space kind}} cir.func @lang_address_space_empty(%p : !cir.ptr) { cir.return } // ----- !u64i = !cir.int // expected-error@+1 {{expected one of [default, offload_private, offload_local, offload_global, offload_constant, offload_generic] for language address space kind}} cir.func @lang_address_space_invalid(%p : !cir.ptr) { cir.return } // ----- !s32i = !cir.int cir.global external target_address_space(1) @global_in_as1 = #cir.int<42> : !s32i cir.func @get_global_mismatched_address_space() { // expected-error@+1 {{result type address space does not match the address space of the global @global_in_as1}} %0 = cir.get_global @global_in_as1 : !cir.ptr cir.return } // ----- !s32i = !cir.int cir.global external @global_default_as = #cir.int<0> : !s32i cir.func @get_global_unexpected_address_space() { // expected-error@+1 {{result type address space does not match the address space of the global @global_default_as}} %0 = cir.get_global @global_default_as : !cir.ptr cir.return }