aboutsummaryrefslogtreecommitdiff
path: root/build2/cc/utility.ixx
diff options
context:
space:
mode:
Diffstat (limited to 'build2/cc/utility.ixx')
-rw-r--r--build2/cc/utility.ixx73
1 files changed, 0 insertions, 73 deletions
diff --git a/build2/cc/utility.ixx b/build2/cc/utility.ixx
deleted file mode 100644
index 609f8de..0000000
--- a/build2/cc/utility.ixx
+++ /dev/null
@@ -1,73 +0,0 @@
-// file : build2/cc/utility.ixx -*- C++ -*-
-// copyright : Copyright (c) 2014-2019 Code Synthesis Ltd
-// license : MIT; see accompanying LICENSE file
-
-namespace build2
-{
- namespace cc
- {
- inline otype
- compile_type (const target& t, unit_type u)
- {
- using namespace bin;
-
- auto test = [&t, u] (const auto& h, const auto& i, const auto& o)
- {
- return t.is_a (u == unit_type::module_header ? h :
- u == unit_type::module_iface ? i :
- o);
- };
-
- return
- test (hbmie::static_type, bmie::static_type, obje::static_type) ? otype::e :
- test (hbmia::static_type, bmia::static_type, obja::static_type) ? otype::a :
- otype::s;
- }
-
- inline ltype
- link_type (const target& t)
- {
- using namespace bin;
-
- bool u (false);
- otype o (
- t.is_a<exe> () || (u = t.is_a<libue> ()) ? otype::e :
- t.is_a<liba> () || (u = t.is_a<libua> ()) ? otype::a :
- t.is_a<libs> () || (u = t.is_a<libus> ()) ? otype::s :
- static_cast<otype> (0xFF));
-
- return ltype {o, u};
- }
-
- inline compile_target_types
- compile_types (otype t)
- {
- using namespace bin;
-
- const target_type* o (nullptr);
- const target_type* i (nullptr);
- const target_type* h (nullptr);
-
- switch (t)
- {
- case otype::e:
- o = &obje::static_type;
- i = &bmie::static_type;
- h = &hbmie::static_type;
- break;
- case otype::a:
- o = &obja::static_type;
- i = &bmia::static_type;
- h = &hbmia::static_type;
- break;
- case otype::s:
- o = &objs::static_type;
- i = &bmis::static_type;
- h = &hbmis::static_type;
- break;
- }
-
- return compile_target_types {*o, *i, *h};
- }
- }
-}