Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

GCC begins move to C++

Name: corbet 2010-05-31 11:39

GCC begins move to C++
[Development] Posted May 31, 2010 13:53 UTC (Mon) by corbet

It's now official: the GCC compiler is moving to a C++ implementation. "I am pleased to report that the GCC Steering Committee and the FSF have approved the use of C++ in GCC itself. Of course, there's no reason for us to use C++ features just because we can. The goal is a better compiler for users, not a C++ code base for its own sake." The next step is the bashing out of a set of C++ coding standards limiting the set of C++ language features which can be used.

Full Story (comments: none)

Name: Anonymous 2010-05-31 11:58

GCC is dead to me.

Name: Anonymous 2010-05-31 12:00

Who cares, it's not as if anyone on /prog/ contributes to it

Name: Anonymous 2010-05-31 12:00

>>2
Same here

Name: Anonymous 2010-05-31 12:01

>>3
Right, because all of us wrote a ansi C compiler when we were twelve.

Name: Anonymous 2010-05-31 12:02

>>1
Good troll you almost got m--% yaourt -S pcc

Name: Anonymous 2010-05-31 12:16

I liked GCC better when it was called GNU C Compiler.

Name: Anonymous 2010-05-31 12:58

Name: Anonymous 2010-05-31 13:06

>>8
Back to xkcd, please

Name: Anonymous 2010-05-31 13:08

They were beginning to approach the performance and code generation quality of other compilers, so in order to keep the staple mediocrity that characterizes them, they had to make some bold move

Name: Anonymous 2010-05-31 13:27

Why is this a bad thing? They're not rewriting it.

As far as I can tell from the mailing list they're planning to allow only a small subset of C++ into the code.

For example, I think it goes without question that at this point we are limiting ourselves to C++98 (plus "long long" so that we have a 64-bit integer type); C++0x features should not be used.  Using multiple inheritance, templates (other than when using the C++ standard library, e.g. std::list<X>), or exceptions also seems overly aggressive to me.

Doesn't LLVM already use C++ and all of it's associated ass-rape like templates?

Name: Anonymous 2010-05-31 14:15

>>11
  * multiple inheritance where appropriate, but NOT virtual inheritance

Nipaaaaaa.

Name: Anonymous 2010-05-31 16:29

>>11
LLVM's C++ is every bit as usable and sane as Qt.

Which doesn't say much, but if I were forced at gunpoint to use the language, I'd work with one of those two. They're about the only really sane C++ code I've seen.

Name: Anonymous 2010-05-31 16:51

>>12
The allowed language subset has yet to be agreed upon.

Nothing to Nipaa about.

>>13
We are talking about a subset of the C++98 standard which is going to be allowed in the code of the compiler itself. Not what the compiler supports.

Name: Anonymous 2010-05-31 16:59

>>14
Since gcc is supposed to be self-hosting, we're also talking about what the compiler supports.

Name: >>13 2010-05-31 17:51

>>14
Yes, that is exactly what I was referring to. I'm not sure how you misconstrued my post, but try reading it again.

Name: Anonymous 2010-06-01 1:17

>>13
LLVM
Pronounced 'lolvum' (rhymes with 'ovum')

Name: >>14 2010-06-01 5:12

>>15,16
Disregard that            .

I know it's supposed to be self-hosting but it's a pity there will be no way to boostrap it with something like tcc.

Name: Anonymous 2010-06-01 6:44

>>18
Just add more stages.

Are there any compilers that can bootstrap from a dirt simple interpreter?

Name: Anonymous 2010-06-01 10:33

Oh boy now the compiler will be slower and consume more memory, and building the compiler will be slower and consume memory.

It's like a turducken, except the turkey is shit, the duck is shit and the chicken is shit.

Name: Anonymous 2010-06-01 10:41

>>20
They won't rewrite it in C, they'll be able to write additions in C++.

Name: Anonymous 2010-06-01 11:01

>>21
The parts that are already OO kludged in C will likely be rewritten, and over time more and more will be C++. Then the machobullshit programmers will start using the shittier parts of the language just to show how hard d00ds they are and it'll all be shit.

