mbox series

[0/8] asm inline backport

Message ID cover.1545922222.git.segher@kernel.crashing.org
Headers show
Series asm inline backport | expand

Message

Segher Boessenkool Dec. 27, 2018, 2:59 p.m. UTC
Hi!

I'd like to backport the "asm inline" series to 8 branch and 7 branch.
The patches are identical to trunk, except I added a patch 8/8 that
makes these branches not error on code it only warned on before (that
is, C code that uses restrict or const as asm qualifier).

The 7 backport has a context change in tree-inline.c, but everything
else is identical.

The goal of backporting is that users (Linux, mostly) can start using
it sooner.

Is this okay for 8?  Is it okay for 7?


Segher


Segher Boessenkool (8):
  asm qualifiers (PR55681)
  asm inline
  c: Delete a stray line in asm inline
  c/c++, asm: Write the asm-qualifier loop without "done" boolean
  c/c++, asm: Use nicer error for duplicate asm qualifiers
  c/c++, asm: Use nicer error for const and restrict
  c++, asm: Do not handle any asm-qualifiers in top-level asm
  c: Don't error for const or restrict as asm-qualifier

 gcc/c/c-parser.c                                | 112 ++++++++++++++++-------
 gcc/c/c-tree.h                                  |   5 +-
 gcc/c/c-typeck.c                                |  11 ++-
 gcc/cp/cp-tree.h                                |   2 +-
 gcc/cp/parser.c                                 | 117 +++++++++++++++++-------
 gcc/cp/pt.c                                     |   2 +-
 gcc/cp/semantics.c                              |   5 +-
 gcc/doc/extend.texi                             |  23 ++++-
 gcc/gimple-pretty-print.c                       |   2 +
 gcc/gimple.h                                    |  26 +++++-
 gcc/gimplify.c                                  |   1 +
 gcc/ipa-icf-gimple.c                            |   3 +
 gcc/testsuite/c-c++-common/torture/asm-inline.c |  53 +++++++++++
 gcc/testsuite/g++.dg/asm-qual-1.C               |  13 +++
 gcc/testsuite/g++.dg/asm-qual-2.C               |  46 ++++++++++
 gcc/testsuite/g++.dg/asm-qual-3.C               |  12 +++
 gcc/testsuite/gcc.dg/asm-qual-1.c               |   8 +-
 gcc/testsuite/gcc.dg/asm-qual-2.c               |  46 ++++++++++
 gcc/testsuite/gcc.dg/asm-qual-3.c               |   9 ++
 gcc/tree-core.h                                 |   3 +
 gcc/tree-inline.c                               |   3 +
 gcc/tree.h                                      |   3 +
 22 files changed, 420 insertions(+), 85 deletions(-)
 create mode 100644 gcc/testsuite/c-c++-common/torture/asm-inline.c
 create mode 100644 gcc/testsuite/g++.dg/asm-qual-1.C
 create mode 100644 gcc/testsuite/g++.dg/asm-qual-2.C
 create mode 100644 gcc/testsuite/g++.dg/asm-qual-3.C
 create mode 100644 gcc/testsuite/gcc.dg/asm-qual-2.c
 create mode 100644 gcc/testsuite/gcc.dg/asm-qual-3.c

Comments

Richard Biener Jan. 2, 2019, 9:09 a.m. UTC | #1
On Thu, Dec 27, 2018 at 3:59 PM Segher Boessenkool
<segher@kernel.crashing.org> wrote:
>
> Hi!
>
> I'd like to backport the "asm inline" series to 8 branch and 7 branch.
> The patches are identical to trunk, except I added a patch 8/8 that
> makes these branches not error on code it only warned on before (that
> is, C code that uses restrict or const as asm qualifier).
>
> The 7 backport has a context change in tree-inline.c, but everything
> else is identical.
>
> The goal of backporting is that users (Linux, mostly) can start using
> it sooner.
>
> Is this okay for 8?  Is it okay for 7?

OK for GCC 8 and 7.

Richard.

