# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # dummy library name to avoid skipping building the sources here. Library('clang-plugin-tests') SOURCES += [ 'TestAssertWithAssignment.cpp', 'TestBadImplicitConversionCtor.cpp', 'TestCanRunScript.cpp', 'TestCustomHeap.cpp', 'TestDanglingOnTemporary.cpp', 'TestExplicitOperatorBool.cpp', 'TestGlobalClass.cpp', 'TestHeapClass.cpp', 'TestInheritTypeAnnotationsFromTemplateArgs.cpp', 'TestKungFuDeathGrip.cpp', 'TestMultipleAnnotations.cpp', 'TestMustOverride.cpp', 'TestMustReturnFromCaller.cpp', 'TestMustUse.cpp', 'TestNANTestingExpr.cpp', 'TestNANTestingExprC.c', 'TestNeedsNoVTableType.cpp', 'TestNoAddRefReleaseOnReturn.cpp', 'TestNoArithmeticExprInArgument.cpp', 'TestNoAutoType.cpp', 'TestNoDuplicateRefCntMember.cpp', 'TestNoExplicitMoveConstructor.cpp', 'TestNoNewThreadsChecker.cpp', 'TestNonHeapClass.cpp', 'TestNonMemMovable.cpp', 'TestNonMemMovableStd.cpp', 'TestNonMemMovableStdAtomic.cpp', 'TestNonParameterChecker.cpp', 'TestNonTemporaryClass.cpp', 'TestNonTrivialTypeInFfi.cpp', 'TestNoPrincipalGetUri.cpp', 'TestNoRefcountedInsideLambdas.cpp', 'TestNoUsingNamespaceMozillaJava.cpp', 'TestOverrideBaseCall.cpp', 'TestOverrideBaseCallAnnotation.cpp', 'TestParamTraitsEnum.cpp', 'TestRefCountedCopyConstructor.cpp', 'TestSprintfLiteral.cpp', 'TestStackClass.cpp', 'TestStaticLocalClass.cpp', 'TestTemporaryClass.cpp', 'TestTemporaryLifetimeBound.cpp', 'TestTrivialCtorDtor.cpp', 'TestTrivialDtor.cpp', ] if CONFIG['OS_ARCH'] == 'WINNT': SOURCES += [ 'TestFopenUsage.cpp', 'TestLoadLibraryUsage.cpp', ] include('../external/tests/sources.mozbuild') if CONFIG['ENABLE_CLANG_PLUGIN_ALPHA']: DEFINES["MOZ_CLANG_PLUGIN_ALPHA"] = "1" include('../alpha/tests/sources.mozbuild') DisableStlWrapping() NoVisibilityFlags() # Build without any warning flags, and with clang verify flag for a # syntax-only build (no codegen), without a limit on the number of errors. COMPILE_FLAGS['OS_CXXFLAGS'] = ( [f for f in COMPILE_FLAGS.get('OS_CXXFLAGS', []) if not f.startswith('-W')] + ['-fsyntax-only', '-Xclang', '-verify', '-ferror-limit=0', '-Wno-invalid-noreturn'] ) COMPILE_FLAGS['OS_CFLAGS'] = ( [f for f in COMPILE_FLAGS.get('OS_CFLAGS', []) if not f.startswith('-W')] + ['-fsyntax-only', '-Xclang', '-verify', '-ferror-limit=0', '-Xclang', '-std=c11', '-Wno-invalid-noreturn'] ) # Don't reflect WARNINGS_CFLAGS into CFLAGS, as the warnings flags should be # as specified in OS_CFLAGS above. DisableCompilerWarnings()