waits for RMS to get mad https://gcc.gnu.org/ml/gcc/2014-01/msg00247.html
RMS is an idealist. If people actually made what he proposed (envisioned), world would be much better place. It is hard to see the entire impact of Free software and even harder to predict how the world would like if people actually stood up to it but I can say that I am sure we would have: - more secure Internet - more decentralized/distributed Internet - no ISP blocks - much harder if not even impossible NSA spying…
Android NDK: GCC is now deprecated, everyone should be switching to Clang
111–120 of 259 posts
Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang
#112Earlier quoted context omitted.
Some people will never admit they are wrong...
Richard Stallman, however, is correct. (I'm going to get that on a t-shirt, printed in block letters: "Stallman is correct.")
Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang
#113Earlier quoted context omitted.
I can and have patched bugs in my operating system. I have no clue where I'd even start to patch a bug in my hardware.
If you're lucky it's off-chip and your soldering iron and a very sharp knife will come in handy. The problem with 'patching' hardware these days (oh, I'm that old) is that most of the time you'll find your problem is located inside a chip, and it isn't the traces are in planes that you can't access (if you're lucky they might run in a spot where you can dremel through and then cut and solder two small wires to the bu…
Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang
#114Earlier quoted context omitted.
I'm curious, what's wrong with iostream?
How do you internationalize strings built up from multiple string fragments?
void printStuff(ostream Os,
string WarningPart, string SizePart, string EndPart, int Size) {
//The English version might look like:
//"Warning: Size too big (200). Get smaller."
Os
I expect that if I thought about the problem for a few minutes (and was unable to find any C++ i18n libraries) I would come up with something much nicer and easier to use than this thing I spent ten seconds working on. :)Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang
#115Earlier quoted context omitted.
I wonder what kind of world we would have if GNU were completely defeated, if no one released anything under the GPL anymore. Sure, free software would still exist, but nobody would call it "free software" and no one would prevent anyone else from creating non-free derivatives. Nearly all software would be "open core", with some free software here and there but with many or most of the interesting components non-free…
We used to call that "public domain software" and it was big in the 80s from what I recall (I was a kid then). You'd release something to the public domain and people can do with it whatever they wished. Then GNU came around and ate everyone's lunch, for better or worse. I suspect for better. Maybe GNU is just a stop-gap movement to get everyone on board the FOSS train, who knows. BSD licensing hasn't caused any apoc…
This is why rms is the way he is. He's old. He remembers the days when all software was free. He's been trying to get that back ever since.
Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang
#116Earlier quoted context omitted.
Compiler bugs are usually limited to a single compilation unit and are usually submitted by doing a binary search on a pre processed source file. This is certainly true for closed source as well - just redact the (few) symbol names and create something that will compile to an a.out that demonstrates the problem. God saves a puppy anytime someone filed a compiler bug with a trivial test case that demonstrates the prob…
> God saves a puppy anytime someone filed a compiler bug with a trivial test case that demonstrates the problem. The current (r10e) shipping version of clang cannot return 128bit floats from a function. #include int main(int c, char **v) { std::stringstream("1.5"); double x; s >> x; return x == 1.5 ? 0 : 1; } EDIT: You don't need "long double" in the above. double (or float) will show the problem. The standard librar…
#include
#include
int main(int c, char **v) {
std::stringstream s("1.5");
double x; s >> x;
return x == 1.5 ? 0 : 1;
}
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin15.2.0
Thread model: posixRe: Android NDK: GCC is now deprecated, everyone should be switching to Clang
#117Earlier quoted context omitted.
No it's just his same argument as ever. The GPL specifically addresses RMS' issues of software freedom. Choosing a different license ignores the topic of software freedom as defined by the FSF. That's all he is saying. Look the GPL is a hard choice. It is very unfriendly to a developer who is looking to make a living on their code, since it makes selling that code as an artifact. It's not impossible but much more com…
> Look the GPL is a hard choice. It is very unfriendly to a developer who is looking to make a living on their code, since it makes selling that code as an artifact. It seems like you accidentally a word somewhere in here, but know that you can charge ANY price you want for compiled software distributed under the terms of the GPL. Your only requirement is to -upon request from one to whom you have distributed your so…
My point was it complicates the business model of selling software artifacts since the GPL does not prevent downstream dissemination of the source so long as the GPL is not violated. So the fairly common business of selling a binary blob of functionality that ceases to legally be useful after the license expires falls down with GPL licensed software.
I suppose one might argue the GPL holds hostage a commercial software ecosystem that favors software sellers over software buyers. But well that's really the point.
And I think that's what angers people. It's certainly the impetus behind Open Source.
Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang
#118I'm not sure if this will stoke a flamewar, because I've never seen a discussion here on this (might just be hanging around different articles). Is there any technical reason to prefer clang over gcc other than ideological reasons? I get the modular nature of llvm is useful, but is the android NDK using this feature? Quick google search shows clang lagging gcc in all but one test[0] at least on Intel Broadwell. Again…
I don't know much about Android NDK, but in general, people use clang because: - Clear and readable diagnostics -- especially useful when debugging nasty C++ template stuff where the type signature is a page long. (GCC is catching up in this area) - Modular design -- if an IDE wants to have syntax highlighting or an Xcode/Eclipse/IntelliJ like "fix it" feature, they can use the clang frontend to parse the code. Also,…
egcs, on the other hand, was a much needed kick in performance and features of gcc, but had the negative of making it harder to maintain and understand.
lcc was a good example of moving back into the simple compiler design, but it seemed to have stayed more in academia.
Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang
#119Earlier quoted context omitted.
I'm curious, what's wrong with iostream?
I dunno, I think bit shifting a string to write to a file is pretty unreadable, not to mention C already has rock-solid string formatting options. It's an miasma of operator abuse built into "hello world".
If you have a fundamental misunderstanding of the meaning of an operator, it's pretty easy to fail to correctly read a section of code.
Maybe you're someone who hates operator overloading. If so, that's a pity. It's a useful power tool. [0]
[0] Yes, all power tools can be abused. That conversation is tired and not worth revisiting.
Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang
#120The sad thing is that "easy to link and embed" and "permissive license" really didn't have to go together like they did in LLVM. GCC could have provided a library that made it easy to do code generation or compiler development. That library could still have used the GPL, so that only Free Software could use it. Some of the work that has happened around LLVM wouldn't have happened around such a library, but some of it…