Live data from Hacker News

GCC 7 Release Series – Changes, New Features, and Fixes

gcc.gnu.org

61–70 of 87 posts

Re: GCC 7 Release Series – Changes, New Features, and Fixes

#61
post #58

Earlier quoted context omitted.

Hmm, I wonder if that's actually true. I don't have GCC 7 anywhere to actually test it, but the documentation[1] states: -Wint-in-bool-context Warn for suspicious use of integer values where boolean values are expected, such as conditional expressions (?:) using non-boolean integer constants in boolean context, like if (a Or left shifting of signed integers in boolean context, like for (a = 0; 1 Likewise for all kind…

I'm guessing (again I can't really test it yet) that it will warn on it and suggest if (int_value != 0) { ... } To be clear about what I mean.

I don't think it will warn for this simple case.

Re: GCC 7 Release Series – Changes, New Features, and Fixes

#62

Earlier quoted context omitted.

Exactly. It's like when evaluating things people just completely forget about the implications of the license they use, in both specific and broad contexts. I use and support GPL products as much as possible, even when a BSDesque product may actually have a few advantages. I'm not 100% on that either, but I try hard to slowly adapt and use truly foss software and get used to the ecosystem mentality changes they requi…

I'd argue the opposite, that GPL style licenses make it easier to hide things in black boxes these days. LLVM and Clang are under BSD style licenses, and even Sony has said that being an active contributor keeps things moving along [1] even when they don't have to contribute back. Plus, most BSD-style code doesn't require things like copyright assignment, which can be a big brake against people from contributing back…

Both MySQL and BDB require either copyright assignment or a CLA.

In contrast, Linux does not and GCC's FSF copyright assignment includes a promise that the software will remain free.

Re: GCC 7 Release Series – Changes, New Features, and Fixes

#63

Earlier quoted context omitted.

Exactly. It's like when evaluating things people just completely forget about the implications of the license they use, in both specific and broad contexts. I use and support GPL products as much as possible, even when a BSDesque product may actually have a few advantages. I'm not 100% on that either, but I try hard to slowly adapt and use truly foss software and get used to the ecosystem mentality changes they requi…

While I personally like the GPL philosophy, I think that its days in protecting free software is numbered. The purpose of the GPL was to encourage companies to publish their software under the GPL (want to use readline, got to use GPL). The long term goal was to create an environment where GPL software was so much better than the alternative that closed-source software would just whither. This made sense in the 1980s…

> Now, on the other hand, nowadays software companies are huge and have huge teams. Even without llvm's academic base, Apple would have enough cash to build it on their own.

Why make it easier for them? Very few companies can be like Apple (and even Apple didn't write everything from scratch). Compromising allows more companies to wrong their users, it's not helpful to treat companies like people -- without a profit motive most companies won't liberate their software.

Re: GCC 7 Release Series – Changes, New Features, and Fixes

#64
post #58

Earlier quoted context omitted.

Hmm, I wonder if that's actually true. I don't have GCC 7 anywhere to actually test it, but the documentation[1] states: -Wint-in-bool-context Warn for suspicious use of integer values where boolean values are expected, such as conditional expressions (?:) using non-boolean integer constants in boolean context, like if (a Or left shifting of signed integers in boolean context, like for (a = 0; 1 Likewise for all kind…

I'm guessing (again I can't really test it yet) that it will warn on it and suggest if (int_value != 0) { ... } To be clear about what I mean.

I've just tested against GCC master and can confirm that -Wint-in-bool-context does not trigger on this very, very standard case.

Per the examples in the documentation, it does trigger when you do something silly like "if (i In fact if you read the documentation and the warning messages more closely, it's looking for suspicious use of integer constants, not integer variables.

Re: GCC 7 Release Series – Changes, New Features, and Fixes

#65
post #43

Earlier quoted context omitted.

My first experience with UB: foo(bar(), bar()); (where bar() was stateful) Discovering that g++ and clang++ compiled to one that did what I wanted and one that didn't was an interesting experience.

That's not UB. Argument evaluation order is unspecified , not undefined.

He meant unspecified behavior. ;)

Re: GCC 7 Release Series – Changes, New Features, and Fixes

#66

Earlier quoted context omitted.

Exactly. It's like when evaluating things people just completely forget about the implications of the license they use, in both specific and broad contexts. I use and support GPL products as much as possible, even when a BSDesque product may actually have a few advantages. I'm not 100% on that either, but I try hard to slowly adapt and use truly foss software and get used to the ecosystem mentality changes they requi…

I'd argue the opposite, that GPL style licenses make it easier to hide things in black boxes these days. LLVM and Clang are under BSD style licenses, and even Sony has said that being an active contributor keeps things moving along [1] even when they don't have to contribute back. Plus, most BSD-style code doesn't require things like copyright assignment, which can be a big brake against people from contributing back…

GPL doesn't require copyright assignment (the two issues are completely separate). And if the original author isn't the only copyright holder, they can't make GPL'd code proprietary either. Which is why going GPL is a benefit for everyone -- nobody can effectively make the software proprietary unless there is only a single copyright holder.

With BSD-style licenses, everyone is also on an equal footing, except that now users have no guarantees that the software they use will be maintained as free software. At any point, a treacherous developer or company could scoop up the talent from the community and make a maintained fork of the project proprietary. The original project dies because of lack of talent and now free software has helped expand the reach of proprietary software.

Note that even with copyright assignments, there are some good ones. The FSFs (optional for projects) copyright assignment has specific wording that guarantees they will always keep the code free (and even go further to state that it will always be copyleft and in keeping with their well-documented philosophy). If I had a single foundation I had to pick to assign my copyright to, it would be the FSF.

Re: GCC 7 Release Series – Changes, New Features, and Fixes

#67
post #45

Earlier quoted context omitted.

Exactly. It's like when evaluating things people just completely forget about the implications of the license they use, in both specific and broad contexts. I use and support GPL products as much as possible, even when a BSDesque product may actually have a few advantages. I'm not 100% on that either, but I try hard to slowly adapt and use truly foss software and get used to the ecosystem mentality changes they requi…

Copyleft software presumes software exists in a vaccum where money and funding aren't an issue in other areas of society.. If everything in computer software is copylefted, the status quo in the rest of the non-software economy persists. Further, examples of AGPL 'free software' for the web backed by the dominant cloud service provider essentially give them an unlimited monopoly on that particular service, since, as…

> If everything in computer software is copylefted, the status quo in the rest of the non-software economy persists.

If every free software project was copylefted, it would be effectively impossible for any company that is smaller than Apple to maintain everything they need to make software proprietary. Want font rendering? Reimplement libharfbuzz. Want to write any C program? Reimplement glibc. And so on.

> Further, examples of AGPL 'free software' for the web backed by the dominant cloud service provider essentially give them an unlimited monopoly on that particular service, since, as copyright holder, they will be the only party able to create a proprietary fork which is better than the competition..

Only if they have a CLA or don't accept any contributions. I can't think of any examples of such AGPL projects, but even with the GPL such projects are quite rare (and CLAs like the FSF actually don't allow them to create proprietary forks). You're just spreading FUD, please stop.

Re: GCC 7 Release Series – Changes, New Features, and Fixes

#68
post #67
post #45

Earlier quoted context omitted.

Copyleft software presumes software exists in a vaccum where money and funding aren't an issue in other areas of society.. If everything in computer software is copylefted, the status quo in the rest of the non-software economy persists. Further, examples of AGPL 'free software' for the web backed by the dominant cloud service provider essentially give them an unlimited monopoly on that particular service, since, as…

> If everything in computer software is copylefted, the status quo in the rest of the non-software economy persists. If every free software project was copylefted, it would be effectively impossible for any company that is smaller than Apple to maintain everything they need to make software proprietary. Want font rendering? Reimplement libharfbuzz. Want to write any C program? Reimplement glibc. And so on. > Further,…

>it would be effectively impossible for any company that is smaller than Apple to maintain everything they need to make software proprietary.

Why does it need to be proprietary in the first place though. I feel like the arguments I am hearing are making assumptions about the desired outcome to support their reasoning.

Re: GCC 7 Release Series – Changes, New Features, and Fixes

#69
post #67

Earlier quoted context omitted.

> If everything in computer software is copylefted, the status quo in the rest of the non-software economy persists. If every free software project was copylefted, it would be effectively impossible for any company that is smaller than Apple to maintain everything they need to make software proprietary. Want font rendering? Reimplement libharfbuzz. Want to write any C program? Reimplement glibc. And so on. > Further,…

>it would be effectively impossible for any company that is smaller than Apple to maintain everything they need to make software proprietary. Why does it need to be proprietary in the first place though. I feel like the arguments I am hearing are making assumptions about the desired outcome to support their reasoning.

Sorry, I don't think my tone was clear. It's a good thing that it would make proprietary software effectively impossible to maintain (I'm a huge proponent of both copyleft and free software). I completely agree with your GP comment. ;)

Re: GCC 7 Release Series – Changes, New Features, and Fixes

#70

Earlier quoted context omitted.

Exactly. It's like when evaluating things people just completely forget about the implications of the license they use, in both specific and broad contexts. I use and support GPL products as much as possible, even when a BSDesque product may actually have a few advantages. I'm not 100% on that either, but I try hard to slowly adapt and use truly foss software and get used to the ecosystem mentality changes they requi…

I'd argue the opposite, that GPL style licenses make it easier to hide things in black boxes these days. LLVM and Clang are under BSD style licenses, and even Sony has said that being an active contributor keeps things moving along [1] even when they don't have to contribute back. Plus, most BSD-style code doesn't require things like copyright assignment, which can be a big brake against people from contributing back…

> I'd argue the opposite, that GPL style licenses make it easier to hide things in black boxes these days. LLVM and Clang are under BSD style licenses,

Where can I download the source code for the specific version of clang used in OSX?

(AFAIK, it is unavailable, which has been a bummer in chasing bugs which show up only in it)

Post reply on HN