compilers: make get_optimization_args abstract

pull/7795/head
Dylan Baker 4 years ago
parent 577a2de7e8
commit 135f5d5838
  1. 3
      mesonbuild/compilers/compilers.py
  2. 3
      mesonbuild/compilers/java.py
  3. 6
      run_unittests.py

@ -1091,8 +1091,9 @@ class Compiler(metaclass=abc.ABCMeta):
def get_werror_args(self) -> T.List[str]:
return []
@abc.abstractmethod
def get_optimization_args(self, optimization_level: str) -> T.List[str]:
raise EnvironmentError('{} does not implement get_optimization_args'.format(self.id))
pass
def get_module_incdir_args(self) -> T.Tuple[str, ...]:
raise EnvironmentError('{} does not implement get_module_incdir_args'.format(self.id))

@ -99,3 +99,6 @@ class JavaCompiler(BasicLinkerIsCompilerMixin, Compiler):
def needs_static_linker(self) -> bool:
return False
def get_optimization_args(self, optimization_level: str) -> T.List[str]:
return []

@ -360,7 +360,7 @@ class InternalTests(unittest.TestCase):
stat.S_IRGRP | stat.S_IXGRP)
def test_compiler_args_class_none_flush(self):
cc = mesonbuild.compilers.CCompiler([], 'fake', False, MachineChoice.HOST, mock.Mock())
cc = mesonbuild.compilers.ClangCCompiler([], 'fake', MachineChoice.HOST, False, mock.Mock())
a = cc.compiler_args(['-I.'])
#first we are checking if the tree construction deduplicates the correct -I argument
a += ['-I..']
@ -383,8 +383,8 @@ class InternalTests(unittest.TestCase):
a += ['-Ifirst']
self.assertEqual(a, ['-Ifirst', '-Isecond', '-Ithird'])
def test_compiler_args_class(self):
cc = mesonbuild.compilers.CCompiler([], 'fake', False, MachineChoice.HOST, mock.Mock())
def test_compiler_args_class_clike(self):
cc = mesonbuild.compilers.ClangCCompiler([], 'fake', MachineChoice.HOST, False, mock.Mock())
# Test that empty initialization works
a = cc.compiler_args()
self.assertEqual(a, [])

Loading…
Cancel
Save