Bug 216078

Summary: games/valyriatear: fails to build with lang/gcc6 or later
Product: Ports & Packages Reporter: Jan Beich <jbeich>
Component: Individual Port(s)Assignee: Dmitry Marakasov <amdmi3>
Status: Closed FIXED    
Severity: Affects Only Me Keywords: needs-patch
Priority: --- Flags: bugzilla: maintainer-feedback? (amdmi3)
Version: Latest   
Hardware: Any   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216034
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216036
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216035
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216053
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216055
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216060
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216066
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216070
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216077
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216047
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216080
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216082

Description Jan Beich freebsd_committer freebsd_triage 2017-01-14 16:34:30 UTC
src/main.cpp:508:53: warning:
      comparison between NULL and non-pointer ('std::ifstream' (aka 'basic_ifstream<char>') and NULL)
      [-Wnull-arithmetic]
        if(std::ifstream("dat/config/settings.lua") == NULL) {
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
src/main.cpp:508:53: error: invalid
      operands to binary expression ('std::ifstream' (aka 'basic_ifstream<char>') and 'long')
        if(std::ifstream("dat/config/settings.lua") == NULL) {
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~

build log: http://sprunge.us/eYWc
regressed by: https://github.com/llvm-mirror/libcxx/commit/3a1b90a866b6
Comment 1 Jan Beich freebsd_committer freebsd_triage 2017-01-14 16:37:27 UTC
src/engine/system.cpp:338:66: error: invalid operands to binary expression ('std::ifstream' (aka 'basic_ifstream<char>') and 'long')
    if(std::ifstream("po/en@quot/LC_MESSAGES/"APPSHORTNAME".mo") == NULL) {
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
Comment 2 Jan Beich freebsd_committer freebsd_triage 2017-01-14 16:40:15 UTC
(In reply to Dimitry Andric from bug 216034 comment #6)
> Note that the upstream author has reverted the commit causing this here:
>
> http://llvm.org/viewvc/llvm-project?rev=291921&view=rev
>
> and has also merged it to the 4.0 branch. I will import the upstream
> branch into the projects/clang400-import branch soon.

lang/gcc6 and later versions are also affected.

src/main.cpp: In function 'int main(int, char**)':
src/main.cpp:508:53: error: no match for 'operator==' (operand types are 'std::ifstream {aka std::basic_ifstream<char>}' and 'long int')
         if(std::ifstream("dat/config/settings.lua") == NULL) {
                                                     ^
src/engine/system.cpp: In function 'void vt_system::Reinitl10n()':
src/engine/system.cpp:338:66: error: no match for 'operator==' (operand types are 'std::ifstream {aka std::basic_ifstream<char>}' and 'long int')
     if(std::ifstream("po/en@quot/LC_MESSAGES/"APPSHORTNAME".mo") == NULL) {
                                                                  ^
Comment 3 commit-hook freebsd_committer freebsd_triage 2017-08-24 14:14:01 UTC
A commit references this bug:

Author: amdmi3
Date: Thu Aug 24 14:13:48 UTC 2017
New revision: 448671
URL: https://svnweb.freebsd.org/changeset/ports/448671

Log:
  - Fix built with gcc6

  PR:		216078
  Reported by:	jbeich

Changes:
  head/games/valyriatear/files/patch-src_main.cpp