summaryrefslogtreecommitdiff
path: root/lib/libomp
AgeCommit message (Collapse)Author
2025-04-24Partially revert 6527682ab705 for llvm-based projectsDimitry Andric
Upstream llvm compiles most of their subprojects with -std=c++17 explicitly, not -std=gnu++17. In gnu++17 mode, both clang and gcc define the macro 'i386' on i386, which clashes with a namespace identifier in contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/i386.h. Since the default after 6527682ab705 is now CXXSTD=gnu++17, explicitly set CXXSTD=c++17 for lib/clang, lib/libclang_rt and lib/libomp.
2025-04-11src: Use gnu++17 as the default C++ standardJohn Baldwin
Previously the compiler's default C++ standard was used unlike C where bsd.sys.mk explicitly sets a default language version. Setting an explicit default version will give a more uniform experience across different compilers and compiler versions. gnu++17 was chosen to match the default C standard. It is well supported by a wide range of clang (5+) and GCC (9+) versions. gnu++17 is also the default C++ standard in recent versions of clang (16+) and GCC (11+). As a result, many of the explicit CXXSTD settings in Makefiles had the effect of lowering the C++ standard instead of raising it as was originally intended and are removed. Note that the remaining explicit CXXSTD settings for atf and liblutok explicitly lower the standard to C++11 due to use of the deprecated auto_ptr<> template which is removed in later versions. Reviewed by: imp, asomers, dim, emaste Differential Revision: https://reviews.freebsd.org/D49223
2024-11-08Merge llvm-project release/19.x llvmorg-19.1.3-0-gab51eccf88f5Dimitry Andric
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/19.x llvmorg-19.1.3-0-gab51eccf88f5, a.k.a. 19.1.3 release. PR: 280562 MFC after: 1 month
2024-10-23Merge llvm-project main llvmorg-19-init-18630-gf2ccf80136a0Dimitry Andric
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-19-init-18630-gf2ccf80136a0, the last commit before the upstream release/19.x branch was created. PR: 280562 MFC after: 1 month
2024-07-15Remove residual blank line at start of MakefileWarner Losh
This is a residual of the $FreeBSD$ removal. MFC After: 3 days (though I'll just run the command on the branches) Sponsored by: Netflix
2024-05-22arm64: Allow userspace to be built with PAC and BTIAndrew Turner
Add the WITH/WITHOUT_BRANCH_PROTECTION build flags. This can be used to enable the use of pointer authentication (FEAT_PAuth) and branch target identification (FEAT_BTI) in userspace. The kernel already handles both of these is userspace, we just need to enable it. Leave disabled for a short period for this to settle before enabling. Reviewed by: emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42596
2024-04-06Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fbDimitry Andric
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb. PR: 276104 MFC after: 1 month
2023-12-08Merge llvm-project main llvmorg-17-init-19304-gd0b54bb50e51Dimitry Andric
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-17-init-19304-gd0b54bb50e51, the last commit before the upstream release/17.x branch was created. PR: 273753 MFC after: 1 month
2023-08-16Remove $FreeBSD$: one-line sh patternWarner Losh
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
2023-06-22Merge llvm-project main llvmorg-16-init-18548-gb0daacf58f41Dimitry Andric
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-16-init-18548-gb0daacf58f41. PR: 271047 MFC after: 1 month
2023-02-08Merge llvm-project main llvmorg-15-init-15358-g53dc0f10787Dimitry Andric
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-15358-g53dc0f10787. PR: 265425 MFC after: 2 weeks
2022-05-14Merge llvm-project release/14.x llvmorg-14-init-18315-g190be5457c90Dimitry Andric
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-18315-g190be5457c90. PR: 261742 MFC after: 2 weeks
2022-05-14Merge llvm-project main llvmorg-14-init-10223-g401b76fdf2b3Dimitry Andric
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-10223-g401b76fdf2b3. PR: 261742 MFC after: 2 weeks
2021-11-13Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246aDimitry Andric
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-13.0.0-rc1-97-g23ba3732246a. PR: 258209 MFC after: 2 weeks
2021-06-13Merge llvm-project 12.0.0 releaseDimitry Andric
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release. PR: 255570 MFC after: 6 weeks
2020-01-27Update build glue for libomp.Dimitry Andric
Notes: svn path=/projects/clang1000-import/; revision=357175
2019-12-20Move all sources from the llvm project into contrib/llvm-project.Dimitry Andric
This uses the new layout of the upstream repository, which was recently migrated to GitHub, and converted into a "monorepo". That is, most of the earlier separate sub-projects with their own branches and tags were consolidated into one top-level directory, and are now branched and tagged together. Updating the vendor area to match this layout is next. Notes: svn path=/head/; revision=355940
2019-12-11Update Makefile.depend filesSimon J. Gerraty
Update a bunch of Makefile.depend files as a result of adding Makefile.depend.options files Reviewed by: bdrewery MFC after: 1 week Sponsored by: Juniper Networks Differential Revision: https://reviews.freebsd.org/D22494 Notes: svn path=/head/; revision=355617
2019-09-08When building libomp for i386, clang 9.0.0 produces a new warning aboutDimitry Andric
large atomic operations "possibly incurring significant performance penalties", but there is not much we can do about it, so squelch that warning. Notes: svn path=/projects/clang900-import/; revision=352029
2019-09-01Update build glue for building libomp.Dimitry Andric
Notes: svn path=/projects/clang900-import/; revision=351668
2019-05-19To avoid unnecessarily modifying ports, add a -lgomp symlink, since GCCDimitry Andric
does not ship a -lomp symlink. Also update OptionalObsoleteFiles for this, and add 32-bit variants while here. Submitted by: jbeich PR: 237975 MFC after: 3 days Notes: svn path=/head/; revision=347979
2019-03-29Standardize `-std=c++* as `CXXSTD`Enji Cooper
CXXSTD was added as the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month MFC with: r345203, r345704, r345705 Relnotes: yes Tested with: make tinderbox Differential Revision: https://reviews.freebsd.org/D19732 Notes: svn path=/head/; revision=345708
2019-03-29Revert r345706: the third time will be the charmEnji Cooper
When a review is closed via Phabricator it updates the patch attached to the review. I downloaded the raw patch from Phabricator, applied it, and repeated my mistake from r345704 by accident mixing content from D19732 and D19738. For my own personal sanity, I will try not to mix reviews like this in the future. MFC after: 1 month MFC with: r345706 Approved by: emaste (mentor, implicit) Notes: svn path=/head/; revision=345707
2019-03-29Standardize `-std=c++* as `CXXSTD`Enji Cooper
CXXSTD was added as the C++ analogue to CSTD. CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month MFC with: r345203, r345704, r345705 Relnotes: yes Tested with: make tinderbox Differential Revision: https://reviews.freebsd.org/D19732 Notes: svn path=/head/; revision=345706
2019-03-29Revert r345704Enji Cooper
I accidentally committed code from two reviews. I will reintroduce the code to bsd.progs.mk as part of a separate commit from r345704. Approved by: emaste (mentor, implicit) MFC after: 2 months MFC with: r345704 Notes: svn path=/head/; revision=345705
2019-03-29CXXSTD is the C++ analogue to CSTD.Enji Cooper
CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month Relnotes: yes Differential Revision: https://reviews.freebsd.org/D19732 Notes: svn path=/head/; revision=345704
2019-03-18Remove --as-needed from the linker flags for libomp.so, as theseDimitry Andric
actually prevent the transitive dependency on libm. Reported by: jbeich PR: 236062, 236581 MFC after: 1 month X-MFC-With: r344779 Notes: svn path=/head/; revision=345282
2019-03-18Also explicitly link libomp.so against -lm, as it transitively dependsDimitry Andric
on scalbn and a few other math functions, via libcompiler-rt. This should allow OpenMP programs to link with BFD linkers too. Reported by: jbeich PR: 236062, 236581 MFC after: 1 month X-MFC-With: r344779 Notes: svn path=/head/; revision=345278
2019-03-17Explicitly link libomp.so against -lpthread, as it depends on pthreadDimitry Andric
functionality. This should make example OpenMP programs work out of the box. Reported by: jbeich PR: 236062, 236581 MFC after: 1 month X-MFC-With: r344779 Notes: svn path=/head/; revision=345242
2019-03-16Add lib/libomp, with a Makefile, and generated configuration headers.Dimitry Andric
Not connected to the main build yet, as there is still the issue of the GNU omp.h header conflicting with the LLVM one. (That is, if MK_GCC is enabled.) PR: 236062 MFC after: 1 month X-MFC-With: r344779 Notes: svn path=/head/; revision=345235