>
> Segher
>
>
> Segher Boessenkool (8):
>   asm qualifiers (PR55681)
>   asm inline
>   c: Delete a stray line in asm inline
>   c/c++, asm: Write the asm-qualifier loop without "done" boolean
>   c/c++, asm: Use nicer error for duplicate asm qualifiers
>   c/c++, asm: Use nicer error for const and restrict
>   c++, asm: Do not handle any asm-qualifiers in top-level asm
>   c: Don't error for const or restrict as asm-qualifier
>
>  gcc/c/c-parser.c                                | 112 ++++++++++++++++-------
>  gcc/c/c-tree.h                                  |   5 +-
>  gcc/c/c-typeck.c                                |  11 ++-
>  gcc/cp/cp-tree.h                                |   2 +-
>  gcc/cp/parser.c                                 | 117 +++++++++++++++++-------
>  gcc/cp/pt.c                                     |   2 +-
>  gcc/cp/semantics.c                              |   5 +-
>  gcc/doc/extend.texi                             |  23 ++++-
>  gcc/gimple-pretty-print.c                       |   2 +
>  gcc/gimple.h                                    |  26 +++++-
>  gcc/gimplify.c                                  |   1 +
>  gcc/ipa-icf-gimple.c                            |   3 +
>  gcc/testsuite/c-c++-common/torture/asm-inline.c |  53 +++++++++++
>  gcc/testsuite/g++.dg/asm-qual-1.C               |  13 +++
>  gcc/testsuite/g++.dg/asm-qual-2.C               |  46 ++++++++++
>  gcc/testsuite/g++.dg/asm-qual-3.C               |  12 +++
>  gcc/testsuite/gcc.dg/asm-qual-1.c               |   8 +-
>  gcc/testsuite/gcc.dg/asm-qual-2.c               |  46 ++++++++++
>  gcc/testsuite/gcc.dg/asm-qual-3.c               |   9 ++
>  gcc/tree-core.h                                 |   3 +
>  gcc/tree-inline.c                               |   3 +
>  gcc/tree.h                                      |   3 +
>  22 files changed, 420 insertions(+), 85 deletions(-)
>  create mode 100644 gcc/testsuite/c-c++-common/torture/asm-inline.c
>  create mode 100644 gcc/testsuite/g++.dg/asm-qual-1.C
>  create mode 100644 gcc/testsuite/g++.dg/asm-qual-2.C
>  create mode 100644 gcc/testsuite/g++.dg/asm-qual-3.C
>  create mode 100644 gcc/testsuite/gcc.dg/asm-qual-2.c
>  create mode 100644 gcc/testsuite/gcc.dg/asm-qual-3.c
>
> --
> 1.8.3.1
>
Richard Biener Jan. 2, 2019, 9:10 a.m. UTC | #2
On Wed, Jan 2, 2019 at 10:09 AM Richard Biener
<richard.guenther@gmail.com> wrote:
>
> On Thu, Dec 27, 2018 at 3:59 PM Segher Boessenkool
> <segher@kernel.crashing.org> wrote:
> >
> > Hi!
> >
> > I'd like to backport the "asm inline" series to 8 branch and 7 branch.
> > The patches are identical to trunk, except I added a patch 8/8 that
> > makes these branches not error on code it only warned on before (that
> > is, C code that uses restrict or const as asm qualifier).
> >
> > The 7 backport has a context change in tree-inline.c, but everything
> > else is identical.
> >
> > The goal of backporting is that users (Linux, mostly) can start using
> > it sooner.
> >
> > Is this okay for 8?  Is it okay for 7?
>
> OK for GCC 8 and 7.

Btw, please make entries into gcc7/8/changes.html for this in the .dot
release sections (you might have to create a new one for the next releases).

Richard.

> Richard.
>
> >
> > Segher
> >
> >
> > Segher Boessenkool (8):
> >   asm qualifiers (PR55681)
> >   asm inline
> >   c: Delete a stray line in asm inline
> >   c/c++, asm: Write the asm-qualifier loop without "done" boolean
> >   c/c++, asm: Use nicer error for duplicate asm qualifiers
> >   c/c++, asm: Use nicer error for const and restrict
> >   c++, asm: Do not handle any asm-qualifiers in top-level asm
> >   c: Don't error for const or restrict as asm-qualifier
> >
> >  gcc/c/c-parser.c                                | 112 ++++++++++++++++-------
> >  gcc/c/c-tree.h                                  |   5 +-
> >  gcc/c/c-typeck.c                                |  11 ++-
> >  gcc/cp/cp-tree.h                                |   2 +-
> >  gcc/cp/parser.c                                 | 117 +++++++++++++++++-------
> >  gcc/cp/pt.c                                     |   2 +-
> >  gcc/cp/semantics.c                              |   5 +-
> >  gcc/doc/extend.texi                             |  23 ++++-
> >  gcc/gimple-pretty-print.c                       |   2 +
> >  gcc/gimple.h                                    |  26 +++++-
> >  gcc/gimplify.c                                  |   1 +
> >  gcc/ipa-icf-gimple.c                            |   3 +
> >  gcc/testsuite/c-c++-common/torture/asm-inline.c |  53 +++++++++++
> >  gcc/testsuite/g++.dg/asm-qual-1.C               |  13 +++
> >  gcc/testsuite/g++.dg/asm-qual-2.C               |  46 ++++++++++
> >  gcc/testsuite/g++.dg/asm-qual-3.C               |  12 +++
> >  gcc/testsuite/gcc.dg/asm-qual-1.c               |   8 +-
> >  gcc/testsuite/gcc.dg/asm-qual-2.c               |  46 ++++++++++
> >  gcc/testsuite/gcc.dg/asm-qual-3.c               |   9 ++
> >  gcc/tree-core.h                                 |   3 +
> >  gcc/tree-inline.c                               |   3 +
> >  gcc/tree.h                                      |   3 +
> >  22 files changed, 420 insertions(+), 85 deletions(-)
> >  create mode 100644 gcc/testsuite/c-c++-common/torture/asm-inline.c
> >  create mode 100644 gcc/testsuite/g++.dg/asm-qual-1.C
> >  create mode 100644 gcc/testsuite/g++.dg/asm-qual-2.C
> >  create mode 100644 gcc/testsuite/g++.dg/asm-qual-3.C
> >  create mode 100644 gcc/testsuite/gcc.dg/asm-qual-2.c
> >  create mode 100644 gcc/testsuite/gcc.dg/asm-qual-3.c
> >
> > --
> > 1.8.3.1
> >