mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-04 22:02:52 +01:00
This provides support for Const, Pointer, Struct, and Tuple types. It does not cover Class, Function, or Interface which have their own Id and are tracked slightly differently.
43 lines
1.4 KiB
Plaintext
43 lines
1.4 KiB
Plaintext
// Part of the Carbon Language project, under the Apache License v2.0 with LLVM
|
|
// Exceptions. See /LICENSE for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
// AUTOUPDATE
|
|
|
|
fn A(p: const i32**) -> const i32** {
|
|
return p;
|
|
}
|
|
|
|
fn B(p: const (i32*)) -> const (i32*) {
|
|
return p;
|
|
}
|
|
|
|
// CHECK:STDOUT: --- basic.carbon
|
|
// CHECK:STDOUT:
|
|
// CHECK:STDOUT: constants {
|
|
// CHECK:STDOUT: %.1: type = const_type i32 [template]
|
|
// CHECK:STDOUT: %.2: type = ptr_type const i32 [template]
|
|
// CHECK:STDOUT: %.3: type = ptr_type const i32* [template]
|
|
// CHECK:STDOUT: %.4: type = ptr_type i32 [template]
|
|
// CHECK:STDOUT: %.5: type = const_type i32* [template]
|
|
// CHECK:STDOUT: }
|
|
// CHECK:STDOUT:
|
|
// CHECK:STDOUT: file {
|
|
// CHECK:STDOUT: package: <namespace> = namespace {.A = %A, .B = %B} [template]
|
|
// CHECK:STDOUT: %A: <function> = fn_decl @A [template]
|
|
// CHECK:STDOUT: %B: <function> = fn_decl @B [template]
|
|
// CHECK:STDOUT: }
|
|
// CHECK:STDOUT:
|
|
// CHECK:STDOUT: fn @A(%p: const i32**) -> const i32** {
|
|
// CHECK:STDOUT: !entry:
|
|
// CHECK:STDOUT: %p.ref: const i32** = name_ref p, %p
|
|
// CHECK:STDOUT: return %p.ref
|
|
// CHECK:STDOUT: }
|
|
// CHECK:STDOUT:
|
|
// CHECK:STDOUT: fn @B(%p: const (i32*)) -> const (i32*) {
|
|
// CHECK:STDOUT: !entry:
|
|
// CHECK:STDOUT: %p.ref: const (i32*) = name_ref p, %p
|
|
// CHECK:STDOUT: return %p.ref
|
|
// CHECK:STDOUT: }
|
|
// CHECK:STDOUT:
|