Build of unrar with clang_glibc toolchain

The build took 00h 01m 10s 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:

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...

Copied permanent toolchain into container-local sysroot
# /toolchain_root/sysroot --> /sysroot/sysroot
# /toolchain_root/lib --> /sysroot/lib
# /toolchain_root/sbin --> /sysroot/sbin
# /toolchain_root/lib64 --> /sysroot/lib64
# /toolchain_root/etc --> /sysroot/etc
# /toolchain_root/share --> /sysroot/share
# /toolchain_root/bin --> /sysroot/bin
# /toolchain_root/var --> /sysroot/var
# /toolchain_root/usr --> /sysroot/usr
# /toolchain_root/glibc-build --> /sysroot/glibc-build
# /toolchain_root/x86_64-pc-linux-gnu --> /sysroot/x86_64-pc-linux-gnu
# /toolchain_root/include --> /sysroot/include
# /toolchain_root/libexec --> /sysroot/libexec

CMD: sudo -u tuscan PATH=/usr/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 (Thu Apr 13 20:42:21 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
# 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');
# ^
# ( )
# 2 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -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
# ^
# 4 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c smallfn.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c global.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c file.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 -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
# 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)
# ^
# ( )
# 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)
# ^
# ( )
# 4 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c arcread.cpp
# 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
# ^
# 9 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c unicode.cpp
# unicode.cpp:367:9: 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 system.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c isnt.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c crypt.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)
# ^
# 4 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c crc.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c rawread.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c encname.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c resource.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c match.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 timefn.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c rdwrfn.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) )
# ^
# ( )
# 1 warning generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c consio.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c options.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c errhnd.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c rarvm.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 secpassword.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c rijndael.cpp
# 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
# 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 extinfo.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c extract.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
# ^
# 10 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c volume.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 list.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
# ^
# 6 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c find.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c unpack.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
# ^
# 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
# ^
# 13 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c headers.cpp
# 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
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c cmddata.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)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 3 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c ui.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c filestr.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.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c scantree.cpp
# 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.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c dll.cpp
# 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++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DRARDLL -c qopen.cpp
# 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
# 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');
# ^
# ( )
# 2 warnings generated.
# 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
# ^
# 4 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c smallfn.cpp
# 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
# 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 filefn.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c filcreat.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c archive.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)
# ^
# ( )
# 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)
# ^
# ( )
# 4 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c arcread.cpp
# 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
# ^
# 9 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c unicode.cpp
# unicode.cpp:367:9: 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 system.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c isnt.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c crypt.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)
# ^
# 4 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c crc.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c rawread.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c encname.cpp
# 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
# 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 timefn.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c rdwrfn.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) )
# ^
# ( )
# 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
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c errhnd.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c rarvm.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 -DUNRAR -c secpassword.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c rijndael.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c getbits.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c sha1.cpp
# 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
# 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 extinfo.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c extract.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
# ^
# 10 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c volume.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;
# ^
# ( )
# 1 warning generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c list.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
# ^
# 6 warnings 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
# 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
# ^
# 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
# ^
# 13 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c headers.cpp
# 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
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c cmddata.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)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 3 warnings generated.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c ui.cpp
# 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 filestr.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.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c recvol.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))
# ~~~~~~~~~^~~~~~~~~~~~~~~~
# ./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++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c rs.cpp
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c scantree.cpp
# 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.
# g++ -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c qopen.cpp
# 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
# true unrar
# ==> Entering fakeroot environment...
# ==> Starting package_unrar()...
# ==> Tidying install...
# -> Removing doc files...
# -> Purging unwanted files...
# ==> Checking for packaging issue...
# ==> Creating package "unrar"...
# -> Generating .PKGINFO file...
# -> Generating .BUILDINFO file...
# error: invalid option '--noprogressbar'
# -> Generating .MTREE file...
# -> Compressing package...
# ==> Starting package_libunrar()...
# install: cannot stat 'libunrar.so.5.3.11': No such file or directory
# ==> ERROR: A failure occurred in package_libunrar().
# Aborting...