Build of unrar with musl toolchain

The build took 00h 00m 59s and was NOT successful.

The program in this build is written in the following languages, according to sloccount:

SLOCLanguage
23,427 cpp
46 makefile
23,473 total

The process tree of the build process is here.

Several sub-process invocations were improper; see the process tree for details. Summary:

List of Errors

Log

To avoid scrolling, you may jump to the last line of the invocation of makepkg that was used to build this package.

Removed vanilla repositories from pacman.conf and added:
# [tuscan]
# Server = file:///var/cache/pacman/pkg/

CMD: pacman -Syy --noconfirm
# :: Synchronizing package databases...
# downloading tuscan.db...

There were existing files in /sysroot, using those
# /sysroot/lib
# /sysroot/share
# /sysroot/bin
# /sysroot/include
# /sysroot/libexec

CMD: sudo -u tuscan PATH=/sysroot/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin CC=clang CXX=clang++ red makepkg --noextract --syncdeps --skipinteg --skippgpcheck --skipchecksums --noconfirm --nocolor --log --noprogressbar --nocheck
# ==> Making package: unrar 1:5.3.11-1 (Wed Apr 5 02:05:31 UTC 2017)
# ==> Checking runtime dependencies...
# ==> Checking buildtime dependencies...
# ==> Installing missing dependencies...
# resolving dependencies...
# looking for conflicting packages...
#
# Packages (1) hardening-wrapper-10-1
#
# Total Installed Size: 0.00 MiB
#
# :: Proceed with installation? [Y/n]
# checking keyring...
# checking package integrity...
# loading package files...
# checking for file conflicts...
# checking available disk space...
# :: Processing package changes...
# installing hardening-wrapper...
# ==> WARNING: Using existing $srcdir/ tree
# ==> Starting build()...
# make: Entering directory '/tmp/unrar/src/libunrar'
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c rar.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c strlist.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c strfn.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c pathfn.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c smallfn.cpp
# strfn.cpp:163:18: warning: '&&' within '||' [-Wlogical-op-parentheses]
# return(ch>='A' && ch<='Z' || ch>='a' && ch<='z');
# ~~~~~~~~^~~~~~~~~~ ~~
# strfn.cpp:163:18: note: place parentheses around the '&&' expression to silence this warning
# return(ch>='A' && ch<='Z' || ch>='a' && ch<='z');
# ^
# ( )
# strfn.cpp:163:40: warning: '&&' within '||' [-Wlogical-op-parentheses]
# return(ch>='A' && ch<='Z' || ch>='a' && ch<='z');
# ~~ ~~~~~~~~^~~~~~~~~~
# strfn.cpp:163:40: note: place parentheses around the '&&' expression to silence this warning
# return(ch>='A' && ch<='Z' || ch>='a' && ch<='z');
# ^
# ( )
# pathfn.cpp:349:21: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (ChPtr[1]==0 && wcslen(ArcName)
# ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
# pathfn.cpp:349:21: note: place parentheses around the '&&' expression to silence this warning
# if (ChPtr[1]==0 && wcslen(ArcName)
# ^
# ( )
# pathfn.cpp:420:64: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (strchr(Extended ? "?*<>|\"":"?*",*s)!=NULL || Extended && (byte)*s<32)
# ~~ ~~~~~~~~~^~~~~~~~~~~~~~
# pathfn.cpp:420:64: note: place parentheses around the '&&' expression to silence this warning
# if (strchr(Extended ? "?*<>|\"":"?*",*s)!=NULL || Extended && (byte)*s<32)
# ^
# ( )
# pathfn.cpp:441:66: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (wcschr(Extended ? L"?*<>|\"":L"?*",*s)!=NULL || Extended && (uint)*s<32)
# ~~ ~~~~~~~~~^~~~~~~~~~~~~~
# pathfn.cpp:441:66: note: place parentheses around the '&&' expression to silence this warning
# if (wcschr(Extended ? L"?*<>|\"":L"?*",*s)!=NULL || Extended && (uint)*s<32)
# ^
# ( )
# pathfn.cpp:728:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# 2 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c global.cpp
# 4 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c file.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c filefn.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c filcreat.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c archive.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c arcread.cpp
# In file included from archive.cpp:4:
# ./arccmt.cpp:45:24: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (Format==RARFMT14 && MainHead.PackComment || Format!=RARFMT14 && CommHead.Method!=0x30)
# ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ~~
# ./arccmt.cpp:45:24: note: place parentheses around the '&&' expression to silence this warning
# if (Format==RARFMT14 && MainHead.PackComment || Format!=RARFMT14 && CommHead.Method!=0x30)
# ^
# ( )
# ./arccmt.cpp:45:68: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (Format==RARFMT14 && MainHead.PackComment || Format!=RARFMT14 && CommHead.Method!=0x30)
# ~~ ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
# ./arccmt.cpp:45:68: note: place parentheses around the '&&' expression to silence this warning
# if (Format==RARFMT14 && MainHead.PackComment || Format!=RARFMT14 && CommHead.Method!=0x30)
# ^
# ( )
# arcread.cpp:14:10: warning: enumeration values 'RARFMT_NONE' and 'RARFMT_FUTURE' not handled in switch [-Wswitch]
# switch(Format)
# ^
# file.cpp:28:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# arcread.cpp:164:10: warning: 13 enumeration values not handled in switch: 'HEAD_MARK', 'HEAD_MAIN', 'HEAD_FILE'... [-Wswitch]
# switch(ShortBlock.HeaderType)
# ^
# archive.cpp:108:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# archive.cpp:205:39: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (Type==HEAD_MAIN || SilentOpen && Type==HEAD_CRYPT)
# ~~ ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
# archive.cpp:205:39: note: place parentheses around the '&&' expression to silence this warning
# if (Type==HEAD_MAIN || SilentOpen && Type==HEAD_CRYPT)
# ^
# ( )
# file.cpp:393:9: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# file.cpp:516:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c unicode.cpp
# arcread.cpp:672:10: warning: 12 enumeration values not handled in switch: 'HEAD_MARK', 'HEAD3_MARK', 'HEAD3_MAIN'... [-Wswitch]
# switch(ShortBlock.HeaderType)
# ^
# arcread.cpp:1021:15: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# arcread.cpp:1026:15: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# arcread.cpp:1031:15: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# 3 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c system.cpp
# arcread.cpp:1289:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# arcread.cpp:1328:29: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (*s=='/' || *s=='\\' && Format!=RARFMT50)
# ~~ ~~~~~~~~~^~~~~~~~~~~~~~~~~~~
# arcread.cpp:1328:29: note: place parentheses around the '&&' expression to silence this warning
# if (*s=='/' || *s=='\\' && Format!=RARFMT50)
# ^
# ( )
# arcread.cpp:1388:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# 4 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c isnt.cpp
# 9 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c crypt.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c crc.cpp
# unicode.cpp:367:9: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c rawread.cpp
# 1 warning generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c encname.cpp
# In file included from crypt.cpp:7:
# ./crypt3.cpp:8:21: warning: '&&' within '||' [-Wlogical-op-parentheses]
# (Salt==NULL && !KDF3Cache[I].SaltPresent || Salt!=NULL &&
# ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
# ./crypt3.cpp:8:21: note: place parentheses around the '&&' expression to silence this warning
# (Salt==NULL && !KDF3Cache[I].SaltPresent || Salt!=NULL &&
# ^
# ( )
# ./crypt3.cpp:9:34: warning: '&&' within '||' [-Wlogical-op-parentheses]
# KDF3Cache[I].SaltPresent && memcmp(KDF3Cache[I].Salt,Salt,SIZE_SALT30)==0))
# ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./crypt3.cpp:9:34: note: place parentheses around the '&&' expression to silence this warning
# KDF3Cache[I].SaltPresent && memcmp(KDF3Cache[I].Salt,Salt,SIZE_SALT30)==0))
# ^
# crypt.cpp:33:10: warning: enumeration value 'CRYPT_NONE' not handled in switch [-Wswitch]
# switch(Method)
# ^
# crypt.cpp:69:10: warning: enumeration value 'CRYPT_NONE' not handled in switch [-Wswitch]
# switch(Method)
# ^
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c resource.cpp
# 4 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c match.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c timefn.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c rdwrfn.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c consio.cpp
# match.cpp:52:7: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# 1 warning generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c options.cpp
# rdwrfn.cpp:109:36: warning: '&&' within '||' [-Wlogical-op-parentheses]
# (ReadSize==0 || Decryption && (TotalRead & CRYPT_BLOCK_MASK) != 0) )
# ~~ ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# rdwrfn.cpp:109:36: note: place parentheses around the '&&' expression to silence this warning
# (ReadSize==0 || Decryption && (TotalRead & CRYPT_BLOCK_MASK) != 0) )
# ^
# ( )
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c errhnd.cpp
# 1 warning generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c rarvm.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c secpassword.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c rijndael.cpp
# rarvm.cpp:191:12: warning: 38 enumeration values not handled in switch: 'VM_MOV', 'VM_CMP', 'VM_ADD'... [-Wswitch]
# switch(Cmd->OpCode)
# ^
# rarvm.cpp:876:10: warning: enumeration value 'VMSF_NONE' not handled in switch [-Wswitch]
# switch(FilterType)
# ^
# 2 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c getbits.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c sha1.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c sha256.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c blake2s.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c hash.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c extinfo.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c extract.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c volume.cpp
# hash.cpp:33:24: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (Type==HASH_RAR14 && cmp.Type==HASH_RAR14 ||
# ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ~~
# hash.cpp:33:24: note: place parentheses around the '&&' expression to silence this warning
# if (Type==HASH_RAR14 && cmp.Type==HASH_RAR14 ||
# ^
# ( )
# hash.cpp:34:24: warning: '&&' within '||' [-Wlogical-op-parentheses]
# Type==HASH_CRC32 && cmp.Type==HASH_CRC32)
# ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
# hash.cpp:34:24: note: place parentheses around the '&&' expression to silence this warning
# Type==HASH_CRC32 && cmp.Type==HASH_CRC32)
# ^
# ( )
# 2 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c list.cpp
# extract.cpp:69:7: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# extract.cpp:198:7: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# extract.cpp:237:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# extract.cpp:261:7: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# extract.cpp:540:9: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# extract.cpp:602:13: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# extract.cpp:617:52: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (!LinkSuccess || Arc.Format==RARFMT15 && !FileCreateMode)
# ~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
# extract.cpp:617:52: note: place parentheses around the '&&' expression to silence this warning
# if (!LinkSuccess || Arc.Format==RARFMT15 && !FileCreateMode)
# ^
# ( )
# extract.cpp:632:11: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# extract.cpp:708:67: warning: '&&' within '||' [-Wlogical-op-parentheses]
# (!LinkEntry || Arc.FileHead.RedirType==FSREDIR_FILECOPY && LinkSuccess) &&
# ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
# extract.cpp:708:67: note: place parentheses around the '&&' expression to silence this warning
# (!LinkEntry || Arc.FileHead.RedirType==FSREDIR_FILECOPY && LinkSuccess) &&
# ^
# ( )
# extract.cpp:753:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c find.cpp
# volume.cpp:22:25: warning: '&&' within '||' [-Wlogical-op-parentheses]
# hd->UnpVer>=20 && hd->FileHash.CRC32!=0xffffffff;
# ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# volume.cpp:22:25: note: place parentheses around the '&&' expression to silence this warning
# hd->UnpVer>=20 && hd->FileHash.CRC32!=0xffffffff;
# ^
# ( )
# volume.cpp:251:44: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (DllVolAborted || Cmd->Callback==NULL && Cmd->ChangeVolProc==NULL)
# ~~ ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
# volume.cpp:251:44: note: place parentheses around the '&&' expression to silence this warning
# if (DllVolAborted || Cmd->Callback==NULL && Cmd->ChangeVolProc==NULL)
# ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
# 2 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c unpack.cpp
# 10 warnings generated.
# list.cpp:59:13: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c headers.cpp
# list.cpp:91:18: warning: 15 enumeration values not handled in switch: 'HEAD_MARK', 'HEAD_MAIN', 'HEAD_CRYPT'... [-Wswitch]
# switch(HeaderType)
# ^
# list.cpp:143:11: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# list.cpp:150:46: warning: '&&' within '||' [-Wlogical-op-parentheses]
# Arc.GetHeaderType()==HEAD_ENDARC && Arc.EndArcHead.NextVolume) &&
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
# list.cpp:150:46: note: place parentheses around the '&&' expression to silence this warning
# Arc.GetHeaderType()==HEAD_ENDARC && Arc.EndArcHead.NextVolume) &&
# ^
# ( )
# list.cpp:265:16: warning: enumeration value 'FSREDIR_NONE' not handled in switch [-Wswitch]
# switch(hd.RedirType)
# ^
# list.cpp:299:9: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# 6 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c threadpool.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c rs16.cpp
# In file included from unpack.cpp:8:
# ./unpack50mt.cpp:205:34: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (!CurData->LargeBlock && !ProcessDecoded(*CurData) ||
# ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
# ./unpack50mt.cpp:205:34: note: place parentheses around the '&&' expression to silence this warning
# if (!CurData->LargeBlock && !ProcessDecoded(*CurData) ||
# ^
# ( )
# ./unpack50mt.cpp:206:33: warning: '&&' within '||' [-Wlogical-op-parentheses]
# CurData->LargeBlock && !UnpackLargeBlock(*CurData) ||
# ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./unpack50mt.cpp:206:33: note: place parentheses around the '&&' expression to silence this warning
# CurData->LargeBlock && !UnpackLargeBlock(*CurData) ||
# ^
# ( )
# ./unpack50mt.cpp:315:65: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (D.Inp.InAddr>BlockBorder || D.Inp.InAddr==BlockBorder &&
# ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~
# ./unpack50mt.cpp:315:65: note: place parentheses around the '&&' expression to silence this warning
# if (D.Inp.InAddr>BlockBorder || D.Inp.InAddr==BlockBorder &&
# ^
# ./unpack50mt.cpp:322:38: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if ((D.Inp.InAddr>=DataBorder) && !D.NoDataLeft || D.Inp.InAddr>=D.DataSize)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ~~
# ./unpack50mt.cpp:322:38: note: place parentheses around the '&&' expression to silence this warning
# if ((D.Inp.InAddr>=DataBorder) && !D.NoDataLeft || D.Inp.InAddr>=D.DataSize)
# ^
# ( )
# ./unpack50mt.cpp:545:65: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (D.Inp.InAddr>BlockBorder || D.Inp.InAddr==BlockBorder &&
# ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~
# ./unpack50mt.cpp:545:65: note: place parentheses around the '&&' expression to silence this warning
# if (D.Inp.InAddr>BlockBorder || D.Inp.InAddr==BlockBorder &&
# ^
# ./unpack50mt.cpp:552:38: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if ((D.Inp.InAddr>=DataBorder) && !D.NoDataLeft || D.Inp.InAddr>=D.DataSize)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ~~
# ./unpack50mt.cpp:552:38: note: place parentheses around the '&&' expression to silence this warning
# if ((D.Inp.InAddr>=DataBorder) && !D.NoDataLeft || D.Inp.InAddr>=D.DataSize)
# ^
# ( )
# In file included from unpack.cpp:11:
# ./unpack15.cpp:301:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# ./unpack15.cpp:309:42: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (OldAvr3 > 0xb0 || AvrPlc >= 0x2a00 && OldAvr2 < 0x40)
# ~~ ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
# ./unpack15.cpp:309:42: note: place parentheses around the '&&' expression to silence this warning
# if (OldAvr3 > 0xb0 || AvrPlc >= 0x2a00 && OldAvr2 < 0x40)
# ^
# ( )
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c cmddata.cpp
# In file included from unpack.cpp:12:
# ./unpack20.cpp:262:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c ui.cpp
# In file included from unpack.cpp:15:
# ./unpack50.cpp:25:73: warning: '&&' within '||' [-Wlogical-op-parentheses]
# Inp.InAddr==BlockHeader.BlockStart+BlockHeader.BlockSize-1 &&
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
# ./unpack50.cpp:25:73: note: place parentheses around the '&&' expression to silence this warning
# Inp.InAddr==BlockHeader.BlockStart+BlockHeader.BlockSize-1 &&
# ^
# ./unpack50.cpp:127:9: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# ./unpack50.cpp:386:21: warning: '&&' within '||' [-Wlogical-op-parentheses]
# WrPtr!=UnpPtr && ((WrPtr-UnpPtr)&MaxWinMask)<((WriteBorder-UnpPtr)&MaxWinMask))
# ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./unpack50.cpp:386:21: note: place parentheses around the '&&' expression to silence this warning
# WrPtr!=UnpPtr && ((WrPtr-UnpPtr)&MaxWinMask)<((WriteBorder-UnpPtr)&MaxWinMask))
# ^
# ( )
# unpack.cpp:103:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c filestr.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c scantree.cpp
# cmddata.cpp:760:17: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# cmddata.cpp:1184:60: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if ((FileHead.FileAttr & ExclFileAttr)!=0 || InclAttrSet && (FileHead.FileAttr & InclFileAttr)==0)
# ~~ ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# cmddata.cpp:1184:60: note: place parentheses around the '&&' expression to silence this warning
# if ((FileHead.FileAttr & ExclFileAttr)!=0 || InclAttrSet && (FileHead.FileAttr & InclFileAttr)==0)
# ^
# ( )
# cmddata.cpp:1210:38: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (Command[0]!=0 && Command[1]!=0 && wcschr(SingleCharCommands,Command[0])!=NULL || *ArcName==0)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
# cmddata.cpp:1210:38: note: place parentheses around the '&&' expression to silence this warning
# if (Command[0]!=0 && Command[1]!=0 && wcschr(SingleCharCommands,Command[0])!=NULL || *ArcName==0)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 13 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c dll.cpp
# 3 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c qopen.cpp
# filestr.cpp:21:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# filestr.cpp:59:31: warning: '&&' within '||' [-Wlogical-op-parentheses]
# SrcCharset==RCH_DEFAULT && IsUnicode((byte *)&Data[0],DataSize))
# ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# filestr.cpp:59:31: note: place parentheses around the '&&' expression to silence this warning
# SrcCharset==RCH_DEFAULT && IsUnicode((byte *)&Data[0],DataSize))
# ^
# ( )
# 2 warnings generated.
# scantree.cpp:219:51: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (Name[0]=='.' && (Name[1]==0 || Name[1]=='.' && Name[2]==0))
# ~~ ~~~~~~~~~~~~~^~~~~~~~~~~~~
# scantree.cpp:219:51: note: place parentheses around the '&&' expression to silence this warning
# if (Name[0]=='.' && (Name[1]==0 || Name[1]=='.' && Name[2]==0))
# ^
# ( )
# scantree.cpp:258:36: warning: '&&' within '||' [-Wlogical-op-parentheses]
# FolderWildcards && Recurse!=RECURSE_DISABLE ||
# ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
# scantree.cpp:258:36: note: place parentheses around the '&&' expression to silence this warning
# FolderWildcards && Recurse!=RECURSE_DISABLE ||
# ^
# ( )
# scantree.cpp:259:30: warning: '&&' within '||' [-Wlogical-op-parentheses]
# Wildcards && Recurse==RECURSE_WILDCARDS ||
# ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# scantree.cpp:259:30: note: place parentheses around the '&&' expression to silence this warning
# Wildcards && Recurse==RECURSE_WILDCARDS ||
# ^
# ( )
# scantree.cpp:260:35: warning: '&&' within '||' [-Wlogical-op-parentheses]
# ScanEntireDisk && Recurse!=RECURSE_DISABLE);
# ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
# scantree.cpp:260:35: note: place parentheses around the '&&' expression to silence this warning
# ScanEntireDisk && Recurse!=RECURSE_DISABLE);
# ^
# ( )
# 4 warnings generated.
# dll.cpp:199:9: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# dll.cpp:300:29: warning: '&&' within '||' [-Wlogical-op-parentheses]
# Operation==RAR_SKIP && !Data->Arc.Solid)
# ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
# dll.cpp:300:29: note: place parentheses around the '&&' expression to silence this warning
# Operation==RAR_SKIP && !Data->Arc.Solid)
# ^
# ( )
# dll.cpp:309:9: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# 3 warnings generated.
# g++ -shared -o libunrar.so -pthread rar.o strlist.o strfn.o pathfn.o smallfn.o global.o file.o filefn.o filcreat.o archive.o arcread.o unicode.o system.o isnt.o crypt.o crc.o rawread.o encname.o resource.o match.o timefn.o rdwrfn.o consio.o options.o errhnd.o rarvm.o secpassword.o rijndael.o getbits.o sha1.o sha256.o blake2s.o hash.o extinfo.o extract.o volume.o list.o find.o unpack.o headers.o threadpool.o rs16.o cmddata.o ui.o filestr.o scantree.o dll.o qopen.o
# make: Leaving directory '/tmp/unrar/src/libunrar'
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c rar.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c strlist.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c strfn.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c pathfn.cpp
# pathfn.cpp:349:21: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (ChPtr[1]==0 && wcslen(ArcName)
# ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
# pathfn.cpp:349:21: note: place parentheses around the '&&' expression to silence this warning
# if (ChPtr[1]==0 && wcslen(ArcName)
# ^
# ( )
# pathfn.cpp:420:64: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (strchr(Extended ? "?*<>|\"":"?*",*s)!=NULL || Extended && (byte)*s<32)
# ~~ ~~~~~~~~~^~~~~~~~~~~~~~
# pathfn.cpp:420:64: note: place parentheses around the '&&' expression to silence this warning
# if (strchr(Extended ? "?*<>|\"":"?*",*s)!=NULL || Extended && (byte)*s<32)
# ^
# ( )
# pathfn.cpp:441:66: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (wcschr(Extended ? L"?*<>|\"":L"?*",*s)!=NULL || Extended && (uint)*s<32)
# ~~ ~~~~~~~~~^~~~~~~~~~~~~~
# pathfn.cpp:441:66: note: place parentheses around the '&&' expression to silence this warning
# if (wcschr(Extended ? L"?*<>|\"":L"?*",*s)!=NULL || Extended && (uint)*s<32)
# ^
# ( )
# pathfn.cpp:728:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c smallfn.cpp
# 4 warnings generated.
# strfn.cpp:163:18: warning: '&&' within '||' [-Wlogical-op-parentheses]
# return(ch>='A' && ch<='Z' || ch>='a' && ch<='z');
# ~~~~~~~~^~~~~~~~~~ ~~
# strfn.cpp:163:18: note: place parentheses around the '&&' expression to silence this warning
# return(ch>='A' && ch<='Z' || ch>='a' && ch<='z');
# ^
# ( )
# strfn.cpp:163:40: warning: '&&' within '||' [-Wlogical-op-parentheses]
# return(ch>='A' && ch<='Z' || ch>='a' && ch<='z');
# ~~ ~~~~~~~~^~~~~~~~~~
# strfn.cpp:163:40: note: place parentheses around the '&&' expression to silence this warning
# return(ch>='A' && ch<='Z' || ch>='a' && ch<='z');
# ^
# ( )
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c global.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c file.cpp
# 2 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c filefn.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c filcreat.cpp
# file.cpp:28:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# file.cpp:393:9: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# file.cpp:516:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# 3 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c archive.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c arcread.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c unicode.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c system.cpp
# In file included from archive.cpp:4:
# ./arccmt.cpp:45:24: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (Format==RARFMT14 && MainHead.PackComment || Format!=RARFMT14 && CommHead.Method!=0x30)
# ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ~~
# ./arccmt.cpp:45:24: note: place parentheses around the '&&' expression to silence this warning
# if (Format==RARFMT14 && MainHead.PackComment || Format!=RARFMT14 && CommHead.Method!=0x30)
# ^
# ( )
# ./arccmt.cpp:45:68: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (Format==RARFMT14 && MainHead.PackComment || Format!=RARFMT14 && CommHead.Method!=0x30)
# ~~ ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
# ./arccmt.cpp:45:68: note: place parentheses around the '&&' expression to silence this warning
# if (Format==RARFMT14 && MainHead.PackComment || Format!=RARFMT14 && CommHead.Method!=0x30)
# ^
# ( )
# unicode.cpp:367:9: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# 1 warning generated.
# archive.cpp:108:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c isnt.cpp
# archive.cpp:205:39: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (Type==HEAD_MAIN || SilentOpen && Type==HEAD_CRYPT)
# ~~ ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
# archive.cpp:205:39: note: place parentheses around the '&&' expression to silence this warning
# if (Type==HEAD_MAIN || SilentOpen && Type==HEAD_CRYPT)
# ^
# ( )
# arcread.cpp:14:10: warning: enumeration values 'RARFMT_NONE' and 'RARFMT_FUTURE' not handled in switch [-Wswitch]
# switch(Format)
# ^
# arcread.cpp:164:10: warning: 13 enumeration values not handled in switch: 'HEAD_MARK', 'HEAD_MAIN', 'HEAD_FILE'... [-Wswitch]
# switch(ShortBlock.HeaderType)
# ^
# arcread.cpp:672:10: warning: 12 enumeration values not handled in switch: 'HEAD_MARK', 'HEAD3_MARK', 'HEAD3_MAIN'... [-Wswitch]
# switch(ShortBlock.HeaderType)
# ^
# arcread.cpp:1021:15: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# arcread.cpp:1026:15: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# arcread.cpp:1031:15: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# arcread.cpp:1289:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# arcread.cpp:1328:29: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (*s=='/' || *s=='\\' && Format!=RARFMT50)
# ~~ ~~~~~~~~~^~~~~~~~~~~~~~~~~~~
# arcread.cpp:1328:29: note: place parentheses around the '&&' expression to silence this warning
# if (*s=='/' || *s=='\\' && Format!=RARFMT50)
# ^
# ( )
# arcread.cpp:1388:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# 4 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c crypt.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c crc.cpp
# 9 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c rawread.cpp
# In file included from crypt.cpp:7:
# ./crypt3.cpp:8:21: warning: '&&' within '||' [-Wlogical-op-parentheses]
# (Salt==NULL && !KDF3Cache[I].SaltPresent || Salt!=NULL &&
# ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
# ./crypt3.cpp:8:21: note: place parentheses around the '&&' expression to silence this warning
# (Salt==NULL && !KDF3Cache[I].SaltPresent || Salt!=NULL &&
# ^
# ( )
# ./crypt3.cpp:9:34: warning: '&&' within '||' [-Wlogical-op-parentheses]
# KDF3Cache[I].SaltPresent && memcmp(KDF3Cache[I].Salt,Salt,SIZE_SALT30)==0))
# ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./crypt3.cpp:9:34: note: place parentheses around the '&&' expression to silence this warning
# KDF3Cache[I].SaltPresent && memcmp(KDF3Cache[I].Salt,Salt,SIZE_SALT30)==0))
# ^
# crypt.cpp:33:10: warning: enumeration value 'CRYPT_NONE' not handled in switch [-Wswitch]
# switch(Method)
# ^
# crypt.cpp:69:10: warning: enumeration value 'CRYPT_NONE' not handled in switch [-Wswitch]
# switch(Method)
# ^
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c encname.cpp
# 4 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c resource.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c match.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c timefn.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c rdwrfn.cpp
# match.cpp:52:7: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# 1 warning generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c consio.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c options.cpp
# rdwrfn.cpp:109:36: warning: '&&' within '||' [-Wlogical-op-parentheses]
# (ReadSize==0 || Decryption && (TotalRead & CRYPT_BLOCK_MASK) != 0) )
# ~~ ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# rdwrfn.cpp:109:36: note: place parentheses around the '&&' expression to silence this warning
# (ReadSize==0 || Decryption && (TotalRead & CRYPT_BLOCK_MASK) != 0) )
# ^
# ( )
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c errhnd.cpp
# 1 warning generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c rarvm.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c secpassword.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c rijndael.cpp
# rarvm.cpp:191:12: warning: 38 enumeration values not handled in switch: 'VM_MOV', 'VM_CMP', 'VM_ADD'... [-Wswitch]
# switch(Cmd->OpCode)
# ^
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c getbits.cpp
# rarvm.cpp:876:10: warning: enumeration value 'VMSF_NONE' not handled in switch [-Wswitch]
# switch(FilterType)
# ^
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c sha1.cpp
# 2 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c sha256.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c blake2s.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c hash.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c extinfo.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c extract.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c volume.cpp
# hash.cpp:33:24: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (Type==HASH_RAR14 && cmp.Type==HASH_RAR14 ||
# ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ~~
# hash.cpp:33:24: note: place parentheses around the '&&' expression to silence this warning
# if (Type==HASH_RAR14 && cmp.Type==HASH_RAR14 ||
# ^
# ( )
# hash.cpp:34:24: warning: '&&' within '||' [-Wlogical-op-parentheses]
# Type==HASH_CRC32 && cmp.Type==HASH_CRC32)
# ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
# hash.cpp:34:24: note: place parentheses around the '&&' expression to silence this warning
# Type==HASH_CRC32 && cmp.Type==HASH_CRC32)
# ^
# ( )
# 2 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c list.cpp
# extract.cpp:69:7: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# extract.cpp:198:7: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# extract.cpp:237:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# extract.cpp:261:7: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# extract.cpp:540:9: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# extract.cpp:602:13: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# extract.cpp:617:52: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (!LinkSuccess || Arc.Format==RARFMT15 && !FileCreateMode)
# ~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
# extract.cpp:617:52: note: place parentheses around the '&&' expression to silence this warning
# if (!LinkSuccess || Arc.Format==RARFMT15 && !FileCreateMode)
# ^
# ( )
# extract.cpp:632:11: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# extract.cpp:708:67: warning: '&&' within '||' [-Wlogical-op-parentheses]
# (!LinkEntry || Arc.FileHead.RedirType==FSREDIR_FILECOPY && LinkSuccess) &&
# ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
# extract.cpp:708:67: note: place parentheses around the '&&' expression to silence this warning
# (!LinkEntry || Arc.FileHead.RedirType==FSREDIR_FILECOPY && LinkSuccess) &&
# ^
# ( )
# extract.cpp:753:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# volume.cpp:22:25: warning: '&&' within '||' [-Wlogical-op-parentheses]
# hd->UnpVer>=20 && hd->FileHash.CRC32!=0xffffffff;
# ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# volume.cpp:22:25: note: place parentheses around the '&&' expression to silence this warning
# hd->UnpVer>=20 && hd->FileHash.CRC32!=0xffffffff;
# ^
# ( )
# 1 warning generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c find.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c unpack.cpp
# list.cpp:59:13: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# list.cpp:91:18: warning: 15 enumeration values not handled in switch: 'HEAD_MARK', 'HEAD_MAIN', 'HEAD_CRYPT'... [-Wswitch]
# switch(HeaderType)
# ^
# list.cpp:143:11: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# list.cpp:150:46: warning: '&&' within '||' [-Wlogical-op-parentheses]
# Arc.GetHeaderType()==HEAD_ENDARC && Arc.EndArcHead.NextVolume) &&
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
# list.cpp:150:46: note: place parentheses around the '&&' expression to silence this warning
# Arc.GetHeaderType()==HEAD_ENDARC && Arc.EndArcHead.NextVolume) &&
# ^
# ( )
# list.cpp:265:16: warning: enumeration value 'FSREDIR_NONE' not handled in switch [-Wswitch]
# switch(hd.RedirType)
# ^
# list.cpp:299:9: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# 10 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c headers.cpp
# 6 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c threadpool.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c rs16.cpp
# In file included from unpack.cpp:8:
# ./unpack50mt.cpp:205:34: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (!CurData->LargeBlock && !ProcessDecoded(*CurData) ||
# ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
# ./unpack50mt.cpp:205:34: note: place parentheses around the '&&' expression to silence this warning
# if (!CurData->LargeBlock && !ProcessDecoded(*CurData) ||
# ^
# ( )
# ./unpack50mt.cpp:206:33: warning: '&&' within '||' [-Wlogical-op-parentheses]
# CurData->LargeBlock && !UnpackLargeBlock(*CurData) ||
# ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./unpack50mt.cpp:206:33: note: place parentheses around the '&&' expression to silence this warning
# CurData->LargeBlock && !UnpackLargeBlock(*CurData) ||
# ^
# ( )
# ./unpack50mt.cpp:315:65: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (D.Inp.InAddr>BlockBorder || D.Inp.InAddr==BlockBorder &&
# ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~
# ./unpack50mt.cpp:315:65: note: place parentheses around the '&&' expression to silence this warning
# if (D.Inp.InAddr>BlockBorder || D.Inp.InAddr==BlockBorder &&
# ^
# ./unpack50mt.cpp:322:38: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if ((D.Inp.InAddr>=DataBorder) && !D.NoDataLeft || D.Inp.InAddr>=D.DataSize)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ~~
# ./unpack50mt.cpp:322:38: note: place parentheses around the '&&' expression to silence this warning
# if ((D.Inp.InAddr>=DataBorder) && !D.NoDataLeft || D.Inp.InAddr>=D.DataSize)
# ^
# ( )
# ./unpack50mt.cpp:545:65: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (D.Inp.InAddr>BlockBorder || D.Inp.InAddr==BlockBorder &&
# ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~
# ./unpack50mt.cpp:545:65: note: place parentheses around the '&&' expression to silence this warning
# if (D.Inp.InAddr>BlockBorder || D.Inp.InAddr==BlockBorder &&
# ^
# ./unpack50mt.cpp:552:38: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if ((D.Inp.InAddr>=DataBorder) && !D.NoDataLeft || D.Inp.InAddr>=D.DataSize)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ~~
# ./unpack50mt.cpp:552:38: note: place parentheses around the '&&' expression to silence this warning
# if ((D.Inp.InAddr>=DataBorder) && !D.NoDataLeft || D.Inp.InAddr>=D.DataSize)
# ^
# ( )
# In file included from unpack.cpp:11:
# ./unpack15.cpp:301:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# ./unpack15.cpp:309:42: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (OldAvr3 > 0xb0 || AvrPlc >= 0x2a00 && OldAvr2 < 0x40)
# ~~ ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
# ./unpack15.cpp:309:42: note: place parentheses around the '&&' expression to silence this warning
# if (OldAvr3 > 0xb0 || AvrPlc >= 0x2a00 && OldAvr2 < 0x40)
# ^
# ( )
# In file included from unpack.cpp:12:
# ./unpack20.cpp:262:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c cmddata.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c ui.cpp
# In file included from unpack.cpp:15:
# ./unpack50.cpp:25:73: warning: '&&' within '||' [-Wlogical-op-parentheses]
# Inp.InAddr==BlockHeader.BlockStart+BlockHeader.BlockSize-1 &&
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
# ./unpack50.cpp:25:73: note: place parentheses around the '&&' expression to silence this warning
# Inp.InAddr==BlockHeader.BlockStart+BlockHeader.BlockSize-1 &&
# ^
# ./unpack50.cpp:127:9: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# ./unpack50.cpp:386:21: warning: '&&' within '||' [-Wlogical-op-parentheses]
# WrPtr!=UnpPtr && ((WrPtr-UnpPtr)&MaxWinMask)<((WriteBorder-UnpPtr)&MaxWinMask))
# ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./unpack50.cpp:386:21: note: place parentheses around the '&&' expression to silence this warning
# WrPtr!=UnpPtr && ((WrPtr-UnpPtr)&MaxWinMask)<((WriteBorder-UnpPtr)&MaxWinMask))
# ^
# ( )
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c filestr.cpp
# unpack.cpp:103:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# In file included from ui.cpp:12:
# ./uiconsole.cpp:83:10: warning: 70 enumeration values not handled in switch: 'UIERROR_INCERRCOUNT', 'UIERROR_NOTSFX', 'UIERROR_OLDTOSFX'... [-Wswitch]
# switch(Code)
# ^
# 1 warning generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c recvol.cpp
# cmddata.cpp:760:17: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# filestr.cpp:21:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# filestr.cpp:59:31: warning: '&&' within '||' [-Wlogical-op-parentheses]
# SrcCharset==RCH_DEFAULT && IsUnicode((byte *)&Data[0],DataSize))
# ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# filestr.cpp:59:31: note: place parentheses around the '&&' expression to silence this warning
# SrcCharset==RCH_DEFAULT && IsUnicode((byte *)&Data[0],DataSize))
# ^
# ( )
# cmddata.cpp:1184:60: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if ((FileHead.FileAttr & ExclFileAttr)!=0 || InclAttrSet && (FileHead.FileAttr & InclFileAttr)==0)
# ~~ ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# cmddata.cpp:1184:60: note: place parentheses around the '&&' expression to silence this warning
# if ((FileHead.FileAttr & ExclFileAttr)!=0 || InclAttrSet && (FileHead.FileAttr & InclFileAttr)==0)
# ^
# ( )
# cmddata.cpp:1210:38: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (Command[0]!=0 && Command[1]!=0 && wcschr(SingleCharCommands,Command[0])!=NULL || *ArcName==0)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
# cmddata.cpp:1210:38: note: place parentheses around the '&&' expression to silence this warning
# if (Command[0]!=0 && Command[1]!=0 && wcschr(SingleCharCommands,Command[0])!=NULL || *ArcName==0)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 13 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c rs.cpp
# 2 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c scantree.cpp
# 3 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c qopen.cpp
# In file included from recvol.cpp:3:
# ./recvol3.cpp:90:9: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# ./recvol3.cpp:215:25: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (RecVolNumber!=0 && RecVolNumber!=P[1] || FileNumber!=0 && FileNumber!=P[2])
# ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ~~
# ./recvol3.cpp:215:25: note: place parentheses around the '&&' expression to silence this warning
# if (RecVolNumber!=0 && RecVolNumber!=P[1] || FileNumber!=0 && FileNumber!=P[2])
# ^
# ( )
# ./recvol3.cpp:215:64: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (RecVolNumber!=0 && RecVolNumber!=P[1] || FileNumber!=0 && FileNumber!=P[2])
# ~~ ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
# ./recvol3.cpp:215:64: note: place parentheses around the '&&' expression to silence this warning
# if (RecVolNumber!=0 && RecVolNumber!=P[1] || FileNumber!=0 && FileNumber!=P[2])
# ^
# ( )
# In file included from recvol.cpp:4:
# ./recvol5.cpp:291:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
# if (Item->New=(Item->f==NULL))
# ~~~~~~~~~^~~~~~~~~~~~~~~~
# scantree.cpp:219:51: warning: '&&' within '||' [-Wlogical-op-parentheses]
# if (Name[0]=='.' && (Name[1]==0 || Name[1]=='.' && Name[2]==0))
# ~~ ~~~~~~~~~~~~~^~~~~~~~~~~~~
# scantree.cpp:219:51: note: place parentheses around the '&&' expression to silence this warning
# if (Name[0]=='.' && (Name[1]==0 || Name[1]=='.' && Name[2]==0))
# ^
# ( )
# scantree.cpp:258:36: warning: '&&' within '||' [-Wlogical-op-parentheses]
# FolderWildcards && Recurse!=RECURSE_DISABLE ||
# ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
# scantree.cpp:258:36: note: place parentheses around the '&&' expression to silence this warning
# FolderWildcards && Recurse!=RECURSE_DISABLE ||
# ^
# ( )
# scantree.cpp:259:30: warning: '&&' within '||' [-Wlogical-op-parentheses]
# Wildcards && Recurse==RECURSE_WILDCARDS ||
# ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# scantree.cpp:259:30: note: place parentheses around the '&&' expression to silence this warning
# Wildcards && Recurse==RECURSE_WILDCARDS ||
# ^
# ( )
# scantree.cpp:260:35: warning: '&&' within '||' [-Wlogical-op-parentheses]
# ScanEntireDisk && Recurse!=RECURSE_DISABLE);
# ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
# scantree.cpp:260:35: note: place parentheses around the '&&' expression to silence this warning
# ScanEntireDisk && Recurse!=RECURSE_DISABLE);
# ^
# ( )
# 4 warnings generated.
# ./recvol5.cpp:291:18: note: place parentheses around the assignment to silence this warning
# if (Item->New=(Item->f==NULL))
# ^
# ( )
# ./recvol5.cpp:291:18: note: use '==' to turn this assignment into an equality comparison
# if (Item->New=(Item->f==NULL))
# ^
# ==
# 4 warnings generated.
# g++ -o unrar -pthread rar.o strlist.o strfn.o pathfn.o smallfn.o global.o file.o filefn.o filcreat.o archive.o arcread.o unicode.o system.o isnt.o crypt.o crc.o rawread.o encname.o resource.o match.o timefn.o rdwrfn.o consio.o options.o errhnd.o rarvm.o secpassword.o rijndael.o getbits.o sha1.o sha256.o blake2s.o hash.o extinfo.o extract.o volume.o list.o find.o unpack.o headers.o threadpool.o rs16.o cmddata.o ui.o filestr.o recvol.o rs.o scantree.o qopen.o
# threadpool.o:threadpool.cpp:function __cxx_global_var_init: error: undefined reference to '__dso_handle'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# make: *** [makefile:123: unrar] Error 1
# ==> ERROR: A failure occurred in build().
# Aborting...