aboutsummaryrefslogtreecommitdiff
path: root/build2/cc/target.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2019-01-09 13:09:18 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2019-01-09 13:09:18 +0200
commit8e904346350cff0453c8bcd524a40a631fc05485 (patch)
treef096ad1e87d8a814c6e00c179c8849ed646e0989 /build2/cc/target.hxx
parentba8ce9226af026f873883b7d4e29079bbfece586 (diff)
Tighten cc rules matching
Specifically, make sure the rule does not match if there is a c-common prerequisites that it doesn't recognize.
Diffstat (limited to 'build2/cc/target.hxx')
-rw-r--r--build2/cc/target.hxx12
1 files changed, 6 insertions, 6 deletions
diff --git a/build2/cc/target.hxx b/build2/cc/target.hxx
index 4fb38cb..395c233 100644
--- a/build2/cc/target.hxx
+++ b/build2/cc/target.hxx
@@ -14,10 +14,10 @@ namespace build2
{
namespace cc
{
- // This is an abstract base target for all c-common source files. We use
- // this arrangement in rule matching to detect "unknown" (to this rule)
- // source files that it cannot handle but should not ignore either. For
- // example, a C link rule that sees a C++ source file.
+ // This is an abstract base target for all c-common header/source files.
+ // We use this arrangement during rule matching to detect "unknown" (to
+ // this rule) source/header files that it cannot handle but should not
+ // ignore either. For example, a C link rule that sees a C++ source file.
//
class cc: public file
{
@@ -32,10 +32,10 @@ namespace build2
// There is hardly a c-family compilation without a C header inclusion.
// As a result, this target type is registered for any c-family module.
//
- class h: public file
+ class h: public cc
{
public:
- using file::file;
+ using cc::cc;
public:
static const target_type static_type;