diff options
author | adam <adam@pkgsrc.org> | 2019-10-19 13:54:29 +0000 |
---|---|---|
committer | adam <adam@pkgsrc.org> | 2019-10-19 13:54:29 +0000 |
commit | ba24bc94e76e5568a0888d6ad6884be197991f7c (patch) | |
tree | 7356626b82eaaa8acd823c1c46ba31b03fd882f2 | |
parent | 146c54f928f1d21365907d1c3008784187af257a (diff) | |
download | pkgsrc-ba24bc94e76e5568a0888d6ad6884be197991f7c.tar.gz |
clang: updated to 9.0.0
9.0.0:
Major New Features
* Experimental support for C++ for OpenCL has been added.
Non-comprehensive list of changes in this release
* The __VERSION__ macro has been updated. Previously this macro contained the string ‘4.2.1 Compatible’ to achieve compatibility with GCC 4.2.1, but that should no longer be necessary. However, to retrieve Clang’s version, please favor the one of the macro defined in clang namespaced version macros.
New Compiler Flags
* -ftime-trace and ftime-trace-granularity=N Emits flame chart style compilation time report in chrome://tracing and speedscope.app compatible format. A trace .json file is written next to the compiled object file, containing hierarchical time information about frontend activities (file parsing, template instantiation) and backend activities (modules and functions being optimized, optimization passes).
Modified Compiler Flags
* clang -dumpversion now returns the version of Clang itself.
Windows Support
* clang-cl now treats non-existent files as possible typos for flags, clang-cl /diagnostic:caret /c test.cc for example now produces clang: error: no such file or directory: '/diagnostic:caret'; did you mean '/diagnostics:caret'?
* clang now parses the __declspec(allocator) specifier and generates debug information, so that memory usage can be tracked in Visual Studio.
* The -print-search-dirs option now separates elements with semicolons, as is the norm for path lists on Windows
* Improved handling of dllexport in conjunction with explicit template instantiations for MinGW, to allow building a shared libc++ for MinGW without --export-all-symbols to override the dllexport attributes
-rw-r--r-- | lang/clang-static-analyzer/Makefile | 3 | ||||
-rw-r--r-- | lang/clang/Makefile.common | 8 | ||||
-rw-r--r-- | lang/clang/PLIST | 56 | ||||
-rw-r--r-- | lang/clang/buildlink3.mk | 4 | ||||
-rw-r--r-- | lang/clang/distinfo | 14 | ||||
-rw-r--r-- | lang/clang/patches/patch-lib_Basic_Targets_OSTargets.h | 28 | ||||
-rw-r--r-- | lang/clang/patches/patch-lib_Driver_ToolChains_Solaris.cpp | 43 |
7 files changed, 82 insertions, 74 deletions
diff --git a/lang/clang-static-analyzer/Makefile b/lang/clang-static-analyzer/Makefile index 842d9c354b1..eea60bc7b21 100644 --- a/lang/clang-static-analyzer/Makefile +++ b/lang/clang-static-analyzer/Makefile @@ -1,6 +1,5 @@ -# $NetBSD: Makefile,v 1.14 2019/08/11 13:21:19 wiz Exp $ +# $NetBSD: Makefile,v 1.15 2019/10/19 13:54:29 adam Exp $ -PKGREVISION= 1 .include "../../lang/clang/Makefile.common" PKGNAME= ${DISTNAME:S/cfe/clang-static-analyzer/:S/.src//} diff --git a/lang/clang/Makefile.common b/lang/clang/Makefile.common index 8fa4cb4d713..15e68735ddb 100644 --- a/lang/clang/Makefile.common +++ b/lang/clang/Makefile.common @@ -1,13 +1,11 @@ -# $NetBSD: Makefile.common,v 1.34 2019/08/26 14:56:21 adam Exp $ +# $NetBSD: Makefile.common,v 1.35 2019/10/19 13:54:29 adam Exp $ # used by lang/clang/Makefile # used by lang/clang-static-analyzer/Makefile # used by lang/clang-tools-extra/Makefile -DISTNAME= cfe-8.0.1.src +DISTNAME= cfe-9.0.0.src CATEGORIES= lang devel -MASTER_SITES= ${MASTER_SITE_GITHUB:=llvm/} -GITHUB_PROJECT= llvm-project -GITHUB_RELEASE= llvmorg-${PKGVERSION_NOREV} +MASTER_SITES= http://releases.llvm.org/${PKGVERSION_NOREV}/ EXTRACT_SUFX= .tar.xz MAINTAINER= pkgsrc-users@NetBSD.org diff --git a/lang/clang/PLIST b/lang/clang/PLIST index 6593a1b0edd..4e8c477245a 100644 --- a/lang/clang/PLIST +++ b/lang/clang/PLIST @@ -1,8 +1,8 @@ -@comment $NetBSD: PLIST,v 1.26 2019/06/02 08:39:28 adam Exp $ +@comment $NetBSD: PLIST,v 1.27 2019/10/19 13:54:29 adam Exp $ bin/c-index-test bin/clang bin/clang++ -bin/clang-8 +bin/clang-9 bin/clang-cl bin/clang-cpp bin/clang-format @@ -10,6 +10,7 @@ bin/clang-import-test bin/clang-offload-bundler bin/clang-refactor bin/clang-rename +bin/clang-scan-deps bin/diagtool bin/git-clang-format bin/hmaptool @@ -29,12 +30,15 @@ include/clang/AST/ASTConsumer.h include/clang/AST/ASTContext.h include/clang/AST/ASTContextAllocate.h include/clang/AST/ASTDiagnostic.h +include/clang/AST/ASTDumper.h include/clang/AST/ASTDumperUtils.h include/clang/AST/ASTFwd.h include/clang/AST/ASTImporter.h include/clang/AST/ASTImporterLookupTable.h +include/clang/AST/ASTImporterSharedState.h include/clang/AST/ASTLambda.h include/clang/AST/ASTMutationListener.h +include/clang/AST/ASTNodeTraverser.h include/clang/AST/ASTStructuralEquivalence.h include/clang/AST/ASTTypeTraits.h include/clang/AST/ASTUnresolvedSet.h @@ -68,6 +72,7 @@ include/clang/AST/CommentParser.h include/clang/AST/CommentSema.h include/clang/AST/CommentVisitor.h include/clang/AST/ComparisonCategories.h +include/clang/AST/CurrentSourceLocExprScope.h include/clang/AST/DataCollection.h include/clang/AST/Decl.h include/clang/AST/DeclAccessPair.h @@ -93,6 +98,7 @@ include/clang/AST/ExternalASTMerger.h include/clang/AST/ExternalASTSource.h include/clang/AST/FormatString.h include/clang/AST/GlobalDecl.h +include/clang/AST/JSONNodeDumper.h include/clang/AST/LambdaCapture.h include/clang/AST/LexicallyOrderedRecursiveASTVisitor.h include/clang/AST/LocInfoType.h @@ -163,6 +169,7 @@ include/clang/Analysis/Analyses/ThreadSafetyUtil.h include/clang/Analysis/Analyses/UninitializedValues.h include/clang/Analysis/AnalysisDeclContext.h include/clang/Analysis/AnalysisDiagnostic.h +include/clang/Analysis/AnyCall.h include/clang/Analysis/BodyFarm.h include/clang/Analysis/CFG.h include/clang/Analysis/CFGStmtMap.h @@ -174,6 +181,7 @@ include/clang/Analysis/DomainSpecific/CocoaConventions.h include/clang/Analysis/DomainSpecific/ObjCNoReturn.h include/clang/Analysis/FlowSensitive/DataflowValues.h include/clang/Analysis/ProgramPoint.h +include/clang/Analysis/RetainSummaryManager.h include/clang/Analysis/SelectorExtras.h include/clang/Analysis/Support/BumpVector.h include/clang/Basic/ABI.h @@ -249,6 +257,7 @@ include/clang/Basic/FileSystemOptions.h include/clang/Basic/FileSystemStatCache.h include/clang/Basic/FixedPoint.h include/clang/Basic/IdentifierTable.h +include/clang/Basic/JsonSupport.h include/clang/Basic/LLVM.h include/clang/Basic/Lambda.h include/clang/Basic/LangOptions.def @@ -256,7 +265,6 @@ include/clang/Basic/LangOptions.h include/clang/Basic/Linkage.h include/clang/Basic/MSP430Target.def include/clang/Basic/MacroBuilder.h -include/clang/Basic/MemoryBufferCache.h include/clang/Basic/Module.h include/clang/Basic/ObjCRuntime.h include/clang/Basic/OpenCLExtensionTypes.def @@ -310,6 +318,7 @@ include/clang/CodeGen/SwiftCallingConv.h include/clang/Config/config.h include/clang/CrossTU/CrossTUDiagnostic.h include/clang/CrossTU/CrossTranslationUnit.h +include/clang/DirectoryWatcher/DirectoryWatcher.h include/clang/Driver/Action.h include/clang/Driver/Compilation.h include/clang/Driver/DarwinSDKInfo.h @@ -367,11 +376,13 @@ include/clang/Frontend/VerifyDiagnosticConsumer.h include/clang/FrontendTool/Utils.h include/clang/Index/CodegenNameGenerator.h include/clang/Index/CommentToXML.h +include/clang/Index/DeclOccurrence.h include/clang/Index/IndexDataConsumer.h include/clang/Index/IndexSymbol.h include/clang/Index/IndexingAction.h include/clang/Index/USRGeneration.h include/clang/Lex/CodeCompletionHandler.h +include/clang/Lex/DependencyDirectivesSourceMinimizer.h include/clang/Lex/DirectoryLookup.h include/clang/Lex/ExternalPreprocessorSource.h include/clang/Lex/HeaderMap.h @@ -459,6 +470,7 @@ include/clang/Serialization/AttrPCHRead.inc include/clang/Serialization/AttrPCHWrite.inc include/clang/Serialization/ContinuousRangeMap.h include/clang/Serialization/GlobalModuleIndex.h +include/clang/Serialization/InMemoryModuleCache.h include/clang/Serialization/Module.h include/clang/Serialization/ModuleFileExtension.h include/clang/Serialization/ModuleManager.h @@ -506,9 +518,6 @@ include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h include/clang/StaticAnalyzer/Core/PathSensitive/Regions.def include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h -include/clang/StaticAnalyzer/Core/PathSensitive/SMTExpr.h -include/clang/StaticAnalyzer/Core/PathSensitive/SMTSolver.h -include/clang/StaticAnalyzer/Core/PathSensitive/SMTSort.h include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h include/clang/StaticAnalyzer/Core/PathSensitive/SValVisitor.h include/clang/StaticAnalyzer/Core/PathSensitive/SVals.def @@ -521,10 +530,7 @@ include/clang/StaticAnalyzer/Core/PathSensitive/SummaryManager.h include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h include/clang/StaticAnalyzer/Core/PathSensitive/Symbols.def -include/clang/StaticAnalyzer/Core/PathSensitive/TaintManager.h -include/clang/StaticAnalyzer/Core/PathSensitive/TaintTag.h include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h -include/clang/StaticAnalyzer/Core/RetainSummaryManager.h include/clang/StaticAnalyzer/Frontend/AnalysisConsumer.h include/clang/StaticAnalyzer/Frontend/CheckerRegistration.h include/clang/StaticAnalyzer/Frontend/CheckerRegistry.h @@ -540,6 +546,7 @@ include/clang/Tooling/CompilationDatabasePluginRegistry.h include/clang/Tooling/Core/Diagnostic.h include/clang/Tooling/Core/Lookup.h include/clang/Tooling/Core/Replacement.h +include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h include/clang/Tooling/DiagnosticsYaml.h include/clang/Tooling/Execution.h include/clang/Tooling/FileMatchTrie.h @@ -551,6 +558,7 @@ include/clang/Tooling/Refactoring.h include/clang/Tooling/Refactoring/ASTSelection.h include/clang/Tooling/Refactoring/AtomicChange.h include/clang/Tooling/Refactoring/Extract/Extract.h +include/clang/Tooling/Refactoring/RangeSelector.h include/clang/Tooling/Refactoring/RecursiveSymbolVisitor.h include/clang/Tooling/Refactoring/RefactoringAction.h include/clang/Tooling/Refactoring/RefactoringActionRule.h @@ -569,9 +577,16 @@ include/clang/Tooling/Refactoring/Rename/SymbolOccurrences.h include/clang/Tooling/Refactoring/Rename/USRFinder.h include/clang/Tooling/Refactoring/Rename/USRFindingAction.h include/clang/Tooling/Refactoring/Rename/USRLocFinder.h +include/clang/Tooling/Refactoring/SourceCode.h +include/clang/Tooling/Refactoring/Stencil.h +include/clang/Tooling/Refactoring/Transformer.h include/clang/Tooling/RefactoringCallbacks.h include/clang/Tooling/ReplacementsYaml.h include/clang/Tooling/StandaloneExecution.h +include/clang/Tooling/Syntax/BuildTree.h +include/clang/Tooling/Syntax/Nodes.h +include/clang/Tooling/Syntax/Tokens.h +include/clang/Tooling/Syntax/Tree.h include/clang/Tooling/ToolExecutorPluginRegistry.h include/clang/Tooling/Tooling.h lib/clang/${PKGVERSION}/include/__clang_cuda_builtin_vars.h @@ -594,6 +609,7 @@ lib/clang/${PKGVERSION}/include/arm_fp16.h lib/clang/${PKGVERSION}/include/arm_neon.h lib/clang/${PKGVERSION}/include/armintr.h lib/clang/${PKGVERSION}/include/avx2intrin.h +lib/clang/${PKGVERSION}/include/avx512bf16intrin.h lib/clang/${PKGVERSION}/include/avx512bitalgintrin.h lib/clang/${PKGVERSION}/include/avx512bwintrin.h lib/clang/${PKGVERSION}/include/avx512cdintrin.h @@ -606,6 +622,7 @@ lib/clang/${PKGVERSION}/include/avx512pfintrin.h lib/clang/${PKGVERSION}/include/avx512vbmi2intrin.h lib/clang/${PKGVERSION}/include/avx512vbmiintrin.h lib/clang/${PKGVERSION}/include/avx512vbmivlintrin.h +lib/clang/${PKGVERSION}/include/avx512vlbf16intrin.h lib/clang/${PKGVERSION}/include/avx512vlbitalgintrin.h lib/clang/${PKGVERSION}/include/avx512vlbwintrin.h lib/clang/${PKGVERSION}/include/avx512vlcdintrin.h @@ -613,7 +630,9 @@ lib/clang/${PKGVERSION}/include/avx512vldqintrin.h lib/clang/${PKGVERSION}/include/avx512vlintrin.h lib/clang/${PKGVERSION}/include/avx512vlvbmi2intrin.h lib/clang/${PKGVERSION}/include/avx512vlvnniintrin.h +lib/clang/${PKGVERSION}/include/avx512vlvp2intersectintrin.h lib/clang/${PKGVERSION}/include/avx512vnniintrin.h +lib/clang/${PKGVERSION}/include/avx512vp2intersectintrin.h lib/clang/${PKGVERSION}/include/avx512vpopcntdqintrin.h lib/clang/${PKGVERSION}/include/avx512vpopcntdqvlintrin.h lib/clang/${PKGVERSION}/include/avxintrin.h @@ -629,6 +648,7 @@ lib/clang/${PKGVERSION}/include/cuda_wrappers/algorithm lib/clang/${PKGVERSION}/include/cuda_wrappers/complex lib/clang/${PKGVERSION}/include/cuda_wrappers/new lib/clang/${PKGVERSION}/include/emmintrin.h +lib/clang/${PKGVERSION}/include/enqcmdintrin.h lib/clang/${PKGVERSION}/include/f16cintrin.h lib/clang/${PKGVERSION}/include/float.h lib/clang/${PKGVERSION}/include/fma4intrin.h @@ -654,11 +674,20 @@ lib/clang/${PKGVERSION}/include/movdirintrin.h lib/clang/${PKGVERSION}/include/msa.h lib/clang/${PKGVERSION}/include/mwaitxintrin.h lib/clang/${PKGVERSION}/include/nmmintrin.h +lib/clang/${PKGVERSION}/include/opencl-c-base.h lib/clang/${PKGVERSION}/include/opencl-c.h +lib/clang/${PKGVERSION}/include/openmp_wrappers/__clang_openmp_math.h +lib/clang/${PKGVERSION}/include/openmp_wrappers/__clang_openmp_math_declares.h +lib/clang/${PKGVERSION}/include/openmp_wrappers/cmath +lib/clang/${PKGVERSION}/include/openmp_wrappers/math.h lib/clang/${PKGVERSION}/include/pconfigintrin.h lib/clang/${PKGVERSION}/include/pkuintrin.h lib/clang/${PKGVERSION}/include/pmmintrin.h lib/clang/${PKGVERSION}/include/popcntintrin.h +lib/clang/${PKGVERSION}/include/ppc_wrappers/emmintrin.h +lib/clang/${PKGVERSION}/include/ppc_wrappers/mm_malloc.h +lib/clang/${PKGVERSION}/include/ppc_wrappers/mmintrin.h +lib/clang/${PKGVERSION}/include/ppc_wrappers/xmmintrin.h lib/clang/${PKGVERSION}/include/prfchwintrin.h lib/clang/${PKGVERSION}/include/ptwriteintrin.h lib/clang/${PKGVERSION}/include/rdseedintrin.h @@ -697,14 +726,18 @@ lib/clang/${PKGVERSION}/include/xtestintrin.h lib/cmake/clang/ClangConfig.cmake lib/cmake/clang/ClangTargets-release.cmake lib/cmake/clang/ClangTargets.cmake +lib/libclang-cpp.${SOEXT} +${PLIST.notdylib}lib/libclang-cpp.${SOEXT}.9 lib/libclang.${SOEXT} -${PLIST.notdylib}lib/libclang.${SOEXT}.8 +${PLIST.notdylib}lib/libclang.${SOEXT}.9 lib/libclangAST.a lib/libclangASTMatchers.a lib/libclangAnalysis.a lib/libclangBasic.a lib/libclangCodeGen.a lib/libclangCrossTU.a +lib/libclangDependencyScanning.a +lib/libclangDirectoryWatcher.a lib/libclangDriver.a lib/libclangDynamicASTMatchers.a lib/libclangEdit.a @@ -724,7 +757,8 @@ lib/libclangTooling.a lib/libclangToolingASTDiff.a lib/libclangToolingCore.a lib/libclangToolingInclusions.a -lib/libclangToolingRefactor.a +lib/libclangToolingRefactoring.a +lib/libclangToolingSyntax.a share/clang/bash-autocomplete.sh share/clang/clang-format-bbedit.applescript share/clang/clang-format-diff.py diff --git a/lang/clang/buildlink3.mk b/lang/clang/buildlink3.mk index 93bfe0c7875..49da6c0b828 100644 --- a/lang/clang/buildlink3.mk +++ b/lang/clang/buildlink3.mk @@ -1,11 +1,11 @@ -# $NetBSD: buildlink3.mk,v 1.10 2019/06/06 19:57:59 adam Exp $ +# $NetBSD: buildlink3.mk,v 1.11 2019/10/19 13:54:29 adam Exp $ BUILDLINK_TREE+= clang .if !defined(CLANG_BUILDLINK3_MK) CLANG_BUILDLINK3_MK:= -BUILDLINK_API_DEPENDS.clang+= clang>=8.0.0 +BUILDLINK_API_DEPENDS.clang+= clang>=9.0.0 BUILDLINK_PKGSRCDIR.clang?= ../../lang/clang .include "../../textproc/libxml2/buildlink3.mk" diff --git a/lang/clang/distinfo b/lang/clang/distinfo index 7d73eb4e86f..686cdae4451 100644 --- a/lang/clang/distinfo +++ b/lang/clang/distinfo @@ -1,10 +1,10 @@ -$NetBSD: distinfo,v 1.59 2019/08/05 19:06:49 adam Exp $ +$NetBSD: distinfo,v 1.60 2019/10/19 13:54:29 adam Exp $ -SHA1 (cfe-8.0.1.src.tar.xz) = e1d7f274c4fd623f19255cc52c6d7b39cf8769ee -RMD160 (cfe-8.0.1.src.tar.xz) = 8bec1ef0e0e49000886d8caed5ef42fb56a418b2 -SHA512 (cfe-8.0.1.src.tar.xz) = 1227b2d32052c70b4b494659849000188fce46fc31a71f3352ba8457ac0b0b17e4bc7c8589874c8586d55aa808ee6c1fceb7df501aafa33599f8df7bfd2b791d -Size (cfe-8.0.1.src.tar.xz) = 12810056 bytes -SHA1 (patch-lib_Basic_Targets_OSTargets.h) = 2a00f6de42c67d8c8aca0153339aba1adc455280 -SHA1 (patch-lib_Driver_ToolChains_Solaris.cpp) = 7e951a4c82f47ec0c9c18054d9622984ffb9f751 +SHA1 (cfe-9.0.0.src.tar.xz) = 6977cf7a802a053c57fa74138d3648b563e71e88 +RMD160 (cfe-9.0.0.src.tar.xz) = 43a9fde0f388fe6d021357bb4382bef6d445f279 +SHA512 (cfe-9.0.0.src.tar.xz) = 83fcca5499102b375e620cdac97d75e6111ebed4ef10240859ddd8a88bc5b022703739d2eae0d8693c91892ad11fc6b531c0dbee62fbce68d3be595b94f0b1fe +Size (cfe-9.0.0.src.tar.xz) = 13533024 bytes +SHA1 (patch-lib_Basic_Targets_OSTargets.h) = 02533d1de2c92a431d9c5d4567f348deff056b99 +SHA1 (patch-lib_Driver_ToolChains_Solaris.cpp) = a704f038f98adf4e92baaf9058bd801921af9ede SHA1 (patch-lib_Driver_ToolChains_Solaris.h) = 94968d0de0972ff832727822fbdc02442be74ab8 SHA1 (patch-lib_Frontend_InitHeaderSearch.cpp) = 497ddbe1eac8726d736bed58557a795dce207d1a diff --git a/lang/clang/patches/patch-lib_Basic_Targets_OSTargets.h b/lang/clang/patches/patch-lib_Basic_Targets_OSTargets.h index 648416f8306..97a06a1fdcf 100644 --- a/lang/clang/patches/patch-lib_Basic_Targets_OSTargets.h +++ b/lang/clang/patches/patch-lib_Basic_Targets_OSTargets.h @@ -1,12 +1,12 @@ -$NetBSD: patch-lib_Basic_Targets_OSTargets.h,v 1.3 2018/12/09 20:04:38 adam Exp $ +$NetBSD: patch-lib_Basic_Targets_OSTargets.h,v 1.4 2019/10/19 13:54:29 adam Exp $ Sync SunOS default defines with a working reality. NetBSD __float128, needed to build anything with base libstdc++ which assumes __float128. ---- lib/Basic/Targets/OSTargets.h.orig 2018-07-23 17:44:00.000000000 +0000 +--- lib/Basic/Targets/OSTargets.h.orig 2019-08-01 08:49:35.000000000 +0000 +++ lib/Basic/Targets/OSTargets.h -@@ -364,12 +364,22 @@ protected: +@@ -436,12 +436,22 @@ protected: Builder.defineMacro("__ELF__"); if (Opts.POSIXThreads) Builder.defineMacro("_REENTRANT"); @@ -29,7 +29,7 @@ which assumes __float128. } }; -@@ -538,19 +548,14 @@ protected: +@@ -610,22 +620,15 @@ protected: Builder.defineMacro("__ELF__"); Builder.defineMacro("__svr4__"); Builder.defineMacro("__SVR4"); @@ -38,21 +38,23 @@ which assumes __float128. - // ensure that you are not using C99 with an old version of X/Open or C89 - // with a new version. - if (Opts.C99) -+ // Compatibility with GCC to satisfy <sys/feature_tests.h> requirements. -+ if (Opts.CPlusPlus) { -+ Builder.defineMacro("__STDC_VERSION__", "199901L"); - Builder.defineMacro("_XOPEN_SOURCE", "600"); +- Builder.defineMacro("_XOPEN_SOURCE", "600"); - else - Builder.defineMacro("_XOPEN_SOURCE", "500"); -- if (Opts.CPlusPlus) ++ // Compatibility with GCC to satisfy <sys/feature_tests.h> requirements. + if (Opts.CPlusPlus) { - Builder.defineMacro("__C99FEATURES__"); -- Builder.defineMacro("_LARGEFILE_SOURCE"); -- Builder.defineMacro("_LARGEFILE64_SOURCE"); -- Builder.defineMacro("__EXTENSIONS__"); ++ Builder.defineMacro("__STDC_VERSION__", "199901L"); ++ Builder.defineMacro("_XOPEN_SOURCE", "600"); + Builder.defineMacro("_FILE_OFFSET_BITS", "64"); + Builder.defineMacro("_LARGEFILE_SOURCE"); + Builder.defineMacro("_LARGEFILE64_SOURCE"); + Builder.defineMacro("__EXTENSIONS__"); -+ } + } +- // GCC restricts the next two to C++. +- Builder.defineMacro("_LARGEFILE_SOURCE"); +- Builder.defineMacro("_LARGEFILE64_SOURCE"); +- Builder.defineMacro("__EXTENSIONS__"); if (Opts.POSIXThreads) Builder.defineMacro("_REENTRANT"); if (this->HasFloat128) diff --git a/lang/clang/patches/patch-lib_Driver_ToolChains_Solaris.cpp b/lang/clang/patches/patch-lib_Driver_ToolChains_Solaris.cpp index b7b54acbe3d..dc5606e461a 100644 --- a/lang/clang/patches/patch-lib_Driver_ToolChains_Solaris.cpp +++ b/lang/clang/patches/patch-lib_Driver_ToolChains_Solaris.cpp @@ -1,4 +1,4 @@ -$NetBSD: patch-lib_Driver_ToolChains_Solaris.cpp,v 1.3 2019/01/23 15:44:34 jperkin Exp $ +$NetBSD: patch-lib_Driver_ToolChains_Solaris.cpp,v 1.4 2019/10/19 13:54:29 adam Exp $ Use compiler-rt instead of libgcc. Pull in libcxx correctly. @@ -7,9 +7,9 @@ Don't specify --dynamic-linker, makes it impossible for the user to use -Wl,-r Ensure we reset to -zdefaultextract prior to adding compiler-rt. Test removing -Bdynamic for golang. ---- lib/Driver/ToolChains/Solaris.cpp.orig 2018-02-06 13:21:12.000000000 +0000 +--- lib/Driver/ToolChains/Solaris.cpp.orig 2019-07-16 11:06:43.000000000 +0000 +++ lib/Driver/ToolChains/Solaris.cpp -@@ -49,8 +49,29 @@ void solaris::Linker::ConstructJob(Compi +@@ -48,8 +48,29 @@ void solaris::Linker::ConstructJob(Compi const InputInfoList &Inputs, const ArgList &Args, const char *LinkingOutput) const { @@ -39,21 +39,15 @@ Test removing -Bdynamic for golang. // Demangle C++ names in errors CmdArgs.push_back("-C"); -@@ -63,13 +84,8 @@ void solaris::Linker::ConstructJob(Compi +@@ -62,7 +83,6 @@ void solaris::Linker::ConstructJob(Compi CmdArgs.push_back("-Bstatic"); CmdArgs.push_back("-dn"); } else { - CmdArgs.push_back("-Bdynamic"); if (Args.hasArg(options::OPT_shared)) { CmdArgs.push_back("-shared"); -- } else { -- CmdArgs.push_back("--dynamic-linker"); -- CmdArgs.push_back( -- Args.MakeArgString(getToolChain().GetFilePath("ld.so.1"))); } - - // libpthread has been folded into libc since Solaris 10, no need to do -@@ -88,21 +104,21 @@ void solaris::Linker::ConstructJob(Compi +@@ -83,13 +103,11 @@ void solaris::Linker::ConstructJob(Compi if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles)) { if (!Args.hasArg(options::OPT_shared)) CmdArgs.push_back( @@ -69,18 +63,8 @@ Test removing -Bdynamic for golang. + Args.MakeArgString(SysPath + "values-Xa.o")); } - // Provide __start___sancov_guards. Solaris ld doesn't automatically create - // __start_SECNAME labels. -+#if 0 - CmdArgs.push_back("--whole-archive"); - CmdArgs.push_back( - getToolChain().getCompilerRTArgString(Args, "sancov_begin", false)); - CmdArgs.push_back("--no-whole-archive"); -+#endif - getToolChain().AddFilePathLibArgs(Args, CmdArgs); - -@@ -113,37 +129,32 @@ void solaris::Linker::ConstructJob(Compi +@@ -101,30 +119,23 @@ void solaris::Linker::ConstructJob(Compi AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs, JA); if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs)) { @@ -113,15 +97,6 @@ Test removing -Bdynamic for golang. linkSanitizerRuntimeDeps(getToolChain(), CmdArgs); } - // Provide __stop___sancov_guards. Solaris ld doesn't automatically create - // __stop_SECNAME labels. -+#if 0 - CmdArgs.push_back("--whole-archive"); - CmdArgs.push_back( - getToolChain().getCompilerRTArgString(Args, "sancov_end", false)); - CmdArgs.push_back("--no-whole-archive"); -+#endif - - if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles)) { - CmdArgs.push_back( - Args.MakeArgString(getToolChain().GetFilePath("crtend.o"))); @@ -131,7 +106,7 @@ Test removing -Bdynamic for golang. getToolChain().addProfileRTLibs(Args, CmdArgs); -@@ -172,26 +183,9 @@ Solaris::Solaris(const Driver &D, const +@@ -153,26 +164,9 @@ Solaris::Solaris(const Driver &D, const const ArgList &Args) : Generic_ELF(D, Triple, Args) { @@ -161,7 +136,7 @@ Test removing -Bdynamic for golang. } SanitizerMask Solaris::getSupportedSanitizers() const { -@@ -211,6 +205,32 @@ Tool *Solaris::buildAssembler() const { +@@ -194,6 +188,32 @@ Tool *Solaris::buildAssembler() const { Tool *Solaris::buildLinker() const { return new tools::solaris::Linker(*this); } @@ -194,7 +169,7 @@ Test removing -Bdynamic for golang. void Solaris::AddClangSystemIncludeArgs(const ArgList &DriverArgs, ArgStringList &CC1Args) const { const Driver &D = getDriver(); -@@ -243,40 +263,20 @@ void Solaris::AddClangSystemIncludeArgs( +@@ -226,40 +246,20 @@ void Solaris::AddClangSystemIncludeArgs( return; } |