aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/expand/rust-macro-builtins-asm.h
diff options
context:
space:
mode:
authorjjasmine <tanghocle456@gmail.com>2024-06-16 21:23:21 -0700
committerCohenArthur <arthur.cohen@embecosm.com>2024-06-28 09:59:34 +0000
commit12cc79fe8fe24f69a92e5b24918dd64ebecf1821 (patch)
tree0a587f36a95968c139642eb3f40cf3738bc399c1 /gcc/rust/expand/rust-macro-builtins-asm.h
parent76ba4a65809d2c8d1b8dac97585676c5ce22f447 (diff)
downloadgcc-12cc79fe8fe24f69a92e5b24918dd64ebecf1821.zip
gcc-12cc79fe8fe24f69a92e5b24918dd64ebecf1821.tar.gz
gcc-12cc79fe8fe24f69a92e5b24918dd64ebecf1821.tar.bz2
Added a test that is expected to fail
gcc/rust/ChangeLog: * expand/rust-macro-builtins-asm.cc (parse_clobber_abi): added comments (parse_options): Likewise (parse_asm_arg): Likewise (parse_asm): Likewise * expand/rust-macro-builtins-asm.h: Likewise gcc/testsuite/ChangeLog: * rust/compile/inline_asm_illegal_options.rs: new test * rust/compile/inline_asm_illegal_operands.rs: New test. This is expected to fail but we couldn't resolve parse_expr()'s general functionality yet Signed-off-by: badumbatish <tanghocle456@gmail.com>
Diffstat (limited to 'gcc/rust/expand/rust-macro-builtins-asm.h')
-rw-r--r--gcc/rust/expand/rust-macro-builtins-asm.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/gcc/rust/expand/rust-macro-builtins-asm.h b/gcc/rust/expand/rust-macro-builtins-asm.h
index 201f807..32a8d0b 100644
--- a/gcc/rust/expand/rust-macro-builtins-asm.h
+++ b/gcc/rust/expand/rust-macro-builtins-asm.h
@@ -6,11 +6,19 @@
#include "rust-macro-invoc-lexer.h"
#include "rust/ast/rust-expr.h"
namespace Rust {
-// All the operands are called asm_args in rustc asm.rs, we create a struct that
-// can store all of these AsmArgs This replaces the phase where we have to parse
-// all operands.
+
enum InlineAsmParseError
{
+ // Enum for InlineAsmParseError
+
+ // Currently with two error, COMMITTED AND NONCOMMITTED (to a token),
+ // which directs the parser to either bubbles the error up, or keep on going
+ // (vertical or horizontal)
+
+ // COMMITTED can be use as a way for parser to bubble up
+ // after it has exhausted its search space despite it not having committed to
+ // any token
+
COMMITTED,
NONCOMMITED,
};