Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/Makevars
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
CXX_STD = CXX11
CXX_STD = CXX14
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Read-only checks for C++14 alignment

set -euo pipefail

echo "== DESCRIPTION: C++ / system requirements =="
fd -i '^DESCRIPTION$' -x sh -c 'echo "-- {}"; rg -n "SystemRequirements|C\\+\\+|Depends" "{}" || true'

echo
echo "== CI workflows: R/toolchain matrix and std references =="
fd -i '.*\\.(yml|yaml)$' .github 2>/dev/null | xargs -r rg -n "r-version|matrix|CXX11|CXX14|CXX17|ubuntu|macos|windows" || true

echo
echo "== Build files: conflicting hardcoded std flags =="
rg -n --iglob '*Makevars*' --iglob 'Makefile*' --iglob '*.mk' --iglob '*.cmake' "std=c\\+\\+|CXX11|CXX14|CXX17"

Repository: Vitek-Lab/MSstats

Length of output: 323


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== src/Makevars content ==="
cat -n src/Makevars

echo
echo "=== src/Makevars.win content (if exists) ==="
if [ -f src/Makevars.win ]; then
  cat -n src/Makevars.win
else
  echo "File does not exist"
fi

echo
echo "=== Search for all Makevars* files ==="
fd -i makevars

echo
echo "=== DESCRIPTION file (full content) ==="
cat -n DESCRIPTION

Repository: Vitek-Lab/MSstats

Length of output: 2772


Update src/Makevars.win to match C++14 standard.

The PR updated src/Makevars to CXX_STD = CXX14, but src/Makevars.win still declares CXX_STD = CXX11. This platform inconsistency will cause Windows builds to use a different compiler standard than Unix/Linux/macOS builds, risking compilation failures or divergent behavior across platforms.

Platform mismatch detail
src/Makevars:     CXX_STD = CXX14
src/Makevars.win: CXX_STD = CXX11  ← Must be updated to CXX14

Also add SystemRequirements: C++14 to the DESCRIPTION file to document this requirement explicitly.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/Makevars` at line 1, Update the Windows Makevars to use the same C++
standard as the Unix Makevars by changing the CXX_STD assignment in the
Makevars.win file from CXX11 to CXX14 (i.e., set "CXX_STD = CXX14"); also update
the package metadata by adding a SystemRequirements entry "SystemRequirements:
C++14" to DESCRIPTION to document the C++14 requirement.

PKG_CXXFLAGS = $(SHLIB_OPENMP_CXXFLAGS)
PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
2 changes: 1 addition & 1 deletion src/Makevars.win
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
CXX_STD = CXX11
CXX_STD = CXX14
PKG_CXXFLAGS = $(SHLIB_OPENMP_CXXFLAGS)
PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
Loading