|
|||
I believe it was related to GCC not letting people get at the intermediate code.. so that companies couldn't "steal" anything.
It's absurd, but, there are indeed references to it on the gnu mailing lists. http://gcc.gnu.org/ml/gcc-help/2001-11/msg00093.html |
|
||||
Quote:
__________________
My Journal Thou shalt check the array bounds of all strings (indeed, all arrays), for surely where thou typest ``foo'' someone someday shall type ``supercalifragilisticexpialidocious''. |
|
|||
Quote:
The moral of this story is if moving to PCC is important, test, test, test. The quicker PCC becomes robust, the sooner the *BSD family can move away from GNU. We, the community, can help move this process forward by focusing on PCC today. |
|
|||
Quote:
__________________
Many thanks to the forum regulars who put time and effort into helping others solve their problems. |
|
||||
Quote:
If people stop using gcc because there is a better alternative, then that will be a good incentive for the gcc people to make their compiler a better one. AFAIK right now gcc is pretty much the only viable option. There's the intel compiler, but that's not even open source. There's also TenDRA which has been around for quite some time, but that project seems to be inactive for a number of years. I remember there were some efforts to use TenDRA for FreeBSD back in the 3.x or 4.x days. Now there are two viable actively developed project, llvm/clang and pcc...
__________________
UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things. |
|
||||
PCC is not an alternative to GCC. PCC is a Unix system compiler only (C compiler which produces serial machine code only) while GCC is a general purpose compiler which supports variety of languages and many, many knobs. LLVM is a more of a general purpose compiler like GCC but BSDs really have a BIG problem with compilers because there is not a single proprietary compiler supporting any of BSDs (at least officially). There are also some very specialized fantastic open source compilers like Open64 which are not ported to a single BSD. Lack of compilers have truly killed BSDs as a viable scientific computing platform (I mean NetBSD and FreeBSD here since OpenBSD is only a network appliance OS).
|
|
||||
As I understand it, all of them take a bunch of C/C++/... code, and process in such a manner so that the operating system can execute it.
There may be differences in architecture and history, but I don't see any essential difference in function ... Other then that llvm and ppc aren't as far along as gcc on some points (Like the C++ frontend) ... Did I misunderstand something?
__________________
UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things. |
|
||||
Quote:
There was a significant push to remove C++ from base (which resulted in mandoc and a few other new tools) in preparation for the jump to PCC. I wonder if that's truly stalled, or if what we're seeing is just the normal delay in a big task (as this is)? Quote:
|
|
|||
Quote:
Part of me dislikes C++ leaving base, it being one of my favourite languages (someday I'll switch to an OS that's C++ based instead of C based -- maybe Haiku?). On the other hand, g++ as a port is probably better for getting the new language features coming out with C++0x. And it would be cool to have a system compiler that one could realistically read the source code of and understand. |
|
||||
Yes there were. Groff is a general typesetting system created by accretion over the 45 or so years. It is fairly buggy and messy and not really in wide use any more (DrJ is going to kill me for this statement). Mandoc is traditional document preparation system for BSD Unix. It is NOT a general purpose typesetting system (not yet ). It is very simple, very small (Groff is indeed small in its own right comparing to things like TeX), written in C. Groff was hard to maintain in the base. Was not upgraded regularly and flat out obsolete. Now OpenBSD has in ports the latest and the greatest version of Groff and in its base mandoc.
|
|
|||
Quote:
Though one thing I'll say for nroff/groff/whatever over LaTeX is it doesn't barf all this crazy output at you every time you run it. Sorry, this is getting off topic. My point in bringing up the other reasons for mandoc was to say they might be able to remove these other files depending on C++ without undo effort, but don't have enough reason to do it right now. But I'm not sure about that. I don't understand Mesa's relation to the rest of Xorg. Looking at /usr/xenocara/README I see something that suggests perhaps the idea of Mesa as separate module and port is nonsense: "- dist: contains the Mesa sources, shared by lib and xserver above" Hmmm, when I look at a file at random, it doesn't look like particularly modern C++. Maybe as part of the rest of what xenocara does to calm the Xorg build (gee, it looks like the original Xorg now uses SCons which has Python as a dependency -- yuck) they could use cfront to convert it to C and distribute that in cvs parallel to the original source. pcc and cfront in base? Major points for preserving Unix heritage. Then the few OpenBSD developers who like C++ and compilers could play at modernizing cfront over the next 50 years. Or just leave cfront out. It could be used outside the main build only to get to C each new Xorg release. |
|
||||
Oh there are serious differences. By changing options in GCC you can produce for instance code which is highly optimized to be executed in parallel fashion on the multiprocessing machines. PCC doesn't want to do that. When you are compiling driver you just want to produce small, correct, serial machine code which is going to be executed at once.
|
|
||||
Quote:
In Biology for instance you MUST use M$ Word. Full stop. Nobody is going to read anything written in anything else. Groff was used until 1992-3 by O'Reilly to produce its computer manuscripts. Then even O'Reilly who could not stand TeX and always championed Groff switched to essentially a DocBook (their own version) which is also more recently rediscovered as M$ 2007 Office Formats The bottom line is. If you know to use Groff use it. If you don't but you are in the need of the serious text processing tool talk to people in your field before you invest any serious amount of time in learning something. If you want to write mathematics, physics, astronomy and similar subjects do not bother with anything else but TeX. Nobody will even look documents which are not produced in TeX in these fields. Last edited by Oko; 16th April 2011 at 02:12 PM. |
|
||||
Quote:
__________________
My Journal Thou shalt check the array bounds of all strings (indeed, all arrays), for surely where thou typest ``foo'' someone someday shall type ``supercalifragilisticexpialidocious''. |
|
|||
PCC claims to be working towards C99 compliance. I wonder if this means that after a switch, the BSDs would be more likely to use C99 features. Currently OpenBSD devs have to be careful that their code compiles on three different versions of GCC (2.x, 3.x, 4.x)… of course, I don’t know that much about C99 and what new features might actually be useful instead of just “new shiny.”
Quote:
__________________
Many thanks to the forum regulars who put time and effort into helping others solve their problems. |
|
||||
Quote:
Your second remark about OpenBSD developers being careful that their code has to compile on tree different versions of GCC is rather silly. OpenBSD is not Linux. Code is written in the fashion that will compile on any C99 complaint compiler. Full stop. Compiler dependent code and architecture dependent code is big nono and mostly practice by Linux community and industry when it wants to prevent competition. |
|
||||
Quote:
The largest changes to C syntax were around the time of ANSI (~C89), pretty much function prototypes and the modern (everyone uses it) function definition syntax. I'm to young to recall when void replaced char but I've read plenty of old style pre-standard code. C99 from a feature point of view, principally gives additional standard-issue types (long long, complex, etc), variable length arrays, macros that take variable arguments, and C++ like things: // comments, inline functions, and not having to declare variables at the start of a block. There was also a type generic version of the math library added, not that I have ever really needed the traditional math library either. As someone who generally needs to write C code acceptable to both GCC and to Micro$oft's compiler, which is not C99 compliant: the only thing I miss is stdint.h. For projects like OpenBSD however, such an issue is totally irrelevant. Some Open Source developers do exploit C99-specific features though, so a C99 compliant compiler can be useful for porting software. The C99 standard is also a cool read.
__________________
My Journal Thou shalt check the array bounds of all strings (indeed, all arrays), for surely where thou typest ``foo'' someone someday shall type ``supercalifragilisticexpialidocious''. |
|
||||
I am resurecting this almost three year old thread at the moment of great joy for OpenBSD users when Sandmail, BIND, and Apache has been replaced by OpenSMTPd, Unbound/NSD, and Nginx to point the most paintfull fact about OpenBSD and BSDs in general. The lack of a simple serial portable C system compiler. Browsing PCC mailing lists it is paintfull clear that PCC is dead now for almost a year. Reading technical specifications of "alternatives" LLVM (Clang is just a front end) and ACK (Amsterdam Compiler Tollkit) is even more paintful because these are abvously not the kind of compilers suitable for creating system binaries.
|
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
pkg_add_it - new version | DNAeon | FreeBSD Ports and Packages | 5 | 14th November 2010 01:43 AM |
Ports Version associated with FreeBSD version | rtwingfield | FreeBSD Ports and Packages | 4 | 7th June 2010 11:00 PM |
LLVM milestone reached - Clang compiler self-hosts | J65nko | News | 0 | 5th February 2010 03:48 PM |
pop3d: Maximum connection limit reached for ... | kheled | FreeBSD General | 1 | 25th June 2008 05:16 PM |
How I can have two version of zsh | mfaridi | FreeBSD Ports and Packages | 7 | 15th May 2008 05:56 PM |