diff options
| -rw-r--r-- | linearize.c | 7 | ||||
| -rw-r--r-- | validation/context-unreachable.c | 1 | ||||
| -rw-r--r-- | validation/linear/builtin_unreachable0.c | 1 | ||||
| -rw-r--r-- | validation/linear/builtin_unreachable1.c | 1 |
4 files changed, 7 insertions, 3 deletions
diff --git a/linearize.c b/linearize.c index bda831ce..b040d345 100644 --- a/linearize.c +++ b/linearize.c @@ -2536,12 +2536,19 @@ struct entrypoint *linearize_symbol(struct symbol *sym) * Builtin functions */ +static pseudo_t linearize_unreachable(struct entrypoint *ep, struct expression *exp) +{ + add_unreachable(ep); + return VOID; +} + static struct sym_init { const char *name; pseudo_t (*linearize)(struct entrypoint *, struct expression*); struct symbol_op op; } builtins_table[] = { // must be declared in builtin.c:declare_builtins[] + { "__builtin_unreachable", linearize_unreachable }, { } }; diff --git a/validation/context-unreachable.c b/validation/context-unreachable.c index 3e330403..8664962e 100644 --- a/validation/context-unreachable.c +++ b/validation/context-unreachable.c @@ -12,5 +12,4 @@ static void foo(void) /* * check-name: context-unreachable - * check-known-to-fail */ diff --git a/validation/linear/builtin_unreachable0.c b/validation/linear/builtin_unreachable0.c index f9703079..911ed7f9 100644 --- a/validation/linear/builtin_unreachable0.c +++ b/validation/linear/builtin_unreachable0.c @@ -8,7 +8,6 @@ int foo(int p) /* * check-name: builtin_unreachable0 * check-command: test-linearize -Wno-decl $file - * check-known-to-fail * * check-output-start foo: diff --git a/validation/linear/builtin_unreachable1.c b/validation/linear/builtin_unreachable1.c index 4dedfaba..70f6674c 100644 --- a/validation/linear/builtin_unreachable1.c +++ b/validation/linear/builtin_unreachable1.c @@ -12,7 +12,6 @@ int foo(int c) * check-name: builtin_unreachable1 * check-command: test-linearize -Wno-decl $file * - * check-known-to-fail * check-output-start foo: .L0: |
