public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 0/4] libcpp patches
@ 2015-05-02  0:44 David Malcolm
  2015-05-02  0:44 ` [PATCH 2/4] libcpp: Replace macro usage with C++ constructs David Malcolm
                   ` (3 more replies)
  0 siblings, 4 replies; 23+ messages in thread
From: David Malcolm @ 2015-05-02  0:44 UTC (permalink / raw)
  To: gcc-patches; +Cc: David Malcolm

The following patches for libcpp (and gcc) are an attempt at making
the libcpp API and internal representation easier to understand
and to hack on, simplifying it (IMHO) with a modest amount of C++,
without changing its behavior.

See the individual patches for their descriptions.

How do these look? (for trunk)

I've successfully bootstrapped&regrtested the cumulative effect of the
patches on x86_64-unknown-linux-gnu (Fedora 20).  I would verify the
bootstrap&regrtest of each patch before applying them.

I didn't do any performance testing; what would be appropriate?

David Malcolm (4):
  libcpp: Improvements to comments in line-map.h/c
  libcpp: Replace macro usage with C++ constructs
  libcpp/input.c: Add a way to visualize the linemaps
  Replace line_map union with C++ class hierarchy

 gcc/ada/gcc-interface/trans.c |   2 +-
 gcc/c-family/c-common.h       |   4 +-
 gcc/c-family/c-lex.c          |   6 +-
 gcc/c-family/c-opts.c         |  14 +-
 gcc/c-family/c-ppoutput.c     |   6 +-
 gcc/common.opt                |   4 +
 gcc/diagnostic.c              |   2 +-
 gcc/fortran/cpp.c             |  12 +-
 gcc/genmatch.c                |   4 +-
 gcc/input.c                   | 244 +++++++++++++-
 gcc/input.h                   |   2 +
 gcc/toplev.c                  |   3 +
 gcc/tree-diagnostic.c         |   9 +-
 libcpp/directives.c           |  17 +-
 libcpp/files.c                |   2 +-
 libcpp/include/cpplib.h       |   2 +-
 libcpp/include/line-map.h     | 735 +++++++++++++++++++++++++++++++-----------
 libcpp/internal.h             |  12 +-
 libcpp/line-map.c             | 243 ++++++++------
 libcpp/location-example.txt   | 216 +++++++++++++
 libcpp/macro.c                |  18 +-
 21 files changed, 1204 insertions(+), 353 deletions(-)
 create mode 100644 libcpp/location-example.txt

-- 
1.8.5.3

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

end of thread, other threads:[~2015-07-08 15:14 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-02  0:44 [PATCH 0/4] libcpp patches David Malcolm
2015-05-02  0:44 ` [PATCH 2/4] libcpp: Replace macro usage with C++ constructs David Malcolm
2015-05-04 19:15   ` Jeff Law
2015-05-05 18:08     ` [PATCH 2/4 v2] libcpp: Replace macro usage with C++ constructs) David Malcolm
2015-05-05 18:08       ` [PATCH 2/4 v2: part 2] libcpp: Replace macro usage with C++ constructs David Malcolm
2015-05-08 21:47         ` Jeff Law
2015-07-08 14:50         ` Thomas Schwinge
2015-07-08 15:14           ` David Malcolm
2015-05-05 18:08       ` [PATCH 2/4 v2: part 1] Move linemap_assert higher up within the file David Malcolm
2015-05-08 21:35         ` Jeff Law
2015-05-05 18:08       ` [PATCH 5/4] libcpp: Eliminate most of the non-const/reference-returning inline fns David Malcolm
2015-05-08 21:49         ` Jeff Law
2015-05-08 21:45       ` [PATCH 2/4 v2] libcpp: Replace macro usage with C++ constructs) Jeff Law
2015-05-10 15:39         ` Jan Hubicka
2015-05-02  0:44 ` [PATCH 1/4] libcpp: Improvements to comments in line-map.h/c David Malcolm
2015-05-04 17:18   ` Jeff Law
2015-05-02  0:44 ` [PATCH 3/4] libcpp/input.c: Add a way to visualize the linemaps David Malcolm
2015-05-04 19:20   ` Jeff Law
2015-05-13 14:05     ` David Malcolm
2015-05-02  0:44 ` [PATCH 4/4] Replace line_map union with C++ class hierarchy David Malcolm
2015-05-04 20:45   ` Jeff Law
2015-05-04 21:34     ` David Malcolm
2015-05-14 15:20       ` 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).