Skip to content
Closed
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 .github/workflows/root-ci-config/build_root.py
Original file line number Diff line number Diff line change
Expand Up @@ -362,7 +362,7 @@ def run_ctest(extra_ctest_flags: str) -> int:
ctest_result = subprocess_with_log(f"""
cd '{builddir}'
{setupROOTEnv}
ctest --output-on-failure --parallel {os.cpu_count()} --output-junit TestResults.xml {extra_ctest_flags}
ctest -R "roottest-root-hist-h2root" --output-on-failure --parallel {os.cpu_count()} --output-junit TestResults.xml {extra_ctest_flags}
""")

return ctest_result
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/root-ci-config/buildconfig/mac14.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ builtin_xxhash=ON
builtin_zstd=ON
cocoa=ON
davix=OFF
fortran=OFF
minuit2_omp=OFF
test_distrdf_dask=OFF
test_distrdf_pyspark=OFF
Expand Down
1 change: 0 additions & 1 deletion main/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ generateHeader(hadd

if(fortran AND CMAKE_Fortran_COMPILER)
ROOT_EXECUTABLE(g2root g2root.f LIBRARIES minicern CMAKENOEXPORT)
set_target_properties(g2root PROPERTIES COMPILE_FLAGS "-w")
ROOT_EXECUTABLE(h2root h2root.cxx LIBRARIES Core RIO Net Hist Graf Graf3d Gpad Tree Matrix MathCore Thread minicern CMAKENOEXPORT)

# This is needed in particular for macOS, where the path of the GNU Fortran
Expand Down
10 changes: 3 additions & 7 deletions misc/minicern/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@
ROOT_LINKER_LIBRARY(minicern *.c *.f TYPE STATIC)
set_property(TARGET minicern PROPERTY POSITION_INDEPENDENT_CODE ON)
target_link_libraries(minicern ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES})

