summaryrefslogtreecommitdiff
path: root/libcc1/libcp1plugin.cc
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2021-05-04 15:26:58 -0600
committerTom Tromey <tom@tromey.com>2021-05-05 00:06:17 -0600
commit1d9c9726013d006ec91f95423aa16457dfe2a2f9 (patch)
tree0fd9a505ea21caf57e667c1546207fda116cabab /libcc1/libcp1plugin.cc
parent30c9604c2c04587094207b3dc91f472acb6f331d (diff)
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/libcp1plugin.cc')
0 files changed, 0 insertions, 0 deletions