Slashdot Mirror


Chromium Being Ported To VC++, Scrubbed of Compiler Bugs

jones_supa writes: Moving a big software project to a new compiler can be a lot of work, and few projects are bigger than the Chromium web browser. In addition to the main Chromium repository, which includes all of WebKit, there are over a hundred other open-source projects which Chromium incorporates by reference, totaling more than 48,000 C/C++ files and 40,000 header files. As of March 11th, Chromium has switched to Visual C++ 2015, and it doesn't look like it's looking back. The tracking bug for this effort currently has over 330 comments on it, with contributions from dozens of developers. Bruce Dawson has written an interesting showcase of some VC++ compiler bugs that the process has uncovered. His job was to investigate them, come up with a minimal reproduce case, and report them to Microsoft. The Google and Microsoft teams get praise for an excellent symbiotic relationship, and the compiler bugs have been fixed quickly by the Visual Studio team.

4 of 93 comments (clear)

  1. Why? by guruevi · · Score: 1, Insightful

    Most developers know VC++ compilers are full of bugs and weird stuff. Why didn't they just stay with the compilers that are well supported across all platforms?

    --
    Custom electronics and digital signage for your business: www.evcircuits.com
    1. Re:Why? by guruevi · · Score: 1, Insightful

      I'm not saying they are the only compiler with bugs, it's just that VC++ is known (at least in academia that write shitty software to begin with) to generate a lot more errors/bugs for software that's not directly Win32 related than eg. GCC or Clang. Not sure what the rationale was behind going to a closed software compiler with possible patent issues/assertions.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    2. Re:Why? by Anonymous Coward · · Score: 5, Insightful

      A lot of times compiler bugs fall into categories that aren't bugs at all. 1. Stuff that people think is standard C, but it's really a GCC-ism. 2. Stuff people didn't know about standard C, such as the order of argument evaluation being unspecified. 3. Default settings on one compiler being forgiving and/or handling uninitialized variables in a particular way, and the other compiler not being so forgiving.

      I can't remember who said so first, but it's generally given that the first people to scream "compiler bug" are usually doing something wrong with their code. I wouldn't be surprised if a lot of the people in academia who you say write shitty software are doing that kind of thing. "Oh! compiler bug!" Nope. You just had something that "worked on my machine" and now it doesn't.

  2. Re:That's huge! by Carewolf · · Score: 4, Insightful

    Chrome is not an application. It is an entire operating system, that just happens to include a browser. Think of it as ChromeOS VM.