aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/rust-backend.h
diff options
context:
space:
mode:
authorPhilip Herron <philip.herron@embecosm.com>2021-02-10 10:33:33 +0000
committerPhilip Herron <herron.philip@googlemail.com>2021-02-10 18:10:57 +0000
commitae273ffac99cb75d832a11a83fd63291bb74cbdc (patch)
treea3d9a44ebe75c96fac728c8f4ed3d0796664ed29 /gcc/rust/rust-backend.h
parent016c40bedc7e3f53e2c413895f77c0d9f723eb3c (diff)
downloadgcc-ae273ffac99cb75d832a11a83fd63291bb74cbdc.zip
gcc-ae273ffac99cb75d832a11a83fd63291bb74cbdc.tar.gz
gcc-ae273ffac99cb75d832a11a83fd63291bb74cbdc.tar.bz2
Support Break without label and expression
This reuses GENERICS LOOP_EXPR and EXIT_EXPR to implement the infinite loop. Addresses: #106 #108
Diffstat (limited to 'gcc/rust/rust-backend.h')
-rw-r--r--gcc/rust/rust-backend.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/rust/rust-backend.h b/gcc/rust/rust-backend.h
index 7b0ccf9..50e8728 100644
--- a/gcc/rust/rust-backend.h
+++ b/gcc/rust/rust-backend.h
@@ -425,6 +425,12 @@ public:
Location)
= 0;
+ // infinite loop expressions
+ virtual Bexpression *loop_expression (Bblock *body, Location);
+
+ // exit expressions
+ virtual Bexpression *exit_expression (Bexpression *condition, Location);
+
// Create a switch statement where the case values are constants.
// CASES and STATEMENTS must have the same number of entries. If
// VALUE matches any of the list in CASES[i], which will all be