# Disable optimization since it some cases was causing crashes.
# Disable warnings, since what has worked for 40 years...
# (see https://sft.its.cern.ch/jira/browse/ROOT-9179 for the warnings)
set_target_properties(minicern PROPERTIES COMPILE_FLAGS "-O0 -w")
# set_target_properties(minicern PROPERTIES COMPILE_FLAGS "-fsanitize=undefined -fsanitize=address")
# target_link_options(minicern BEFORE PUBLIC -fsanitize=undefined PUBLIC -fsanitize=address)
# set_target_properties(minicern PROPERTIES COMPILE_FLAGS "-Wall -Wextra")
# set_target_properties(minicern PROPERTIES COMPILE_FLAGS "-fsanitize=undefined -fsanitize=address") # TODO enabling this shows issues
# target_link_options(minicern BEFORE PUBLIC -fsanitize=undefined PUBLIC -fsanitize=address) # TODO enabling this shows issues
74 changes: 55 additions & 19 deletions misc/minicern/src/hbook.f
Original file line number Diff line number Diff line change
Expand Up @@ -296,6 +296,13 @@ SUBROUTINE HRIN(IDD,ICYCLE,KOFSET)
INTEGER KEYS(2)
DATA KHIDE,KHID1,KHID2,KHCO1,KHCO2/4HHIDE,4HHID1,4HHID2,
+ 4hHCO1,4HHCO2/
INTEGER ZARR(1)
INTEGER N2ARR(1)
INTEGER LCARR(1)
INTEGER LLARR(1)
ZARR(1) = 0
N2ARR(1) = -2
LCARR(1) = LCDIR
IOFSET=KOFSET
IF(ICHTOP(ICDIR).LT.0)THEN
print*, '>>>>>> HRIN: ICHTOP(ICDIR).LT.0'
Expand All @@ -313,7 +320,7 @@ SUBROUTINE HRIN(IDD,ICYCLE,KOFSET)
IDN=IDD
IF(IDD.EQ.0)THEN
KEYS(1) = 1
CALL HRZIN(IHDIV,0,0,KEYS,9999,'SC')
CALL HRZIN(IHDIV,ZARR,ZARR,KEYS,9999,'SC')
IDN=IQUEST(21)
IQ42=IQUEST(22)
ENDIF
Expand All @@ -334,7 +341,7 @@ SUBROUTINE HRIN(IDD,ICYCLE,KOFSET)
ENDIF
KEYS(1) = IDN
KEYS(2) = IQ42
CALL HRZIN(IHDIV,0,0,KEYS,ICYCLE,'NC')
CALL HRZIN(IHDIV,ZARR,ZARR,KEYS,ICYCLE,'NC')
IF(IQUEST(1).NE.0)GO TO 70
IQ40=IQUEST(40)
IQ41=IQUEST(41)
Expand All @@ -355,7 +362,7 @@ SUBROUTINE HRIN(IDD,ICYCLE,KOFSET)
20 CONTINUE
IF(LIDS.EQ.0)THEN
KEYS(1) = IDN
CALL HRZIN(IHDIV,LCDIR,-2,KEYS,ICYCLE,'ND')
CALL HRZIN(IHDIV,LCARR,N2ARR,KEYS,ICYCLE,'ND')
IF(IQUEST(1).NE.0)THEN
print*, 'Bad sequence for RZ','HRIN',IDN
GO TO 70
Expand All @@ -365,7 +372,8 @@ SUBROUTINE HRIN(IDD,ICYCLE,KOFSET)
ELSE
LLID=LQ(LCDIR-9)
KEYS(1) = IDN
CALL HRZIN(IHDIV,LLID, 0,KEYS,ICYCLE,'ND')
LLARR(1) = LLID
CALL HRZIN(IHDIV,LLARR,ZARR,KEYS,ICYCLE,'ND')
IF(IQUEST(1).NE.0)THEN
print*, 'Bad sequence for RZ','HRIN',IDN
GO TO 70
Expand Down Expand Up @@ -692,6 +700,10 @@ SUBROUTINE HGNF(IDN,IDNEVT,X,IERROR)
INCLUDE 'quest.inc'
DIMENSION X(*)
INTEGER KEYS(2)
INTEGER LCARR(1)
INTEGER NARR(1)
LCARR(1)=LCIDN
NARR(1)=-1
LC=LQ(LCIDN-1)
NEVB=IQ(LC-1)/IQ(LCIDN+2)
IBANK=(IDNEVT-1)/NEVB + 1
Expand All @@ -703,7 +715,7 @@ SUBROUTINE HGNF(IDN,IDNEVT,X,IERROR)
LKEY=LQ(LC)
IF(LKEY.GT.0)THEN
KEYS(1)=IQ(LKEY+IBANK)
CALL HRZIN(IHDIV,LCIDN,-1,KEYS,99999,'RS')
CALL HRZIN(IHDIV,LCARR,NARR,KEYS,99999,'RS')
ELSE
IF(ICHTYP(ICDIR).EQ.1)THEN
KEYS(1) = IQ(LCIDN+5)+10000*IBANK
Expand All @@ -712,7 +724,7 @@ SUBROUTINE HGNF(IDN,IDNEVT,X,IERROR)
KEYS(1) = IQ(LCIDN+5)
KEYS(2) = IBANK
ENDIF
CALL HRZIN(IHDIV,LCIDN,-1,KEYS,99999,'R')
CALL HRZIN(IHDIV,LCARR,NARR,KEYS,99999,'R')
IF(IQUEST(1).NE.0)GO TO 90
ENDIF
ELSE
Expand All @@ -737,7 +749,9 @@ SUBROUTINE HGNF(IDN,IDNEVT,X,IERROR)
*-------------------------------------------------------------------------------

SUBROUTINE HGNT(IDN,IDNEVT,IERROR)
CALL HGNT1(IDN, '*', '*', 0, 0, IDNEVT, IERROR)
INTEGER ZARR(1)
ZARR(1) = 0
CALL HGNT1(IDN, '*', '*', ZARR, 0, IDNEVT, IERROR)
END

