gcc-7-20180329 is now available

2018-03-29 Thread gccadmin
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

2018-03-29 Thread Katsunori Kumatani
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:

2018-03-29 Thread ADOBE via gcc





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

2018-03-29 Thread Richard Biener
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

2018-03-29 Thread Martin Jambor
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

2018-03-29 Thread Mikhail Maltsev
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

2018-03-29 Thread Joseph Myers
 ... 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

2018-03-29 Thread Joseph Myers
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?

2018-03-29 Thread J Decker
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

2018-03-29 Thread Eric Botcazou
> 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

2018-03-29 Thread Jeff Law
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

2018-03-29 Thread Richard Kenner
> > 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

2018-03-29 Thread Jeff Law
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

2018-03-29 Thread Richard Biener
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

2018-03-29 Thread Eric Botcazou
> 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

2018-03-29 Thread Aaro Koskinen
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.