gcc-7-20180329 is now available
Snapshot gcc-7-20180329 is now available on ftp://gcc.gnu.org/pub/gcc/snapshots/7-20180329/ and on various mirrors, see http://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 7 SVN branch with the following options: svn://gcc.gnu.org/svn/gcc/branches/gcc-7-branch revision 258966 You'll find: gcc-7-20180329.tar.xzComplete GCC SHA256=63d091a2b97464bb5cfc21b38e8bea3e09aed88a48e33953812bbe2a40f08e68 SHA1=e855997db1457295c214ac0f5f2947163a4a84e3 Diffs from 7-20180322 are available in the diffs/ subdirectory. When a particular snapshot is ready for public consumption the LATEST-7 link is updated and a message is sent to the gcc list. Please do not use a snapshot before it has been announced that way.
Re: GCC contribution
On Thu, Mar 29, 2018 at 8:01 PM, Mikhail Maltsev wrote: > On Wed, Mar 28, 2018 at 11:15 PM, Katsunori Kumatani > wrote: >> >> For example, I wanted to add some plugin processing (actually a top-level >> asm statement) at the end of a translation unit (with gathered data) to add >> some special symbols / GAS directives (not instructions). But there's no >> "normal" plugin event for this. >> >> So instead I simply saved the original lang_hooks.parse_file hook >> (pointer), overrode the hook with the plugin's, which calls the original >> first and then does whatever plugin does. And it works fine. This kind of >> thing wouldn't be easily changed with virtual methods I believe. > > I think this would be pretty straightforward: you will need a single plugin > event, which would allow you to provide your own instance of a class derived > from lang_hooks. You could then inherit a new class from the lang_hooks > class in the frontend and override any of its virtual methods. > > -- > Regards, >Mikhail Maltsev But the point is that, when I first started using this "trick" with overriding hooks, there was no such functionality. I'm not saying that adding it is a bad thing! I'm only saying that, in this context, C hooks are easier to change without having to account for special plugin code (which did not exist). For example what if someone else comes up with another idea like that (but which has no workaround yet), but he can't do it anymore and has to request a change? Most people would probably give up on their plugin ideas at this point. I mean, most hooks don't even have a "this" pointer or object, I don't see why making them virtual would be better anyway, especially since it's *only one* object we're talking about? (one global variable). Function pointers obviously bloat things up if there's a lot of instances of the class/struct, but this is not the case, so they make more sense in this case than virtual methods IMO.
Thank you for paying from the Adobe Store. Here are details about your Payment:
October 31 October 31, 2013 Your Payment confirmation Dear g...@gnu.org Thank you for paying from the Adobe Store. Here are details about your Payment: Adobe ID: g...@gnu.org Order number: AD010031934 Payment date: March 24, 2018, Products ordered: Qty Product 1 Adobe Full Pack 12 (Windows, English) Total purchase amount: US $269.99 click to download/view order copy ORDER INFORMATION You purchased a download version of our product. Follow the instructions below to start using it today: Login into Your Account with the Adobe ID: g...@gnu.org In the My Orders page, locate order AD010031934 with the date March 26, 2018, and expand the order to view the details. Start your download by clicking on the 'Download' button. After you have completed the download process, your serial number will be displayed in the download center. You can log back into 'My Adobe' in the future to re-download your product or retrieve your serial number. Please refer to the download policy for terms and conditions. For help with downloading and installing your product, visit the Download and Installation Support center. Get started using Adobe tools immediately. We offer a wide range of additional services to help you get started. Training - From online training to instructor-lead courses, books to live seminars and events, Adobe helps you get the skills you need. Online forums - Find peer-to-peer discussions of Adobe products. Log in today! ORDER SERVICES Check the order status page to address any questions about your order. Have questions? Check out our list of Frequently Asked Questions. My Adobe - Update your communication preferences or change your email address. Thanks again for ordering from the Adobe Store. Best regards, The Adobe Store Team
Re: Selective scheduling and its usage
On March 29, 2018 5:14:42 PM GMT+02:00, Eric Botcazou wrote: >> Are you suggesting we should not care about regressions with features >> that are not enabled by default or which are only exposed with >> "non-standard" flags? The current scheme on which bugs get P1/P2/P4+ >> assigned is quite simple... > >I'm only suggesting keeping them at P3, which is not "don't care" as >far as I >know but just the default priority. The criterion could be a flag that >is not >part of any -Ox switches and not enabled on any primary+secondary >platforms. That's basically having primary / secondary / rest passes (or command line switches) which we would need to document as such. Let's discuss this at the Cauldron - I'm certainly not going to block the release over a selective scheduling bug... Richard.
Re: Google Summer of Code 2018: Call for mentors and ideas
Hi, I was wondering how much I should announce publicly about GSoC proposals since students are not supposed to know in advance that we want any particular one before they are officially accepted or not by google, but I hope I will not overstep any line by saying the following: (I am willing to invite any GCC contributer among the mentors, then you can look at the proposals at the GSoC "dashboard" website. You need gmail account for that, however.) On Thu, Mar 29 2018, Joseph Myers wrote: > Now the student application deadline has, I understand, passed, how do we > go about collectively deciding which are the best proposals to request > slots for? GCC has received 11 proposals for projects, but 7 of them were clearly unsuitable (two were completely blank, one was a link to a live google document with the string "WIP" in it, one contained only a short CV of the applicants, one was three lines suggesting we use a "linked list" and "hash tags" for memory management, there was also a proposal for driver able to compile C and python in different sections of a single file, and one proposal was just spam or an elaborate report on some past java project, I cannot tell) and 2 were inferior to the point that I also decided they should not be considered. None of these two was discussed on the mailing list and both were basically copied text from an (outdated) wiki page. The remaining two are strong candidates, both proposals were discussed at length here on the mailing list and so I asked for two student slots. My plan forward is basically to sincerely hope that we get two. If we get only one (IIRC we will know on April 10th), I will bring this question up here (but let's just toss a coin in that case). Generally speaking, I am somewhat disappointed that one or two topics that were also discussed on the mailing list did not eventually turn up among the proposals. I should have probably pinged one student and perhaps also two gcc developers a bit in order to make them come up with something. It also did not help that I was traveling to an important meeting in the US last week (and I had much less time for email than I thought I would). Nevertheless, it is mostly students' responsibility to come up with good projects and there is only so much we can do about it. However, if the community decides I should be the admin also next year, I believe I will be able to organize it slightly better. Martin
Re: GCC contribution
On Wed, Mar 28, 2018 at 11:15 PM, Katsunori Kumatani < katsunori.kumat...@gmail.com> wrote: > For example, I wanted to add some plugin processing (actually a top-level > asm statement) at the end of a translation unit (with gathered data) to add > some special symbols / GAS directives (not instructions). But there's no > "normal" plugin event for this. > > So instead I simply saved the original lang_hooks.parse_file hook > (pointer), overrode the hook with the plugin's, which calls the original > first and then does whatever plugin does. And it works fine. This kind of > thing wouldn't be easily changed with virtual methods I believe. > I think this would be pretty straightforward: you will need a single plugin event, which would allow you to provide your own instance of a class derived from lang_hooks. You could then inherit a new class from the lang_hooks class in the frontend and override any of its virtual methods. -- Regards, Mikhail Maltsev
Re: Google Summer of Code 2018: Call for mentors and ideas
... looking at the actually submitted proposals, I see most of the people who contacted the mailing list have not actually submitted anything in the end, so the selection of proposals to get slots should be straightforward after all. -- Joseph S. Myers jos...@codesourcery.com
Re: Google Summer of Code 2018: Call for mentors and ideas
Now the student application deadline has, I understand, passed, how do we go about collectively deciding which are the best proposals to request slots for? -- Joseph S. Myers jos...@codesourcery.com
Re: would you review the srcy programming language?
Somewhat like assembly meets c99 /javascript with maybe an extended preprocessor macro system (#declr? ) pointers rarely contain a single value, they either reference an array, or a group of values. In the case of the latter, the pointerVarName.FieldName pair specifies to get the value, and then any manipulation of pointerVarName is always updating the pointer... so there isn't really a need to have two operators to do that I'm not neutral; I have VESL on my mind. VESL is like blockly/scratch/snap/... except also able to create objects (structures with elements). I've recently come to re-learn javascript from a 2017 perspective, and have come to learn that really the type of data in a variable is always determined by the value that's put into the variable. Have it be any other type than that type would catch developer errors; but with proper habits I don't have the tendency to put a integer value in a field that should be holding a string. Even before learning JS I knew JSON for websocket communication. JSON defines 3 types ( okay there's actually like 7 but...). { "stringValue": "String", "numValue" : 1234, "object" : { }, "realNumValue" : 1234.0e-3, "nothing" : null "yesNo" : true/false (keywords) } For specific microoptimizaitons of space (like you need a whole bunch of values that are only 0-255, specifying a byte type can be useful). int(float), void*, bool. and struct userTypes *, and [] are the only types I've been using for the last 15 years developing in C. That and decoding network protocols made up of bytes, shorts, etc, type information can be useful. Javascript (since ES5/6) has had TypedArray, which gives you optimal uint8Array so you can have a string of packed bytes in memory, and the JIT gets to generate fast code to access it without boxing it into integer types always; This is required for things like Three.jS (Really WebGL ) to work... sending vertex information from javascript in packed float arrays to C++ Code to openGL driver eventually... Not that everything can entirely be done in JS. I have a C++ addon that provides many system abstractions that Node doesn't; but making an API for javascript to utilize is almost eaiser than making an API for C/C++ to use, because in JS you can just make one of the objects, and dump it to see what fields/methods it has (right then and there). so with JSON I get named variables and values, so I don't need 'var', and there are no parenthesis in JSON (outside of quotes). So there are no functions/expressions. so simply saying { myFunction : (args... ) { ... } } means I don't need the function keyword, and the definition of a function is always a name (paren) (args) (closeparen) followed by a code block. If there is no code block after it (it's a close statemtn like , or ; ... or it's an operator, then it is a call, and the arguments are expressions instead of name definitions for the function code block. What I lose then... is without var or function, I can't really use let or const. https://github.com/d3x0r/VESL/blob/master/vesl.md But then, as a VPL (visual programming language) I really want to use text as little as possible. Typing in names to create lables for blocks then allows me to have a visual representaiton of that for later use, so I only need to type each name for each class once and then I don't have to represent 'function' 'profcedure' 'this returns a value' 'this doesn't' ... On Mon, Mar 19, 2018 at 8:36 PM, wce teky wrote: > hi! > > i'm the dotre, and i am designing a programming language, > you may be interested at, it is general purpose, structured, > imperative, data-driven and autonomous; i have already its > syntax and very brief introduction as documentation. it is > documented with google docs, but it can be downloaded > with a browser as plain text. > > see you! > > https://drive.google.com/drive/folders/1jf_iP9F_Iz_dGSYUzx9Xz-Od24qkchMH >
Re: Selective scheduling and its usage
> Are you suggesting we should not care about regressions with features > that are not enabled by default or which are only exposed with > "non-standard" flags? The current scheme on which bugs get P1/P2/P4+ > assigned is quite simple... I'm only suggesting keeping them at P3, which is not "don't care" as far as I know but just the default priority. The criterion could be a flag that is not part of any -Ox switches and not enabled on any primary+secondary platforms. -- Eric Botcazou
Re: Selective scheduling and its usage
On 03/29/2018 04:15 AM, Eric Botcazou wrote: >> I noticed there are quite many selective scheduling PRs: >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84872 >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84842 >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84659 >> >> and many others. > > Right, and some of them are P1/P2, which doesn't really make sense IMO. I'm of the opinion we should deprecate the selective scheduler. IA64 is a don't care and while it works on other targets, I don't think it's getting significant use in the wild -- and it's a significant maintenance burden release to release. I haven't pushed much on it because I'm slammed with a ton of other stuff, but I just don't see that selective-scheduling on the right side of the cost/benefit analysis. jeff
Re: GCC contribution
> > GCC steering community I count on you and speaking behalf other > > developers to keep GCC as close to C as possible for at least the next > > 1000 years. > > We've already made a decision to use C++ when it makes sense. That ship > sailed years ago. I don't see "keeping GCC as close to C as possible" and "using C++ when it makes sense" as contradictory. In fact, they sound pretty close to the same thing to me.
Re: GCC contribution
On 03/29/2018 12:56 AM, Andre Groenewald wrote: > The heart of GCC should remain pure C as far as possible, for the very > same reason the Linux kernel is only in C. Deviate from this, and in a > few years we will end up with Java as the programming language of GCC. > > It is the duty of the steering community and our leaders in GCC to be > very conservative in this regard. > > Please I don't want to oppose someone’s proposal, I want the people to > understand reason of being conservative in this regard, because they > will end up being the leaders of GCC in the following generations. > > GCC steering community I count on you and speaking behalf other > developers to keep GCC as close to C as possible for at least the next > 1000 years. We've already made a decision to use C++ when it makes sense. That ship sailed years ago. jeff
Re: Selective scheduling and its usage
On Thu, Mar 29, 2018 at 12:15 PM, Eric Botcazou wrote: >> I noticed there are quite many selective scheduling PRs: >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84872 >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84842 >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84659 >> >> and many others. > > Right, and some of them are P1/P2, which doesn't really make sense IMO. Are you suggesting we should not care about regressions with features that are not enabled by default or which are only exposed with "non-standard" flags? The current scheme on which bugs get P1/P2/P4+ assigned is quite simple... Richard. > -- > Eric Botcazou
Re: Selective scheduling and its usage
> I noticed there are quite many selective scheduling PRs: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84872 > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84842 > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84659 > > and many others. Right, and some of them are P1/P2, which doesn't really make sense IMO. -- Eric Botcazou
Successful bootstrap and install of gcc (GCC) 7.3.0 on mips64el-unknown-linux-gnu
Hi, Here's a report of a successful build and install of GCC: $ gcc-7.3.0/config.guess mips64el-unknown-linux-gnu $ newcompiler/bin/gcc -v Using built-in specs. COLLECT_GCC=newcompiler/bin/gcc COLLECT_LTO_WRAPPER=/home/aaro/gcctest/newcompiler/libexec/gcc/mipsel-unknown-linux-gnu/7.3.0/lto-wrapper Target: mipsel-unknown-linux-gnu Configured with: ../gcc-7.3.0/configure --with-arch=loongson2f --with-abi=32 --with-fp-32=xx --enable-targets=all --disable-nls --prefix=/home/aaro/gcctest/newcompiler --enable-languages=c,c++ --host=mipsel-unknown-linux-gnu --build=mipsel-unknown-linux-gnu --target=mipsel-unknown-linux-gnu --with-system-zlib --with-sysroot=/ Thread model: posix gcc version 7.3.0 (GCC) -- Build environment -- host: fuloong-minipc distro: los.git rootfs=f34e7 native=f34e7 kernel: Linux 4.16.0-rc6-lemote-los_8b7b6 binutils: GNU binutils 2.30 make: GNU Make 4.2.1 libc: GNU C Library (GNU libc) stable release version 2.27. zlib: 1.2.11 mpfr: 4.0.1 gmp: 60102 -- Time consumed -- configure: real0m 20.33s user0m 11.37s sys 0m 6.53s bootstrap: real53h 35m 25s user49h 17m 15s sys 3h 18m 39s install:real16m 52.84s user6m 33.29s sys 7m 38.64s -- Hardware details --- MemTotal: 493696 kB system type : lemote-fuloong-2f-box machine : Unknown processor : 0 cpu model : ICT Loongson-2 V0.3 FPU V0.1 BogoMIPS: 528.38 wait instruction: yes microsecond timers : yes tlb_entries : 64 extra interrupt vector : no hardware watchpoint : yes, count: 0, address/irw mask: [] isa : mips1 mips2 mips3 ASEs implemented: shadow register sets: 1 kscratch registers : 0 package : 0 core: 0 VCED exceptions : not available VCEI exceptions : not available A.