Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Sep 2014 16:22:10 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 193528] New: [PATCH] lang/gcc*: c++11 support is broken
Message-ID:  <bug-193528-13@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193528

            Bug ID: 193528
           Summary: [PATCH] lang/gcc*: c++11 support is broken
           Product: Ports Tree
           Version: Latest
          Hardware: Any
                OS: Any
            Status: Needs Triage
          Severity: Affects Some People
          Priority: Normal
         Component: Individual Port(s)
          Assignee: freebsd-ports-bugs@FreeBSD.org
          Reporter: amdmi3@amdmi3.ru

C++11 support is broken in lang/gcc* from ports. The problem is that gcc
doesn't define _GLIBCXX_USE_C99 macro, which unhides C++11 features.

Maybe that's related to the problem I've reported before, in which gcc disables
whole C99 support after not detecting certain math functions in our math
library - I don't remember details and status of that problem.

If this is too hard to properly fix in the compilers, we may instead just
hardcode -D_GLIBCXX_USE_C99 into macros which gcc defines or into CXXFLAGS in
compiler.mk.
This will enable most of c++11 on pre-clang FreeBSD versions.

Port maintainer (gerald@FreeBSD.org) is cc'd.

Generated with FreeBSD Port Tools 1.02 (mode: change, diff: SVN)

How-To-Repeat:
% cat test.cc
#include <string>

int main() {
        std::to_string(1);
        return 0;
}
% clang++ -std=c++11 test.cc
% g++47 -std=c++11 test.cc
test.cc: In function 'int main()'
test.cc:4:2: error: 'to_string' is not a member of 'std'
% g++47 -std=c++11 -D_GLIBCXX_USE_C99 test.cc
%

-- 
You are receiving this mail because:
You are the assignee for the bug.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-193528-13>