Hi! v2, with the input from Joseph taken into account.
This is the same "asm inline" patch as before, but now preceded by a patch that makes all orderings of volatile/goto/inline valid, all other type qualifiers invalid, all repetitions of qualifiers invalid. Tested on powerpc64-linux {-m32,-m64}. Is this okay for trunk? Segher gcc/c/c-parser.c | 91 +++++++++++++++--------- gcc/c/c-tree.h | 3 +- gcc/c/c-typeck.c | 3 +- gcc/cp/cp-tree.h | 2 +- gcc/cp/parser.c | 92 +++++++++++++++++-------- gcc/cp/pt.c | 2 +- gcc/cp/semantics.c | 3 +- gcc/doc/extend.texi | 23 +++++-- gcc/gimple-pretty-print.c | 2 + gcc/gimple.h | 24 ++++++- gcc/gimplify.c | 1 + gcc/ipa-icf-gimple.c | 3 + gcc/testsuite/c-c++-common/torture/asm-inline.c | 53 ++++++++++++++ gcc/testsuite/gcc.dg/asm-qual-1.c | 10 ++- gcc/testsuite/gcc.dg/asm-qual-2.c | 46 +++++++++++++ gcc/tree-core.h | 3 + gcc/tree-inline.c | 3 + gcc/tree.h | 3 + 18 files changed, 294 insertions(+), 73 deletions(-) create mode 100644 gcc/testsuite/c-c++-common/torture/asm-inline.c create mode 100644 gcc/testsuite/gcc.dg/asm-qual-2.c -- 1.8.3.1