aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--odb/odb.cxx11
-rw-r--r--odb/option-types.cxx7
-rw-r--r--odb/option-types.hxx3
3 files changed, 15 insertions, 6 deletions
diff --git a/odb/odb.cxx b/odb/odb.cxx
index f5dcd42..a10d1d2 100644
--- a/odb/odb.cxx
+++ b/odb/odb.cxx
@@ -646,17 +646,22 @@ main (int argc, char* argv[])
{
case cxx_version::cxx98:
{
- args[3] = "-std=gnu++98";
+ args[3] = "-std=c++98";
break;
}
case cxx_version::cxx11:
{
- args[3] = "-std=gnu++0x"; // gnu++11 was only added in GCC 4.7.0.
+ args[3] = "-std=c++0x"; // c++11 was only added in GCC 4.7.0.
break;
}
case cxx_version::cxx14:
{
- args[3] = "-std=gnu++14";
+ args[3] = "-std=c++1y";
+ break;
+ }
+ case cxx_version::cxx17:
+ {
+ args[3] = "-std=c++1z";
break;
}
}
diff --git a/odb/option-types.cxx b/odb/option-types.cxx
index bd3736e..d2848a4 100644
--- a/odb/option-types.cxx
+++ b/odb/option-types.cxx
@@ -17,8 +17,9 @@ using namespace std;
static const char* cxx_version_[] =
{
"c++98",
- "c++11"
- "c++14"
+ "c++11",
+ "c++14",
+ "c++17"
};
string cxx_version::
@@ -41,6 +42,8 @@ operator>> (istream& is, cxx_version& v)
v = cxx_version::cxx11;
else if (s == "c++14")
v = cxx_version::cxx14;
+ else if (s == "c++17")
+ v = cxx_version::cxx17;
else
is.setstate (istream::failbit);
}
diff --git a/odb/option-types.hxx b/odb/option-types.hxx
index 8ff85a9..dc8cbe2 100644
--- a/odb/option-types.hxx
+++ b/odb/option-types.hxx
@@ -22,7 +22,8 @@ struct cxx_version
{
cxx98,
cxx11,
- cxx14
+ cxx14,
+ cxx17
};
cxx_version (value v = value (0)) : v_ (v) {}