Name: Anonymous 2010-06-01 11:21

>>20
You're funny.

Clang is C++, and it's both lighter and faster than GCC.

Name: Anonymous 2010-06-01 11:30

>>23
clangclangclang.jpg

Name: Anonymous 2010-06-01 11:37

>>20
Cool story, bro

Name: Anonymous 2010-06-01 13:31

>>20

lol, i spilled shit all over my chair.

Name: Anonymous 2010-06-01 13:38

>>25
Cool story, [x]
Back to the imageboards, please

Name: Anonymous 2010-06-01 14:17

>>27
I'm not your x, y.

Name: Anonymous 2010-06-01 15:25

>>28
back to z, please

Name: Anonymous 2010-06-01 17:19

>>28
>>29
Same v's

Name: Anonymous 2010-06-01 18:41

>>20
Oh, God! The inline templates, they do nothing!

Name: Anonymous 2010-06-01 18:57

>>6
pcc
How is PCC these days?

Name: Anonymous 2010-06-01 20:11

­

Name: Anonymous 2010-06-01 21:29

I really don't want to care about this, but a question comes to mind: why the fuck?‽! would you want to use C++ for gcc?

Name: Anonymous 2010-06-01 21:39

>>32
Pronounced 'pucci'.

Name: Anonymous 2010-06-02 0:28

>>35
wwwwwww

Name: Anonymous 2010-06-02 0:34

>>34
Because it's a better language.

Name: Anonymous 2010-06-02 0:35

It's now official: GCC is a professional trolling machine.

Name: Anonymous 2010-06-02 3:11

Well, I hope GCC will die and we'll all happily move to clang.
Or it doesn't support lambdas yet?

Name: Anonymous 2010-06-02 4:38

>>39
$ clang++ test.cpp
In file included from test.cpp:1:
/usr/include/c++/4.4.3/iostream:38:10: fatal error: 'bits/c++config.h' file not found
#include <bits/c++config.h>
         ^
0  libLLVM-2.7.so  0x0000003595bc8e4f
1  libLLVM-2.7.so  0x0000003595bc94a5
2  libpthread.so.0 0x00007fe83f2070f0
3  clang           0x000000000086576d
4  clang           0x0000000000865bb3
5  clang           0x00000000006c98b1
6  clang           0x00000000006cab92
7  clang           0x00000000006cb675
8  clang           0x00000000006fdce1
9  clang           0x00000000006ffbaa
10 clang           0x00000000008fe8ae
11 clang           0x00000000008d5431
12 clang           0x00000000008ebf74
13 clang           0x00000000008eddc5
14 clang           0x00000000008ee92f
15 clang           0x00000000008e23b1
16 clang           0x00000000009064ba
17 clang           0x000000000090702b
18 clang           0x00000000009072fb
19 clang           0x00000000008e5b5f
20 clang           0x00000000008d959f
21 clang           0x00000000008d98ba
22 clang           0x00000000005e3c3b
23 clang           0x000000000041f2e9
24 clang           0x00000000004134ea
25 clang           0x00000000004167bb main + 1771
26 libc.so.6       0x00007fe83ea15b1d __libc_start_main + 253
27 clang           0x00000000004119b9
Stack dump:
0.    Program arguments: /usr/bin/clang -cc1 -triple x86_64-unknown-linux-gnu -S -disable-free -disable-llvm-verifier -main-file-name test.cpp -mrelocation-model static -mdisable-fp-elim -mconstructor-aliases -munwind-tables -target-cpu x86-64 -resource-dir /usr/lib/clang/1.1 -fmessage-length 210 -fexceptions -fgnu-runtime -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/cc-wDih0Q.s -x c++ test.cpp
1.    /usr/include/c++/4.4.3/ostream:380:7: current parser token 'basic_ostream'
2.    /usr/include/c++/4.4.3/ostream:376:5: parsing struct/union/class body 'basic_ostream::'
clang: error: compiler command failed due to signal 11 (use -v to see invocation)

$ cat test.cpp
#include <iostream>

int main()
{
    std::cout << "Oh God I am not good with Sepples.\n";
    return 0;
}

2010 will be the year of Clang!

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List