*-------------------------------------------------------------------------------
Expand Down Expand Up @@ -1482,6 +1496,12 @@ SUBROUTINE HMACHI
+ ' ','/'/
DATA IPROJ/'HIST','HIST','PROX','PROY','SLIX',
+ 'SLIY','BANX','BANY','FUNC'/
DIMENSION IFLAG(37)
EQUIVALENCE (IFLAG(1),I1)
INTEGER INOARR(4)
INTEGER IDOARR(4)
INOARR(1) = INO
IDOARR(1) = 0
HVERSN = 1.00
NBIT = MBIT
NBITCH = MBITCH
Expand All @@ -1507,7 +1527,7 @@ SUBROUTINE HMACHI
IH = 0
NH = 0
IPONCE = 0
CALL VZERO(I1,37)
CALL VZERO(IFLAG,37)
K = (NBIT+1)/2
MAXBIT(1) = 2
DO 10 I=2,K
Expand All @@ -1521,10 +1541,10 @@ SUBROUTINE HMACHI
ICBLAC = IDG(34)
ICFUNC = IDG(37)
CALL UCTOH(IPROJ,IDENT,4,36)
CALL UCTOH('NO ',INO,4,4)
CALL UCTOH('NO ',INOARR,4,4)
L2 = 1
CALL UCTOH('$ ',IDOL,4,4)
IDOLAR = JBYT(IDOL,L2,NBITCH)
CALL UCTOH('$ ',IDOARR,4,4)
IDOLAR = JBYT(IDOARR(1),L2,NBITCH)
IBLANC = JBYT(IDG(41),L2,NBITCH)
NRECOV = .FALSE.
IBSIZE = 1009
Expand Down Expand Up @@ -2020,6 +2040,10 @@ SUBROUTINE HNBUFR(IDD)
CHARACTER*128 CHWOLD, CHDIR, CWDRZ
INTEGER KEYS(2)
LOGICAL MEMORY
INTEGER ZARR(1)
INTEGER LBARR(1)
INTEGER NLCARR(1)
ZARR(1) = 0
IERR = 0
ICYCLE = 9999
NDIM = IQ(LCID+ZNDIM)
Expand Down Expand Up @@ -2077,7 +2101,7 @@ SUBROUTINE HNBUFR(IDD)
ELSEIF (MEMORY .AND. LB.EQ.0) THEN
KEYS(2) = IQ(LNAME+IOFF+ZNRZB)*10000 +
+ IQ(LNAME+IOFF+ZLCONT)
CALL HRZIN(IHDIV,0,0,KEYS,ICYCLE,'C')
CALL HRZIN(IHDIV,ZARR,ZARR,KEYS,ICYCLE,'C')
IF (IQUEST(1) .NE. 0) THEN
print*,'Error reading contents bank', 'HNBUFR', IDD
IERR = 1
Expand All @@ -2086,7 +2110,9 @@ SUBROUTINE HNBUFR(IDD)
NWORDS = IQUEST(12)
CALL HSPACE(NWORDS+1000,'HNBUFR',IDD)
IF (IERR .NE. 0) GOTO 50
CALL HRZIN(IHDIV,LBUF,-LCIND,KEYS,ICYCLE,' ')
LBARR(1)=LBUF
NLCARR(1)=-LCIND
CALL HRZIN(IHDIV,LBARR,NLCARR,KEYS,ICYCLE,' ')
ELSEIF (LB .EQ. 0) THEN
NTOT = NWP+33
CALL HSPACE(NTOT,'HNBUFR',IDD)
Expand Down Expand Up @@ -2119,13 +2145,17 @@ SUBROUTINE HNTRD(INDX, IOFF, IBANK, IERROR)
INCLUDE 'quest.inc'
CHARACTER*128 CHWOLD, CHDIR, CWDRZ
INTEGER KEYS(2)
INTEGER NLCARR(1)
INTEGER LBARR(1)
LBARR(1)=LBUF
IF (IQ(LNAME+IOFF+ZIBANK) .EQ. IBANK) THEN
LR2 = LQ(LNAME-INDX)
RETURN
ENDIF
IERROR = 0
IDD = IQ(LBUF-5)
LCIND = IQ(LNAME+IOFF+ZLCONT)
NLCARR(1) = -LCIND
IF (IQ(LCID+ZNPRIM) .LT. 0) THEN
LR2 = LQ(LBUF-LCIND)
DO 10 I = 2, IBANK
Expand Down Expand Up @@ -2157,15 +2187,15 @@ SUBROUTINE HNTRD(INDX, IOFF, IBANK, IERROR)
IF (IQUEST(1) .NE. 0) GOTO 90
IQ(LNAME+IOFF+ZNRZB) = IBANK
IF (JBIT(IQ(LNAME+IOFF+ZDESC),28) .EQ. 1) THEN
CALL HRZIN(IHDIV,LBUF,-LCIND,KEYS,99999,'R')
CALL HRZIN(IHDIV,LBARR,NLCARR,KEYS,99999,'R')
IF (IQUEST(1) .NE. 0) GOTO 90
ENDIF
ELSE
CALL HRZIN(IHDIV,LBUF,-LCIND,KEYS,99999,'R')
CALL HRZIN(IHDIV,LBARR,NLCARR,KEYS,99999,'R')
IF (IQUEST(1) .NE. 0) THEN
KEYS(1) = 0
IQUEST(1) = 0
CALL HRZIN(IHDIV,LBUF,-LCIND,KEYS,99999,'R')
CALL HRZIN(IHDIV,LBARR,NLCARR,KEYS,99999,'R')
ENDIF
IF (IQUEST(1) .NE. 0) GOTO 90
IQ(LQ(LBUF-LCIND)) = 0
Expand Down Expand Up @@ -2647,6 +2677,12 @@ SUBROUTINE HLDIRT(CHDIR)
INCLUDE 'quest.inc'
CHARACTER*1 HTYPE
INTEGER KEYS(2)
INTEGER ZARR(1)
INTEGER PARR(1)
INTEGER LARR(1)
ZARR(1) = 0
PARR(1) = 1
LARR(1) = LHWORK
NCH=LENOCC(CHDIR)
WRITE(LOUT,1000)CHDIR(1:NCH)
IOPTS=IQUEST(88)
Expand All @@ -2658,12 +2694,12 @@ SUBROUTINE HLDIRT(CHDIR)
KEYNUM = 1
KEYS(1) = KEYNUM
KEYS(2) = 0
CALL HRZIN(IHWORK,0,0,KEYS,9999,'SC')
CALL HRZIN(IHWORK,ZARR,ZARR,KEYS,9999,'SC')
IDN=IQUEST(21)
IQ42=IQUEST(22)
10 IF (IDN .EQ. 0) GOTO 90
KEYS(1) = KEYNUM
CALL HRZIN(IHWORK,0,0,KEYS,9999,'SNC')
CALL HRZIN(IHWORK,ZARR,ZARR,KEYS,9999,'SNC')
IF(IQUEST(1).NE.0)GO TO 90
IDN =IQUEST(21)
IQ40=IQUEST(40)
Expand All @@ -2675,7 +2711,7 @@ SUBROUTINE HLDIRT(CHDIR)
IF(IOPTA.NE.0)GO TO 40
CALL HSPACE(NWORDS+1000,'HLDIR ',IDN)
IF(IERR.NE.0) GO TO 90
CALL HRZIN(IHWORK,LHWORK,1,KEYS,9999,'SND')
CALL HRZIN(IHWORK,LARR,PARR,KEYS,9999,'SND')
IF(IQUEST(1).NE.0)THEN
print*, 'Bad sequence for RZ','HLDIR',IDN
GO TO 90
Expand Down
1 change: 0 additions & 1 deletion misc/minicern/src/hparam1.inc
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
C=== hparam1.inc ===============================================
INTEGER IQ ,LQ
REAL Q
DIMENSION IQ(2),Q(2),LQ(8000)
EQUIVALENCE (LQ(1),LMAIN),(IQ(1),LQ(9)),(Q(1),IQ(1))
Expand Down
Loading