diff options
author | Tom Tromey <tom@tromey.com> | 2021-05-04 15:26:58 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2021-05-05 00:06:17 -0600 |
commit | 1d9c9726013d006ec91f95423aa16457dfe2a2f9 (patch) | |
tree | 0fd9a505ea21caf57e667c1546207fda116cabab /libcc1/Makefile.am | |
parent | 30c9604c2c04587094207b3dc91f472acb6f331d (diff) | |
download | gcc-1d9c9726013d006ec91f95423aa16457dfe2a2f9.tar.gz |
libcc1: unify compiler handling
Both libcc1 plugins have nearly identical copies of code to find the
underlying compiler. This seemed wasteful to me, so this patch
unifies the copies.
Two minor API changes were needed.
First, the old code used a back-link from the compiler object to the
plugin object to check the 'verbose' setting. This patch adds a
'verbose' setting directly to the compiler object instead.
Second, the 'find' method implicitly knew which compiler base name
("gcc" or "g++") to use. This patch makes this a parameter that is
passed in by the plugin.
libcc1
* libcp1.cc (compiler, compiler_triplet_regexp)
(compiler_driver_filename): Remove.
(libcp1::libcp1): Update.
(make_regexp, libcp1::compiler::find)
(libcp1::compiler_triplet_regexp::find)
(libcp1::compiler_driver_filename::find): Remove.
(libcp1_set_verbose, libcp1_set_arguments)
(libcp1_set_triplet_regexp, libcp1_set_driver_filename): Update.
* libcc1.cc (compiler, compiler_triplet_regexp)
(compiler_driver_filename): Remove.
(libcc1::libcc1): Update.
(make_regexp, libcc1::compiler::find)
(libcc1::compiler_triplet_regexp::find)
(libcc1::compiler_driver_filename::find): Remove.
(libcc1_set_verbose, libcc1_set_arguments)
(libcc1_set_triplet_regexp, libcc1_set_driver_filename): Update.
* compiler.cc: New file.
* compiler.hh: New file.
* Makefile.in: Rebuild.
* Makefile.am (libcc1_la_SOURCES): Add compiler.hh, compiler.cc.
Diffstat (limited to 'libcc1/Makefile.am')
-rw-r--r-- | libcc1/Makefile.am | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am index f148fdd7aa2..3f20513d11b 100644 --- a/libcc1/Makefile.am +++ b/libcc1/Makefile.am @@ -75,7 +75,7 @@ libcp1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) libcc1_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1.sym libcc1_la_SOURCES = findcomp.cc libcc1.cc libcp1.cc \ - names.cc names.hh $(shared_source) \ + compiler.cc compiler.hh names.cc names.hh $(shared_source) \ $(marshall_c_source) $(marshall_cxx_source) libcc1_la_LIBADD = $(libiberty) libcc1_la_DEPENDENCIES = $(libiberty_dep) |