Skip to content

Commit c371a16

Browse files
committed
Merge branch 'master' of https://github.com/fortran-lang/stdlib
2 parents e170a75 + 7b24642 commit c371a16

28 files changed

+12247
-37
lines changed

.github/workflows/CI.yml

Lines changed: 59 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,9 @@ jobs:
5454
5555
- name: Install GFortran macOS
5656
if: contains( matrix.os, 'macos')
57-
run: brew install gcc@${GCC_V} || brew upgrade gcc@${GCC_V} || true
57+
run: |
58+
brew install gcc@${GCC_V} || brew upgrade gcc@${GCC_V} || true
59+
brew link gcc@${GCC_V}
5860
5961
- name: Configure with CMake
6062
run: cmake -Wdev -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAXIMUM_RANK=4 -S . -B build
@@ -83,3 +85,59 @@ jobs:
8385
make -f Makefile.manual FYPPFLAGS="-DMAXRANK=4"
8486
make -f Makefile.manual test
8587
make -f Makefile.manual clean
88+
89+
intel-build:
90+
runs-on: ${{ matrix.os }}
91+
strategy:
92+
fail-fast: false
93+
matrix:
94+
os: [ubuntu-20.04]
95+
fc: [ifort]
96+
env:
97+
FC: ${{ matrix.fc }}
98+
99+
steps:
100+
- name: Checkout code
101+
uses: actions/checkout@v1
102+
103+
- name: Set up Python 3.x
104+
uses: actions/setup-python@v1
105+
with:
106+
python-version: 3.x
107+
108+
- name: Install CMake Linux
109+
if: contains(matrix.os, 'ubuntu')
110+
run: ci/install_cmake.sh
111+
112+
- name: Add Intel repository
113+
if: contains(matrix.os, 'ubuntu')
114+
run: |
115+
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
116+
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
117+
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
118+
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
119+
sudo apt-get update
120+
121+
- name: Install Intel oneAPI compiler
122+
if: contains(matrix.os, 'ubuntu')
123+
run: |
124+
sudo apt-get install intel-oneapi-compiler-fortran
125+
source /opt/intel/oneapi/setvars.sh
126+
printenv >> $GITHUB_ENV
127+
128+
- name: Install fypp
129+
run: pip install --upgrade fypp
130+
131+
- name: Configure with CMake
132+
run: cmake -Wdev -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAXIMUM_RANK=4 -S . -B build
133+
134+
- name: Build and compile
135+
run: cmake --build build
136+
137+
- name: catch build fail
138+
run: cmake --build build --verbose --parallel 1
139+
if: failure()
140+
141+
- name: test
142+
run: ctest --parallel --output-on-failure
143+
working-directory: build

.github/workflows/doc-deployment.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
if: github.ref != 'refs/heads/master' && ! startsWith( github.ref, 'refs/tags/' )
3838
run: |
3939
sed -i .bak 's/^[[:blank:]]*graph: *[Tt]rue/graph: false/' "${FORD_FILE}"
40-
echo "::set-env name=MAYBE_SKIP_SEARCH::--no-search"
40+
echo "MAYBE_SKIP_SEARCH=--no-search" >> $GITHUB_ENV
4141
- name: Build Docs
4242
run: |
4343
git fetch --all --tags

CMakeLists.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ if(CMAKE_Fortran_COMPILER_ID STREQUAL GNU)
2222
endif()
2323
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL Intel)
2424
add_compile_options(-warn declarations,general,usage,interfaces,unused)
25-
add_compile_options(-standard-semantics)
25+
if(NOT CMAKE_Fortran_COMPILER_VERSION VERSION_EQUAL 20.2.1.20200827)
26+
add_compile_options(-standard-semantics)
27+
endif()
2628
if(CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 18.0)
2729
add_compile_options(-stand f15)
2830
else()
@@ -35,7 +37,7 @@ endif()
3537
# --- compiler feature checks
3638
include(CheckFortranSourceCompiles)
3739
include(CheckFortranSourceRuns)
38-
check_fortran_source_compiles("error stop i; end" f18errorstop SRC_EXT f90)
40+
check_fortran_source_runs("i=0; error stop i; end" f18errorstop SRC_EXT f90)
3941
check_fortran_source_compiles("real, allocatable :: array(:, :, :, :, :, :, :, :, :, :); end" f03rank SRC_EXT f90)
4042
check_fortran_source_runs("use, intrinsic :: iso_fortran_env, only : real128; real(real128) :: x; x = x+1; end" f03real128)
4143

doc/specs/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,11 @@ This is and index/directory of the specifications (specs) for each new module/fe
1111

1212
## Experimental Features & Modules
1313

14+
- [bitsets](./stdlib_bitsets.html) - Bitset data types and procedures
1415
- [error](./stdlib_error.html) - Catching and handling errors
1516
- [IO](./stdlib_io.html) - Input/output helper & convenience
1617
- [linalg](./stdlib_linalg.html) - Linear Algebra
18+
- [logger](./stdlib_logger.html) - Runtime logging system
1719
- [optval](./stdlib_optval.html) - Fallback value for optional arguments
1820
- [quadrature](./stdlib_quadrature.html) - Numerical integration
1921
- [stats](./stdlib_stats.html) - Descriptive Statistics

0 commit comments

Comments
 (0)