raw_identifier.carbon 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. // Part of the Carbon Language project, under the Apache License v2.0 with LLVM
  2. // Exceptions. See /LICENSE for license information.
  3. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  4. //
  5. // ARGS: compile --phase=check --dump-sem-ir %s
  6. //
  7. // Check that the command-line flag to dump textual IR works.
  8. //
  9. // AUTOUPDATE
  10. fn A(n: i32) -> i32 {
  11. return r#n;
  12. }
  13. fn B(r#n: i32) -> i32 {
  14. return n;
  15. }
  16. fn C(r#if: i32) -> i32 {
  17. return r#if;
  18. }
  19. // CHECK:STDOUT: --- raw_identifier.carbon
  20. // CHECK:STDOUT:
  21. // CHECK:STDOUT: file {
  22. // CHECK:STDOUT: package: <namespace> = namespace {.A = %A, .B = %B, .C = %C}
  23. // CHECK:STDOUT: %A: <function> = fn_decl @A
  24. // CHECK:STDOUT: %B: <function> = fn_decl @B
  25. // CHECK:STDOUT: %C: <function> = fn_decl @C
  26. // CHECK:STDOUT: }
  27. // CHECK:STDOUT:
  28. // CHECK:STDOUT: fn @A(%n: i32) -> i32 {
  29. // CHECK:STDOUT: !entry:
  30. // CHECK:STDOUT: %n.ref: i32 = name_ref n, %n
  31. // CHECK:STDOUT: return %n.ref
  32. // CHECK:STDOUT: }
  33. // CHECK:STDOUT:
  34. // CHECK:STDOUT: fn @B(%n: i32) -> i32 {
  35. // CHECK:STDOUT: !entry:
  36. // CHECK:STDOUT: %n.ref: i32 = name_ref n, %n
  37. // CHECK:STDOUT: return %n.ref
  38. // CHECK:STDOUT: }
  39. // CHECK:STDOUT:
  40. // CHECK:STDOUT: fn @C(%if: i32) -> i32 {
  41. // CHECK:STDOUT: !entry:
  42. // CHECK:STDOUT: %if.ref: i32 = name_ref r#if, %if
  43. // CHECK:STDOUT: return %if.ref
  44. // CHECK:STDOUT: }
  45. // CHECK:STDOUT: