mirror of
https://github.com/mesonbuild/meson.git
synced 2026-08-07 16:20:56 +00:00
committed by
Jussi Pakkanen
parent
84070410f3
commit
d3542ff690
6
docs/markdown/snippets/nvc_now_support_setting_std.md
Normal file
6
docs/markdown/snippets/nvc_now_support_setting_std.md
Normal file
@@ -0,0 +1,6 @@
|
||||
## nvc and nvc++ now support setting std
|
||||
|
||||
The following standards are available for nvc: c89, c90, c99, c11,
|
||||
c17, c18, gnu90, gnu89, gnu99, gnu11, gnu17, gnu18. For nvc++:
|
||||
c++98, c++03, c++11, c++14, c++17, c++20, c++23, gnu++98, gnu++03,
|
||||
gnu++11, gnu++14, gnu++17, gnu++20
|
||||
@@ -361,6 +361,14 @@ class NvidiaHPC_CCompiler(PGICompiler, CCompiler):
|
||||
info, linker=linker, full_version=full_version)
|
||||
PGICompiler.__init__(self)
|
||||
|
||||
def get_options(self) -> 'MutableKeyedOptionDictType':
|
||||
opts = CCompiler.get_options(self)
|
||||
cppstd_choices = ['c89', 'c90', 'c99', 'c11', 'c17', 'c18']
|
||||
std_opt = opts[self.form_compileropt_key('std')]
|
||||
assert isinstance(std_opt, options.UserStdOption), 'for mypy'
|
||||
std_opt.set_versions(cppstd_choices, gnu=True)
|
||||
return opts
|
||||
|
||||
|
||||
class ElbrusCCompiler(ElbrusCompiler, CCompiler):
|
||||
def __init__(self, ccache: T.List[str], exelist: T.List[str], version: str, for_machine: MachineChoice, is_cross: bool,
|
||||
|
||||
@@ -566,6 +566,17 @@ class NvidiaHPC_CPPCompiler(PGICompiler, CPPCompiler):
|
||||
info, linker=linker, full_version=full_version)
|
||||
PGICompiler.__init__(self)
|
||||
|
||||
def get_options(self) -> 'MutableKeyedOptionDictType':
|
||||
opts = CPPCompiler.get_options(self)
|
||||
cppstd_choices = [
|
||||
'c++98', 'c++03', 'c++11', 'c++14', 'c++17', 'c++20', 'c++23',
|
||||
'gnu++98', 'gnu++03', 'gnu++11', 'gnu++14', 'gnu++17', 'gnu++20'
|
||||
]
|
||||
std_opt = opts[self.form_compileropt_key('std')]
|
||||
assert isinstance(std_opt, options.UserStdOption), 'for mypy'
|
||||
std_opt.set_versions(cppstd_choices)
|
||||
return opts
|
||||
|
||||
|
||||
class ElbrusCPPCompiler(ElbrusCompiler, CPPCompiler):
|
||||
def __init__(self, ccache: T.List[str], exelist: T.List[str], version: str, for_machine: MachineChoice, is_cross: bool,
|
||||
|
||||
Reference in New Issue
Block a user