Page 7 of 16 FirstFirst ... 56789 ... LastLast
Results 61 to 70 of 154

Thread: C++11 & The Long-Term Viability Of GCC Is Questioned

  1. #61
    Join Date
    Aug 2012
    Posts
    245

    Default

    Android bootloader can be "unlocked" by pressing certain buttons while booting. Just saying ..

  2. #62
    Join Date
    Aug 2010
    Posts
    59

    Default

    Can Clang/LLVM rebuild a whole distro like Gentoo from source? If not it's still a toy.

  3. #63
    Join Date
    Aug 2012
    Location
    Pennsylvania, United States
    Posts
    1,876

    Default

    Quote Originally Posted by linux5850 View Post
    Can Clang/LLVM rebuild a whole distro like Gentoo from source? If not it's still a toy.
    It can rebuild all of FreeBSD, and most of Debian. The only packages that it fails on are those that rely on non-standard GCC extensions: the kernel is one of those packages. But every release gets better, more extensions get support. (There's actually a patch set out right now to both llvm/clang and the kernel that allow clang to build the kernel, so it IS possible) It won't be too long, probably 2 releases from now, when you CAN build all of debian or gentoo, kernel included, with clang without any patches necessary.

  4. #64
    Join Date
    Feb 2012
    Posts
    111

    Default

    Quote Originally Posted by linux5850 View Post
    Can Clang/LLVM rebuild a whole distro like Gentoo from source? If not it's still a toy.
    I built my whole system from sources using just Clang ... and with Gentoo (when I used it; not-so-long-ago) I compiled *most* of it (can't remember exact numbers, but grub and linux kernel weren't on the list *for sure*)

    Regards.

  5. #65
    Join Date
    Jun 2012
    Posts
    81

    Default

    Quote Originally Posted by linux5850 View Post
    Can Clang/LLVM rebuild a whole distro like Gentoo from source? If not it's still a toy.
    Even if it couldn't, it can build 21000 of 24000 3rd party applications in FreeBSD ports.

    https://wiki.freebsd.org/PortsAndClang

    Those remaining 3000 may have inter-dependencies, so it may not have failed on every single one of those remaining 3000.

  6. #66
    Join Date
    Oct 2011
    Posts
    10

    Default Nonsense

    Nonsense I say.

    - C++: static analyzers
    - code re-formatters,
    - syntax highlighters

    These functions should be done by a separate standalone tool for each task, that is the UNIX/POSIX way of doing things, not the compiler or the compiler backend. A C compiler should produce assembler output, nothing else.

    Ofcause full C++11 support is a nice thing to have. But there is no hurry, the C++11 standard is still new.

  7. #67
    Join Date
    Jul 2010
    Posts
    483

    Default

    Quote Originally Posted by skies View Post
    Nonsense I say.

    - C++: static analyzers
    - code re-formatters,
    - syntax highlighters

    These functions should be done by a separate standalone tool for each task, that is the UNIX/POSIX way of doing things, not the compiler or the compiler backend. A C compiler should produce assembler output, nothing else.

    Ofcause full C++11 support is a nice thing to have. But there is no hurry, the C++11 standard is still new.
    To follow the UNIX/POSIX way of doing things GCC should consist of at least three modules: front-end, optimizer, back-end. Where you have standalone language specific front-ends and hardware specific back-ends processing/producing an IR. To allow more code sharing and aggressive optimization you may also want to split Linker, Link Time Optimizer, Code Generators.

    This is the idea behind LLVM, a compiling library implementing dozens separate components. It simplifies the job of writing compilers. For example, it took only about two weeks to implement a OpenGL/GLSL JIT compiler using LLVM.

    Try to do the same with GCC. Static analyzers, re-formatters, highlighters are just the icing on the cake...

  8. #68
    Join Date
    Feb 2008
    Location
    Linuxland
    Posts
    5,049

    Default

    Quote Originally Posted by log0 View Post
    This is the idea behind LLVM, a compiling library implementing dozens separate components. It simplifies the job of writing compilers. For example, it took only about two weeks to implement a OpenGL/GLSL JIT compiler using LLVM.
    You mean the one that still isn't fully working after like, a year? RADEON_LLVM?

  9. #69
    Join Date
    Oct 2008
    Posts
    882

    Default

    Quote Originally Posted by XorEaxEax View Post
    I mentioned GPL and Apple's licence incompability since they are both copy-left. As for FreeBSD's base system, they are (for ideological reasons) purging their base system of GPL licenced code. https://wiki.freebsd.org/GPLinBase
    As opposed to Google's "no GPL in userspace" policy which isn't ideological at all.

  10. #70

    Default

    Quote Originally Posted by carewolf View Post
    No, no and no.

    Maybe I am biased being an actualWebKit developer, but there is no such process happening at any level, and you obviously have misunderstood what WebKit2 is since it is simply a new API for WebCore, not a new project or replacement for any code except interface code.

    KHTML -> WebCore
    WebKit(1) old API for WebCore, used by Chromium, Qt and iOS
    WebKit2 new API for WebCore, used by Safari and Qt.
    I thought that we were talking about WebKit, not WebCore.

    Quote Originally Posted by linux5850 View Post
    Can Clang/LLVM rebuild a whole distro like Gentoo from source? If not it's still a toy.
    We are gradually working toward fixing that. It is not a high priority project though.

    Quote Originally Posted by vertexSymphony View Post
    I built my whole system from sources using just Clang ... and with Gentoo (when I used it; not-so-long-ago) I compiled *most* of it (can't remember exact numbers, but grub and linux kernel weren't on the list *for sure*)

    Regards.
    Linux, GRUB and glibc are the main things that won't build with Clang. Recent versions of binutils will not build with Clang either. That is due to a bug in Clang.

    Quote Originally Posted by skies View Post
    Nonsense I say.

    - C++: static analyzers
    - code re-formatters,
    - syntax highlighters

    These functions should be done by a separate standalone tool for each task, that is the UNIX/POSIX way of doing things, not the compiler or the compiler backend. A C compiler should produce assembler output, nothing else.

    Ofcause full C++11 support is a nice thing to have. But there is no hurry, the C++11 standard is still new.
    Go write separate utilities for each and get back to us.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •