GCC 4.1 Released
Luineancaion writes "Looks like GCC 4.1 has been released. From what I know this includes the GNU Classpath merge and means that Azureus can now be used in a 100% Free-Software system. Thanks to everyone that worked on it, and keep up the good work!"
But I just finished compiling 4.0...
Most people who program, myself included as an engineering student, probably take this for granted, but GCC is like having a Home Depot down the street that gives their stuff away. For no cost, anyone can use these tools to create just about anything they want. It's pretty amazing, and fitting for Thanksgiving to show some appreciation, that we all have access to these incredible tools for free.
As a developer, I love GCC. Its great, easy, and best of all free. GCC is probably one of the most benifical open source projects around, more important even than linux.
Help Fight SPAM today!
The people on the Internet aren't ready for XHTML 1.0 Strict.
You'd never know it by the link provided that there was anything special about this release.
I am interested in how well it supports ARM5, seeing as how it was dropped as the recommended compiler for certain platforms.
Jesus saved me from my past. He can save you as well.
are they using the gcj as chacheing jit (e.g. GCJ run on demand to turn class files into shared objects which are then loaded dynamically) system that was mentioned in one of the papers i read recently or what?
note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
"From what I know this includes the GNU Classpath merge and means that Azureus can now be used in a 100% Free-Software system. "
GO MONO!
From the story: From what I know this includes the GNU Classpath merge and means that Azureus can now be used in a 100% Free-Software system.
Sounds interesting. Is there any ChangeLog to read? I browsed the gcc and the gcj pages, but I couldn't find anything.
For 13 years I have been a professional UNIX administrator, and if I had to pin down the single most influential software that help propel the Open Source revolution, I would name GCC.
Back in the day the first step in loading up a UNIX workstation with Open Source tools, was to go out and grab a limited precompiled version of GCC, then bootstrap compile an more suitable version, then go to town on compiling all the rest of the goodies that we couldn't live without. We did it so often that it became second nature to go through this process.
I salute you, makers and maintainers of GCC.
Slashmail.org "The Open Source Email Company"
Azurues can now be used in a 100% free system to download not so free software :)
No mention of a changelog? If you're going to announce something, it sure would be nice to have a link to a page that explains some interesting stuff about what's new in it. I've tried looking at their wiki, but its 'news' section and its stuff on 4.1 hasn't been updated since like March.
From what I know this includes the GNU Classpath merge and means that Azureus can now be used in a 100% Free-Software system.
That's good for us, considering that the #1 use of Azureus is to pirate 100% commercial software.
I was always angry with Sun touting Java(R)(TM)*** as portable when run-time environments were made available for only a small (albeit popular) set of architecture/operating system pairs. My Alpha running Debian at home and my Alpha running FreeBSD at work were left cold, lonely, and wanting Java; running a subset of Java applications with free software partial implementations. This is a triumph for FOSS.
I love GCC, but I lament that its ability to do inlining is rather bad.
I'm wondering how hard it would be join the project and work on rectifying this.
what (if any) implications will this have on OO.o?
Does it run linux?
Thanks folks, and happy Thanksgiving.
4.0 compiles you
I'm not sure what gave the person who submitted the story, or the editor who posted the story, the idea that 4.1 was released, but it isn't. In fact, it was just branched less than a week ago. We haven't even put out an RC yet! Really, it's not out. When it is, you will see something sent to gcc-announce
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/~checkout~/w wwdocs/htdocs/gcc-4.1/changes.html?rev=1.10&conten t-type=text/html
Just regarding your description of JIT - that's not how JIT works, at least not the implementation I know off.
What JIT does is to actually create binary code in-memory and then execute it. Nothing to do with shared objects.
GCC 4.1.0 is not yet out as far as I know. This story is misleading. Just because the site lists 4.1.0 on the front does not mean it is out. Notice that it doesn't have a release date on it.
How's the amd64 support in it? Last time I checked it still wasn't stable...
Cheers,
RoadkillBunny
Spelling transitional? That's shite. Try strict.
Azureus can now be used in a 100% Free-Software system.
:) what was wrong with Azureus before?
For those of us who aren't Linux geeks
"This is a triumph for FOSS."
Come on Java forks.
Changes at http://gcc.gnu.org/gcc-4.1/changes.html.
Just checked 3 mirror sites and it's not there yet.
Java leaks like a sieve. Azureus can't run for more than 24 hours without causing noticable slowdown... java is still an unprofessional mess more than a decade after it was supposed to change the world.
Akarsz Magyar Gentoo fórumot? Akkor
Nothing like research BEFORE posting an article. If you look at the homepage you will see that 4.1 hasn't been released.
And by the way, XHTML 1.0 of any type just won't work in the real high-quality web designing world.. XHTML 1.1 is the way to go, if you can't get 2.0 to work. (Yes, I know it hasn't been completely defined yet.)
What is the airspeed of a fully laden swallow?
I suppose "Strict" is for "tighters" then?
About a month ago, I submitted a bug report for an internal compiler error. The GCC guys jumped on it, but I don't see in that change log a mention of what particular bugs got fixed in GCC 4.1.
Is the changelog just oddly incomplete, or am I looking in the wrong place for the list of bugs that got fixed in this release?
This release, AFAIK, includes the sucessor to ProPolice mainline, am I right? That's pretty major if you ask me, but then I use OpenBSD so I've had that for awhile.
Gcc has a history of, well, sucking arse for the first few major revisions of any release tree. Is gcc 4 ready for prime-time now, or should I continue on with gcc 3.x? I've already heard of gcc 4 enforcing strict rules that breaks otherwise functional code. I remember how much of a headache that was when gcc 3 rolled around and started spitting out compiler errors that basically said "your code is ugly."
hello dear sirs my name is jamesh i are india (bihar) can u guide me install red had linux 9?
It looks like GCC will merge with LLVM. Follow the discussion thread to see key GCC developers agree to the many benefits of using LLVM. And even if LLVM is not folded into GCC, Apple plans to use LLVM as its backend anyway.
"For those of us who aren't Linux geeks :) what was wrong with Azureus before?"
It made RMS sad.
I wince at the thought. The sick f*ck(s) deserves a pat on the back and a six-pack at least. Oh and a pay raise.
/. is good for you.
GCC 4.1.0 hasn't been released, they just branched for 4.1.x. Look at all the regressions left.
I find it funny that we bitch and moan when people compare copyright infringement to theft, but then let comments like the parent's slip. Nothing personal against the parent; just trying to point out the inconsistencies.
It is virtually free to copy and distribute software (though someone has to pay for the bandwidth), and the act of producing one more copy does not use any physical resources.
Hammers and screwdrivers cost money to manufacture and ship, and producing one more uses limited physical resources like wood, plastic, and metal.
Until hammers and screwdrivers are virtually free to reproduce and distribute, and producing one more does not use limited resources, please don't compare apples to oranges.
I am confused. How would this affect a linux install if you recompiled the sources using the new GCC
The philosophical difference RMS describes is quite clear and RMS points it out quite well. The benefits we get from free software are great, but they shouldn't be celebrated at the expense of celebrating the freedom free software gives us for its own sake. You can't "make that group as broad as you want or as narrow as you want" and still convey the same point. People might not know about software freedom, so it's easy to make that mistake without any malicious intent (as I think was the case here). But to set out to refer to programs like GCC—programs written to make software freedom real—in the name of a movement that was built in part to not mention software freedom is ahistorical.
Digital Citizen
Not only that, but it's being sent as "text/html" and has presentation mixed into the markup. Quite nasty.
IANAGCCD (I am NOT a GCC developer ;-))) but AFAIK we should all thanks to RedHat for putting lot of "people-time" (read - money) into GCC and making constant improvements of it!
GCC 4.1 has not been released yet.
A modified version of Classpath has been included with GCJ since 3.2.
Azureus may start in GIJ 4.0, but won't work properly because it relies on parts of the Sun JDK which aren't completely implemented yet in GCJ.
So are there any benchmarks for this release? And I don't mean the stupid, irrelevant compilation time benchmarks, just some application performances measured after compiling with 4.1 & other compilers. This is where the 4.0 totally sucked, even compared to 3.x (sigh).
GCC 4.1 has not been released yet.
/. standards. Guess I don't need to waste any further time on this article since it's TOTAL BUNK. Congrats, "editors".
A modified version of Classpath has been included with GCJ since 3.2.
Azureus may start in GIJ 4.0, but won't work properly because it relies on parts of the Sun JDK which aren't completely implemented yet in GCJ.
Thank you for posting some actually useful and accurate information, which is exactly what I was looking for after the extraordinary claims of this poster. Looks like the original poster really went off half-cocked, even beyond most
If only I had a subscription, so I could request a refund...
Ermmm, can this compile Java to 100% native code? I thought that was the point of GCJ.
P2P Anonymous Distributed Web Search: http://www.yacy.net/
Can somebody confirm that azureus works on latest gcj, i really doubt that. I tried azureus with lates jamvm + classpath 0.19 and it did not even started. Blamed that class not found for one com.sun. class, of course free java does not include any com.sun classes.
The 4.1 *branch* was created recently (in fact last week).
The *release* is still months away.
Toon Moene (GCC Steering Committee).
the page does not mention fortran. Has there been new improvements since 4.0?
Dan Berlin is one of the best known GCC developers. His contributions have been many. Just a few weeks ago he helped transition the project from CVS to Subversion. If he says it hasn't been released, then it hasn't been released.
Cyric Zndovzny at your service.
Where it is released? I don't see it on any ftp server.
It is surprisingly hard to find out what the current release is from the GCC webpages. The front page has a misleading 4.1. Press "Releases", and you get a misleading 3.4.4. You have to go on to the "Development plan", under Future timeline, to find the actual latest and greatest 4.0.2 somewhere down the ASCII art tree.
The most interesting new feature IMO is Objective-C++ support. Should make it a lot easier for the GNUstep folks to port over MacOSX software.
Erik Dalén
Slightly offtopic, but I was wondering this the other day:
Have the *BSDs always been using GCC, or did they use a different compiler in the early days?
Please correct me if I got my facts wrong.
I dont think the grandparent asked for a biographical sketch of Mr. Berlin.
Dan Berlin isn't exactly the only person who works on GCC, so the fact that the webpage, which should be the sole ultimate authoritative source of GCC information is saying something that is contradicting what he is saying is something that needs to be brought to his attention.
No need to get all uppity and act as if he just smited your God.
Lord High Crapflooder The Right Honourable Vlad Craig Esther McDavenpherson III
Destroyer of Mercatur.Net
This is certainly the best post in this thread...not that it's hard to figure though. I mean, you read the title and think "Ah, another time Slashdot ridiculizes itself".
Is it just Azureus, or can you compile all java apps?
> RMS is in error here, but not because he thinks that software designated Free Software ought not be referred to as Open Source software, but because he thinks that anyone cares.
More people than you imagine do care.
I know I do, and I know lots of others do, too.
It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
GCC is a very important piece of open source software, but it is time to see some real progress in C++:
1) type inference and the 'auto' keyword, as it was suggested a while back.
2) real garbage collection. It is not possible to have effective collection without support from the compiler. The Boehm's collector is not a precise collector, because it can not use type information; it is only the compiler that knows such things.
3) a standard library that goes beyond collections, algorithms and files (and is based around garbage collection, mentioned above). We need gui, threads, sockets, XML, etc. Java did it, I see no reason why C++ can not do it. The argument that it is too difficult to do it no longer holds, due to the cross platform toolkits that exist (but none of them is standard or open as GCC).
And I don't want to hear anyone say 'why don't you join GCC to do it yourself', because I have a full-time job working as a C++ programmer and I have barely the time to take a bath, plus it is extremely difficult to enter the GCC development process, due to being highly not-documented (you have to read the sources) and pretty much a closed circle.
is that the last year(s) the GCC dev has fallen into SPEC benchmarks hoax and comparison with ICC. This is a complete waste of developer time and priorities.
You cannot compare gcc and icc. gcc is free software that can compile code for virtualy any architecture out there. icc is a commercial product which specializes in intel hardware and, obviously, since it's sold its developers have spent a lot of time maximizing performance on the SPEC benchmarks.
But gcc produces code of excellent quality for real programs, and well, if AMD is pissed of with intel they can contribute their knowledge on gcc.
It looks like a dick hugging a blanket...
Hey don't shoot the messenger...
Please refer to GCC as Free Software. Open Source is something completely different, and not nearly as inspiring, imho. Moreover, when GCC pretty much started the whole Free Software movement, it deserves a bit more caution in terminology ;)
You can't philosophically be a subset of something you don't philosophically agree with. Free Software is Free Software. Open Source came later, and if anything, is a watered-down version of Free Software.
Not part of the standard (yet) and may change before it becomes standard. G++ already has 'typeof' keyword, no reason to replace one extension by another extension until the standard is finished.
2) real garbage collection.
Again not part of the standard, furthermore it's pretty hard to reconsile the standard's requirements that destructors must execute deterministically with any garbage collection. Standard may be extended to include GC in the future, but for now you have to use a 3rd-party GC, there are several for C++.
3) a standard library that goes beyond collections, algorithms and files
G++ includes TR1 libraries, which is a likely next standard for C++ standard library. Beyond that, you can try Boost for a larger library, but don't expect any compiler to include a library which goes far beyond the standard.
does it get any sweeter than this?
I hate to burst everyone's bubble, but gcc-4.1.0 isn't actually released yet.
As far as I can tell from the web site, they're currently working towards the release (regression fixing). I don't see any gcc-4.1.0.tar.[gz|bz2] files on the mirrors.
This wouldn't be C++ anymore.
But there is a D frontend for GCC
http://digitalmars.com/d/
You claim that Free Software is a subset of Open Source, a more narrow definition.
If that is so, can you give me an example of a piece of software that is Open Source, but not Free Software?
No? That's right. There is no real difference. Free Software and Open Source software are the same subject, explained differently.
As many have pointed out, GCC 4.1 is actually several months away from release. Slashdot "editors" might want to learn about a concept called "fact checking." I'm disturbed by the amount of GCC bashing in this list. I've never met a perfect compiler, and GCC is far superior to many commercial tools I've used. It provides professional-quality C, C++, Objective-C, Fortran 95 (almost), Java, and Ada compilers for dozens of platforms; the code generation is imprefect, but then again so is most of the code GCC is required to compile! The vile lack of appreciation for GCC simply astounds me -- it is the foundation of Free Software. And it is a fine piece of work that is constantly growing and evolving -- though not as fast as Slashdot's headlines might suggest... ;)
All about me
Not part of the standard (yet) and may change before it becomes standard. G++ already has 'typeof' keyword, no reason to replace one extension by another extension until the standard is finished.
'Typeof' and 'auto' are completely different things: 'auto' would be used in place of a type in variable declarations. For example: auto var = 1 + 2;
furthermore it's pretty hard to reconsile the standard's requirements that destructors must execute deterministically with any garbage collection
If it is hard, than make it not hard: why should destructors be executed deterministically? manual memory management will still be there for that reason.
ou have to use a 3rd-party GC, there are several for C++
The only one I know of is the Boehm's collector, which is a very great hack. Trying a search in sourceforge reveals 0 C++ garbage-collection projects. Trying a search in Google even shows my lame attempt for a collector as the 3rd result (!). Further Google results are either bad links, academics pages with lots of theoritical work and even more bad or outdated links, or old implementations mostly for specific Unix flavors.
G++ includes TR1 libraries, which is a likely next standard for C++ standard library. Beyond that, you can try Boost for a larger library
TR1 offers many goodies, and boost even more, but a modern app needs quite a lot more.
but don't expect any compiler to include a library which goes far beyond the standard.
why? just because the C++ commitee is so stubborn? hello? 2005 called and said that a modern language needs modern libraries.
RTTI, Garbage collection, a GC-based class library... sounds like
you'd rather be programming in Java. So why don't you?
I use C++ for high performance real time software. I don't
want GC or libraries which depend on it. If I were writing
software for a bank or something, I'd use Java - it's easier,
and already has all the tools and libraries. Why screw around
with C++ if you don't need performance? And if you do need
performance, why are you using garbage collection and other
stuff which will just turn your C++ compiler into a poor man's
java compiler? I don't get it... use the right tool for the job!
-- Tristan
I just finished up a basic linuxfromscratch with 4.0.1 - dammit. That's ok, I haven't got xorg to compile yet, even with the patches.
GUI? There are QT, GTK, wxWidgets, Motif(sic!), possibly even MFC support.
If you include all these into GCC, you'll get a bloated thing.
If you create something new, people will have more trouble choosing the right toolkit.
If you want gui, threads, sockets, XML, etc., you can try QT - all these in a single relatively small package.
GCC is a very important piece of open source software, but it is time to see some real progress in C++
(list of features snipped)
Why not use a toolkit that gives you much more than a plain STL, something like Qt or Boost. Alternatively, why not use a language and environment that already has those features, like Java?
I can not use Qt because for the following reasons: 1) I am developing commercial products but I can not afford the Qt commercial licence, 2) Qt 4 goes in the wrong direction, relying more and more on the MOC compiler, something which I did not like from the previous version.
Boost does not offer database, gui and xml libraries.
Java is too slow for the applications I am doing.
Wrong...it wouldn't be traditional C++. It would be C++ for the 3rd millenium.
There are no tools that support D...IDEs for example.
Why should I sacrifize a) templates (Java generics are not like C++'s templates), b) enums, c) RAII for having garbage collection? I want all of the above, plus the real-time performance of C++. Furthermore, Java IDEs are very slow.
They've dropped support for tons of architectures that people still use. Many platforms are still stuck with locally-patched, barely functional gcc2 installations because they have nothing else available.
And it doesn't actually produce stable AND well-optimized code. Its more a one or the other kinda deal. There's lots of hard to track down bugs involving GCC optimizations.
You can't have garbage collection and real time behavior at the same time. It's theoretically impossible. Which pretty much proves you don't know what you're talking about. You're just one of those ricer C++ programmers who think that it makes everything faster by default, even though you never actually bother to profile your code, or perform real optimizations like choosing the proper algorithms for the job.
Shouldn't that be the other way around?
my password really is 'stinkypants'
If you are having problems finding where you need to deallocate memory, or are using memory in an invalid manner, I suggest looking into Valgrind. You can run your program through valgrind and it will give you real-time analysis of your program and any invalid memory read/writes you are performing.
The point is, regardless of what the webpage says, that the release has not been made. That fact has been confirmed by one of the most regal GCC developers.
Cyric Zndovzny at your service.
Open Source can become closed source. Free Software cannot. This is why companies have a hard time with Free Software -- they can't own their changes.
[ReidNews]
RMS is in error here, but not because he thinks that software designated Free Software ought not be referred to as Open Source software, but because he thinks that anyone cares.
Actually it is you who are in error here. In this sentence, RMS is not "thinking" anything, he is just promoting freedom. Others like you "think" people don't care about freedom and even equate open source with free software because both are "open". But "open" means nothing if you don't have the freedom to use it, study it, share it and modify it with your peers and ensure these conditions remain in all derivated works.
Openness is good, but not as good as freedom, which includes openness, not the other way around as some people think.
Artix
Your Linux, your init.
As long as you have some means of giving back, some people will always think about misuse, and some people will want you to go back being a mere consumer of whatever they choose to feed you with.
Their real worry is people bypassing the system and doing independent content production and distribution (which destroys their controlled market); and just have the perfect excuse...
Artix
Your Linux, your init.
That is not the point at all.
The point is that the webpage is making conflicting information. This is what the poster is trying to point out, yet you keep reverting to your God-like defense of someone who dared to point out a glaring contradiction. It was very noble (see, I can use your sort of terminology too!) of the poster to point this out so that King Berlin might take a chance to clarify or fix the problem.
How dare anyone question Mr. Berlin! He is even more royaller and Godlier than the entire GCC project itself!
Jesus christ.
Lord High Crapflooder The Right Honourable Vlad Craig Esther McDavenpherson III
Destroyer of Mercatur.Net
(%i1) factor(777353);
(%o1) 777353
I'm Juan Carlitos.
I'm building an easy interpreter using the complex gcc-4.1-20051112.tar.bz2 as my JIT (Just-In-Time) backend compiler using the CFLAGS="-O3 -ffast-math -msse3 -finline-functions ...".
My slow interpreter is very fast with this GCC!!!
It's not the Sun's machine.
Thanks you!
"And I don't want to hear anyone say 'why don't you join GCC to do it yourself', because I have a full-time job working as a C++ programmer and I have barely the time to take a bath, plus it is extremely difficult to enter the GCC development process, due to being highly not-documented (you have to read the sources) and pretty much a closed circle."
And yet you have time to sift through slashdot posts and rant? Well... priorities...
Doesn't that terminate a DOS program, returning 0 as the exit code? It's been awhile.
Different obscure machine language: What does this do? 2C 30 C0
--JoeProgram Intellivision!
Read the legalize of both licenses. I cannot use java for my projects at work (an embedded system), because the license will not allow me to distribute it. For GNU software there are requirements that management doesn't like (but not a big deal as we are careful not to 'taint' our code), but we can distribute it with the product.
Proper C++ does not get buffer overflows. The STL does not allow them. Even with C code, buffer overflows are rare in new code, as programmers have learned the hard way to be careful to prevent them.
Historically buffer overflows have accounted for about half of all successful attacks. Secure programming is much more than buffers, your attitude that it is the most common problem makes it more likely that programmers will ignore the very real security holes that are not buffer related.
Java does not allow RAII, which solves a large class of errors that C++ cannot have.
The bottom line is stupid programmers can write insecure software in any language. Smart programmers look for a language that helps, but they know that even perfect tools can be subverted if they are not careful.
1) type inference and the 'auto' keyword, as it was suggested a while back.
This has been expected of c++0x for some years.
2) real garbage collection. It is not possible to have effective collection without support from the compiler.
Baloney. Several perfectly good portable snap-in garbage collectors are for sale on the open market. Don't confuse "not possible" with "nobody's done it for free yet." Besides, garbage collection behavior by needs must vary between devices with different architectural considerations; what would be right for a cellular phone would be a nightmare on a vector supercomputer, and vice versa. Pervasive garbage collection is anathema to a language whose focus is extreme portability. C and C++ have instead provided language-level modularization so that you can replace new, malloc and so on with your own mechanisms. If that's not good enough, then you need to hit the books.
3) a standard library that goes beyond collections, algorithms and files (and is based around garbage collection, mentioned above). We need gui, threads, sockets, XML, etc.
We must not have GUI, because user interface varies so wildly between machines that C and C++ are intended to target, including machines without user interface. Threads, sockets and XML are all already in Boost, the set of libraries developed specifically for consideration for inclusion into the C++SL and with a large membership reflecting the ISO/IEC standards committee.
The argument that it is too difficult to do it no longer holds
That was never the argument. The argument was and remains that there is no portable way to do such a thing without imposing a rigid ideal for user interface. C and C++ programmers who do embedded programming are frequently appalled by Java. If you've ever used J2ME in a situation where performance is important, you know exactly why this should never be done, and why things like BREW and Symbian fail so hard.
And I don't want to hear anyone say 'why don't you join GCC to do it yourself', because I have a full-time job working as a C++ programmer
So do the rest of us. Hell, I have two, and I make time for several OSS projects, a gaming community and my significant other. Besides, it's not as if implementing something in GCC makes it part of C/C++.
StoneCypher is Full of BS
The one thing that is correct is that the official gcc was growing stagnant. But that was due to the official maintainer, who was (and is, he still contribute to gcc) a great compiler engineer, but a poor free software project leader. The majority of the work was done by Cygnus Support, whose customers were mostly in the embedded arena. Cygnus then decided to open up development based on their own branch, under the name egcs (and with an understanding from FSF), in order to involve more people in the development. It became a huge sucess, and the egcs branch became the official FSF branch.
/. hate-object, ESR's, Cathedral and Bazaar paper), served as an inspiration to move away from the traditional relatively closed FSF style of maintainership.
.com boom, and showed their first profit right after, most of their listed "wins" were in the old Cygnus business area). But the maintainer is from CodeSourcery, who does contract compiler work in a rather wide area. And the main contributor may, somewhat ironically, be Apple, it is certainly their email adress I see most on the developer list. Other than that, HP, IBM and Intel contribute a lot.
The biggest contribution from Linux may be that Linux (together with the favorite
Today, SUSE makes good contributions. So does Red Hat, although it is hard to see which part of those contributions come from the old Cygnus part of the company (Red Hat bought Cygnus during the
G++ allows this: typeof(1 + 2) var = 1 + 2; Not as convenient as auto, but until auto becomes part of the standard, juggling non-standard extensions hardly seems justified.
If it is hard, than make it not hard: why should destructors be executed deterministically? manual memory management will still be there for that reason.
Because a language in which destructors are not executed deterministically is not C++, and G++ is a C++ compiler. Does it mean that such language is "bad"? Of course not. C++ has several strengths, and the standard committee watches above all that any new language features to not destroy those strengths. If you're willing to trade some of these strengths for other features you want, you're looking for a different language. C++ should not try to be the one language to end all languages (we already tried that, remember PL/1?)
The only one I know of is the Boehm's collector, which is a very great hack
There are others, but they are compiler-specific: while not part of the compiler itself, they use the internal knowledge of how a particular compiler, and usually a particular C library, handle memory allocations. Which is exactly what you asked for, a compiler-specific GC.
TR1 offers many goodies, and boost even more, but a modern app needs quite a lot more.
Perhaps modern app, at least the one you're writing, needs a different language then?
why? just because the C++ commitee is so stubborn? hello? 2005 called and said that a modern language needs modern libraries.
And what do you expect G++ developers to do about that? Putting together a library which is even larger than Boost is enormous amount of work, and can only end up one of three ways: nobody uses it, it becomes an standalone project like Boost (because at this point it really has very little to do with the compiler, thus no reason to keep the two projects tied together), or it supplants the standard. The first is a waste of effort, the second is a very worthwhile project but G++ developers are already busy working on one, and the third ... let's just say that if someone knew how to do that, we'd have a larger standard library by now.
By your definition C++ is more safe than Java. C++ when used correctly uses STD:string for all buffer operations, and this makes C++ just as safe as Java. C++ also allows RAII (Java cannot - at least not in a clean way), which makes it safer.
There are several good C string libraries that do not allow buffer overflows. Thus C is now just as safe as Java.
Of course if you are stupid it is slightly easier to create a buffer overflow in C/C++ than Java, but that is not a factor for you. You like safe programs, and stupid programmers will never write safe programs, no matter what the language.
In my experience, the culture of C/C++ is more attuned to security problems, and that helps prevent the rest of the problems. The Java culture in my experience has not learned to pay attention.
BTW, if you like programs done in a secure language, does that mean you insist that everything on you system be written in e?