Add attribute((noreturn)) to romcc
It doesn't do anything, but it allows the same code to be compiled with gcc and romcc. Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Ronald G. Minnich <rminnich@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5172 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
9ea7bff22e
commit
c89c4d4602
|
@ -1083,6 +1083,7 @@ struct compile_state {
|
|||
struct hash_entry *i_break;
|
||||
struct hash_entry *i_default;
|
||||
struct hash_entry *i_return;
|
||||
struct hash_entry *i_noreturn;
|
||||
/* Additional hash entries for predefined macros */
|
||||
struct hash_entry *i_defined;
|
||||
struct hash_entry *i___VA_ARGS__;
|
||||
|
@ -12758,6 +12759,9 @@ static unsigned int attrib(struct compile_state *state, unsigned int attributes)
|
|||
}
|
||||
attributes |= ATTRIB_ALWAYS_INLINE;
|
||||
}
|
||||
else if (ident == state->i_noreturn) {
|
||||
// attribute((noreturn)) does nothing (yet?)
|
||||
}
|
||||
else {
|
||||
error(state, 0, "Unknown attribute:%s", ident->name);
|
||||
}
|
||||
|
@ -24994,6 +24998,7 @@ static void compile(const char *filename,
|
|||
/* Memorize where some attribute keywords are. */
|
||||
state.i_noinline = lookup(&state, "noinline", 8);
|
||||
state.i_always_inline = lookup(&state, "always_inline", 13);
|
||||
state.i_noreturn = lookup(&state, "noreturn", 8);
|
||||
|
||||
/* Process the command line macros */
|
||||
process_cmdline_macros(&state);
|
||||
|
|
Loading…
Reference in New Issue