public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH v2 00/21] C++11-based improvements for libcc1
@ 2021-04-28  1:00 Tom Tromey
  2021-04-28  1:00 ` [PATCH v2 01/21] libcc1: use templates to unmarshall enums Tom Tromey
                   ` (20 more replies)
  0 siblings, 21 replies; 46+ messages in thread
From: Tom Tromey @ 2021-04-28  1:00 UTC (permalink / raw)
  To: gcc-patches

Here is v2 of my series to simplify libcc1 through the use of C++11
constructs.

v1 is here:

    https://gcc.gnu.org/pipermail/gcc-patches/2021-January/562668.html

I never pinged it because I'd sent it in the wrong stage.

As with v1, this brings libcc1 much closer to how I originally wanted
it to work.  Back then, C++11 couldn't be used, so some things had to
be written in a verbose way.  C++11 brings variadic templates, which
make it possible to simplify this code.

This version of the series brings more improvements.

The plugin for the C++ compiler was apparently written by copying much
of the C compiler code.  However, the original design was to unify
these, and this series eliminates much of the duplication.

This version also removes some manual memory management; typically in
favor of either unique_ptr or vector, but also via custom 'deleter'
classes for the rpc code.

Finally, a couple of minor bugs are fixed along the way.

I built and tested this against git GDB on x86-64 Fedora 32.

Note that the C++ plugin currently does not for git GCC -- it crashes.
This series doesn't make it worse (it may slightly change the reported
failures), but nor does it improve it.

Tom



^ permalink raw reply	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2021-05-04 22:05 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-28  1:00 [PATCH v2 00/21] C++11-based improvements for libcc1 Tom Tromey
2021-04-28  1:00 ` [PATCH v2 01/21] libcc1: use templates to unmarshall enums Tom Tromey
2021-04-28 18:27   ` Jeff Law
2021-04-28  1:01 ` [PATCH v2 02/21] libcc1: use "override" Tom Tromey
2021-04-28 15:53   ` Jeff Law
2021-04-28  1:01 ` [PATCH v2 03/21] libcc1: inline some simple methods Tom Tromey
2021-04-28 15:54   ` Jeff Law
2021-04-28  1:01 ` [PATCH v2 04/21] libcc1: delete copy constructor and assignment operators Tom Tromey
2021-04-28 15:55   ` Jeff Law
2021-04-28  1:01 ` [PATCH v2 05/21] libcc1: use variadic templates for "call" Tom Tromey
2021-04-28 18:28   ` Jeff Law
2021-04-28  1:01 ` [PATCH v2 06/21] libcc1: use variadic templates for "rpc" Tom Tromey
2021-04-28 18:28   ` Jeff Law
2021-04-28  1:01 ` [PATCH v2 07/21] libcc1: use std::vector when building function types Tom Tromey
2021-04-28 16:01   ` Jeff Law
2021-04-28 19:56     ` Tom Tromey
2021-04-28 20:07       ` Jeff Law
2021-04-28  1:01 ` [PATCH v2 08/21] libcc1: add deleter objects Tom Tromey
2021-04-28 21:06   ` Jeff Law
2021-04-28  1:01 ` [PATCH v2 09/21] libcc1: add more uses of 'deleter' Tom Tromey
2021-04-29 12:43   ` Jeff Law
2021-04-28  1:01 ` [PATCH v2 10/21] libcc1: use unique_ptr more Tom Tromey
2021-04-29 12:44   ` Jeff Law
2021-04-28  1:01 ` [PATCH v2 11/21] libcc1: unify compiler handling Tom Tromey
2021-04-29 12:47   ` Jeff Law
2021-04-28  1:01 ` [PATCH v2 12/21] libcc1: use foreach Tom Tromey
2021-04-28 16:04   ` Jeff Law
2021-04-28  1:01 ` [PATCH v2 13/21] libcc1: use static_assert Tom Tromey
2021-04-28 16:06   ` Jeff Law
2021-04-28  1:01 ` [PATCH v2 14/21] libcc1: share basic context code Tom Tromey
2021-04-29 12:50   ` Jeff Law
2021-04-28  1:01 ` [PATCH v2 15/21] libcc1: share GDB plugin code Tom Tromey
2021-04-30 14:50   ` Jeff Law
2021-04-28  1:01 ` [PATCH v2 16/21] libcc1: use GCC_FE_VERSION_1 in C++ plugin Tom Tromey
2021-04-28 16:06   ` Jeff Law
2021-04-28  1:01 ` [PATCH v2 17/21] libcc1: share the GCC interface code Tom Tromey
2021-04-30 15:07   ` Jeff Law
2021-04-28  1:01 ` [PATCH v2 18/21] libcc1: fix a memory leak Tom Tromey
2021-04-28 16:07   ` Jeff Law
2021-04-28  1:01 ` [PATCH v2 19/21] libcc1: use variadic templates for callbacks Tom Tromey
2021-04-30 15:08   ` Jeff Law
2021-05-04 22:05     ` Tom Tromey
2021-04-28  1:01 ` [PATCH v2 20/21] libcc1: avoid extra string copies Tom Tromey
2021-04-28 16:07   ` Jeff Law
2021-04-28  1:01 ` [PATCH v2 21/21] libcc1: avoid a call to c_str Tom Tromey
2021-04-28 16:08   ` Jeff Law

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).