Re: hard typdef - proposal - I know it's not in the standard

2013-01-28 Thread Jonathan Wakely
On 28 January 2013 06:18, Alec Teal wrote:
> the very
> nature of just putting the word "hard" before a typedef is something I find
> appealing

I've already explained why that's not likely to be acceptable, because
identifiers are allowed before 'typedef' and it would be ambiguous.
You need a different syntax.

> That is why I'd want both, but at least in my mind n3515 would be nearer to
> "if I really wanted it I could use classes" than the hard-typedef.

I've already said N3515 is not about classes.

It can be used to define strong typedefs for classes, which is needed
because most types in real C++ programs are class types, but it also
works for scalar types.


Re: Initial Stack Padding?

2013-01-28 Thread Matt Davis
Thanks Ian,

On Mon, Jan 28, 2013 at 4:32 PM, Ian Lance Taylor  wrote:
> On Sat, Jan 26, 2013 at 5:44 PM, Matt Davis  wrote:
>> This question is similar to my last; however, I think it provides a
>> bit more clarity as to how I am obtaining offsets from the frame
>> pointer.  I have an RTL pass that is processed after expand passes.  I
>> keep track of a list of stack allocated variables.  For each VAR_DECL,
>> I obtain the DECL_RTL rtx.  Since these variables are local, the RTL
>> expression reflects an offset from the stack frame pointer.  For
>> instance, the variable 'matt':
>>
>> (mem/f/c:DI (plus:DI (reg/f:DI 20 frame)
>> (const_int -8 [0xfff8])) [0 matt+0 S8 A64])
>>
>> I interpret this as being -8 bytes away from the frame pointer, when
>> the function 'matt' has scope in is executing.  Since 'matt' is a
>> pointer, and the stack grows downward (x86), and this is a 64-bit
>> machine, the contents of 'matt' end at the frame pointer and span 8
>> bytes below the frame pointer to where the first byte of 'matt'
>> begins.  This is fine in some cases, but if I were to rewrite the
>> source and add a few more variables.  It seems that there might be a
>> few words of padding before the data for the first variable from the
>> stack pointer begins.  If I were to add a 4 byte integer to this
>> function, 'matt' would still be declared in RTL as above, but instead
>> of really being -8 it is actually -32.  Where do the 24 bytes of
>> padding between the frame pointer and the last byte of 'matt' come
>> from?   Further, how can I find this initial padding offset at compile
>> time?  I originally thought that the offset in the rtx, as above,
>> would reflect this stack realignment, but it appears not to.
>
> The frame pointer in RTL is a notional frame pointer.  It need not
> correspond to any actual hardware register.  In fact most processors
> distinguish the soft frame pointer from the hard frame pointer, and
> most permit eliminating the frame pointer entirely and just using the
> stack pointer.
>
> I'm not sure how to answer the rest of your paragraph because I'm not
> sure which frame pointer you are talking about.  E.g., which one do
> you mean when you mention -32?  If you are talking about x86_64 then I
> guess you are seeing the fact that the stack must be aligned according
> to -mpreferred-stack-boundary, which defaults to a 16 byte boundary.

To clarify, the RTL tells me that the frame pointer is -8 bytes from
the notional RTL frame pointer.  The -32 is the actual distance from
the the hardware register at runtime on my x86_64.  Actually, looking
at my test now, the RTL tells me that the 'matt' pointer -8 bytes from
RTL's notional frame pointer, and the next integer stack variable 'x'
is -12 away.  At runtime 'matt' is in fact -24 bytes away and 'x' is
-28.  So there are two words between the actual hardware frame pointer
and the data for the first  local on the stack. So my hunch was right,
it does seem to be an effect of stack alignment.  If I were to look at
the final RTL dump, I do not see an -8 as what the VAR_DECL's RTL data
told me, but I do see in the final RTL dump the -24, which is what I
expect:

(insn 5 2 6 4 (set (mem/f/c:DI (plus:DI (reg/f:DI 6 bp)
(const_int -24 [0xffe8])) [0 matt+0 S8 A64])
(const_int 0 [0])) test.go:4 62 {*movdi_internal_rex64}
 (nil))

It seems that I have made a bad assumption; that the notional RTL soft
frame pointer represents the stack alignment.  Anyways, I'm  hoping
that there is a way, during my RTL pass using just the VAR_DECL, that
I can determine where the local is from the frame pointer.  I just
need to figure out how the RTL block just above is calculated, and use
that offset in my RTL pass instead of the data in VAR_DECL's RTL node.

Thanks again Ian for your reply.


-Matt


Re: hard typdef - proposal - I know it's not in the standard

2013-01-28 Thread Alec Teal

On 28/01/13 10:41, Jonathan Wakely wrote:

On 28 January 2013 06:18, Alec Teal wrote:

the very
nature of just putting the word "hard" before a typedef is something I find
appealing

I've already explained why that's not likely to be acceptable, because
identifiers are allowed before 'typedef' and it would be ambiguous.
You need a different syntax.


That is why I'd want both, but at least in my mind n3515 would be nearer to
"if I really wanted it I could use classes" than the hard-typedef.

I've already said N3515 is not about classes.
You keep missing the point of what I mean by "like classes" I mean in 
terms of achieving the result, PLEASE think it though.


It can be used to define strong typedefs for classes, which is needed
because most types in real C++ programs are class types, but it also
works for scalar types.






Re: hard typdef - proposal - I know it's not in the standard

2013-01-28 Thread Robert Dewar

On 1/28/2013 6:48 AM, Alec Teal wrote:

On 28/01/13 10:41, Jonathan Wakely wrote:

On 28 January 2013 06:18, Alec Teal wrote:

the very
nature of just putting the word "hard" before a typedef is something I find
appealing

I've already explained why that's not likely to be acceptable, because
identifiers are allowed before 'typedef' and it would be ambiguous.
You need a different syntax.


That is why I'd want both, but at least in my mind n3515 would be nearer to
"if I really wanted it I could use classes" than the hard-typedef.

I've already said N3515 is not about classes.

You keep missing the point of what I mean by "like classes" I mean in
terms of achieving the result, PLEASE think it though.


I have read this thread, and I see ZERO chance of this proposal being
accepted for inclusion into gcc at the current time.

Feel free to create your own version of gcc that has this feature (that
after all is what freedom in software is about) and promote it elsewhere
but it is really a waste of time to debate it further on this list.

The burden for non-standard language extensions in gcc is very high.
The current proposal is ambiguous and flawed, and in any case does not
begin to meet this high standard.

I think this thread should be allowed to RIP at this stage.



Bug repositories

2013-01-28 Thread Igor Kovacevic
Hello,
I'm a master student and I'm writing my thesis on bug triaging in open
source project and I wondering if I can access to a big part of the
bug repository,
if I can, how to do it ?
Writing a crawler/parser for bugzilla or something else?
I need 5 to 8 years of development.

Thanks a lot,

Igor K.


Re: vec.h vs. --enable-gather-detailed-mem-stats

2013-01-28 Thread Diego Novillo
On Sun, Jan 27, 2013 at 7:09 AM, Steven Bosscher  wrote:

> Is this a known issue?

No, thanks for the report.  I'll try to see what's going on (though
you may need to ping me in a few days).


Diego.


Re: Bug repositories

2013-01-28 Thread Ian Lance Taylor
On Mon, Jan 28, 2013 at 6:48 AM, Igor Kovacevic
 wrote:
>
> I'm a master student and I'm writing my thesis on bug triaging in open
> source project and I wondering if I can access to a big part of the
> bug repository,
> if I can, how to do it ?
> Writing a crawler/parser for bugzilla or something else?
> I need 5 to 8 years of development.

As you know, we use bugzilla for GCC.  I don't know what facilities
bugzilla provides for analysis of the bug database.  That would be
something to ask the bugzilla developers about.  I'm willing to
provide you with a dump of gcc's bugzilla database if you can give me
the exact command to run.

It's fine to crawl the bugzilla web pages as long as you throttle your
crawler.  If you download pages as fast as you can we will wind up
blocking you.

Ian


Re: gcc : c++11 : full support : eta?

2013-01-28 Thread Jason Merrill

On 01/23/2013 01:48 AM, Franz Fehringer wrote:

What does this mean for the Concurrency section, it has 8xNo at the moment?


I need to go back over that section, but I think it's just inaccurate.

Jason




Re: Bug repositories

2013-01-28 Thread Frédéric Buclin
(Igor jumped into the Bugzilla developers IRC channel, so that's why I
heard about this thread.)

Ian said:

"I'm willing to provide you with a dump of gcc's bugzilla database if
you can give me the exact command to run."


Sorry, but I have to object! It's not ok to give anyone a plain dump of
the GCC Bugzilla database for studies or any other reason without some
sanity check. The Bugzilla database contains all the user account
passwords and preferences, as well as group permissions. Such a copy of
the DB would give the possibility to try to crack the passwords locally,
though the encryption is supposed to be very secure. This means that a
local access to the DB allows one to skip throttling when someone starts
typing the wrong password again and again, decreasing the time needed to
crack passwords. Moreover, having access to group permissions means to
be able to know who are admins and to try to abuse these accounts in GCC
Bugzilla itself. This is a security breach.

Bugzilla offers no special tools to generate a sanitized copy of the DB,
so one shouldn't try to create a dump of the DB and spread it without a
very good knowledge of Bugzilla internals.


LpSolit


Aspectos Criticos a Considerar de los Salarios Caidos

2013-01-28 Thread Lic. Carolina Moo Aldana.
Aspectos Críticos a Considerar de los SALARIOS CAÍDOS

¿Dónde se llevará a cabo?
Lugar: Su computadora.
Fecha: 11 de Febrero de 2013.
Duración: 3 Horas.
Horario: De 10:00 a.m a 1:00 p.m. (Hora del Centro de México).

Toda empresa u organización en México se encuentra inmersa en un trascendental 
cambio impuesto por la Ley Federal del Trabajo. La limitación de los salarios 
caídos vislumbra un nuevo panorama referente a los conflictos de las relaciones 
laborales, por lo que en caso de una resolución desfavorable al empleador se 
deberá desembolsar hasta un periodo máximo de 12 meses de salarios vencidos 
computados desde la fecha de despido.

Conozca las opciones que el trabajador tiene ante sí en caso de acudir a la 
Junta de Conciliación y Arbitraje por "despido injustificado"; cómo evitar 
pagar el tope de los salarios caídos; cómo se calculan los intereses a cubrir 
en caso de que el juicio se prolongue más de 12 meses; cuándo los salarios 
caídos dejan de ser válidos; multas, sanciones y todo lo referente para 
garantizar su estabilidad empresarial.

Adquiera el folleto completo y sin compromiso, solo responda este correo con 
asunto "Folleto Salarios Caidos" y a la brevedad lo recibirá! o llámenos sin 
costo alguno al 01800-212-93.93

Reciba un muy cordial saludo!

Lic. Carolina Moo Aldana.
Líder de Proyectos

Para darte de baja g...@gnu.org y no recibir ningún tema de nuestra empresa, 
envíe un correo con asunto Nomasinfo




Re: Bug repositories

2013-01-28 Thread Ian Lance Taylor
On Mon, Jan 28, 2013 at 11:51 AM, Frédéric Buclin  wrote:
> (Igor jumped into the Bugzilla developers IRC channel, so that's why I
> heard about this thread.)
>
> Ian said:
>
> "I'm willing to provide you with a dump of gcc's bugzilla database if
> you can give me the exact command to run."
>
>
> Sorry, but I have to object! It's not ok to give anyone a plain dump of
> the GCC Bugzilla database for studies or any other reason without some
> sanity check. The Bugzilla database contains all the user account
> passwords and preferences, as well as group permissions. Such a copy of
> the DB would give the possibility to try to crack the passwords locally,
> though the encryption is supposed to be very secure. This means that a
> local access to the DB allows one to skip throttling when someone starts
> typing the wrong password again and again, decreasing the time needed to
> crack passwords. Moreover, having access to group permissions means to
> be able to know who are admins and to try to abuse these accounts in GCC
> Bugzilla itself. This is a security breach.
>
> Bugzilla offers no special tools to generate a sanitized copy of the DB,
> so one shouldn't try to create a dump of the DB and spread it without a
> very good knowledge of Bugzilla internals.

Yes, of course it would not be appropriate to hand out any user information.

If bugzilla doesn't have a way to dump just the bug info then I guess
crawling is the only way.

Ian


Loading Gimple from file

2013-01-28 Thread Chassin
is there any function allows loading Gimple output from file and create 
the internal Gimple structure ?


--
Chaddy Huussin Vazquez , chas...@ceis.cujae.edu.cu

Superior Polytechnic Institute ‘Jose Antonio Echeverrıa’
Informatics Engineering Faculty



48 Aniversario del Instituto Superior Politecnico Jose Antonio Echeverria, Cujae
Una obra de la Revolucion Cubana | 2 de diciembre de 1964 | http://cujae.edu.cu



Consulte la enciclopedia colaborativa cubana. http://www.ecured.cu


Re: Loading Gimple from file

2013-01-28 Thread Ian Lance Taylor
On Mon, Jan 28, 2013 at 1:46 PM, Chassin  wrote:
> is there any function allows loading Gimple output from file and create the
> internal Gimple structure ?

Not to my knowledge, but see http://gcc.gnu.org/wiki/GimpleFrontEnd .

Ian


Re: Loading Gimple from file

2013-01-28 Thread Chassin

On 01/28/2013 05:25 PM, Ian Lance Taylor wrote:

On Mon, Jan 28, 2013 at 1:46 PM, Chassin  wrote:

is there any function allows loading Gimple output from file and create the
internal Gimple structure ?

Not to my knowledge, but see http://gcc.gnu.org/wiki/GimpleFrontEnd .

Ian



Thnx Ian i was looking for something like that ;)


--
Chaddy Huussin Vazquez , chas...@ceis.cujae.edu.cu

Superior Polytechnic Institute ‘Jose Antonio Echeverrıa’
Informatics Engineering Faculty



48 Aniversario del Instituto Superior Politecnico Jose Antonio Echeverria, Cujae
Una obra de la Revolucion Cubana | 2 de diciembre de 1964 | http://cujae.edu.cu



Consulte la enciclopedia colaborativa cubana. http://www.ecured.cu


gcc 4.7.3 plans?

2013-01-28 Thread Kenny Simpson
There have been quite a few fixes on the 4.7 branch since 4.7.2 was released 4 
months ago and several of the remaining regression bugs have fixes in trunk.

What are the plans for 4.7.3?

thanks,
-Kenny



problem inserting new function to cgraph

2013-01-28 Thread Chassin
Hi again , this time i am trying to clone a function then insert it with 
new name


sample code 

struct cgraph_node *old_node = util_get_cgnode_by_name((char *)user_data);
struct cgraph_node *new_node ;

tree old_decl = old_node->decl;
tree new_decl = copy_node(old_decl);


// Changing the name 
DECL_STRUCT_FUNCTION (new_decl) = NULL;
DECL_NAME (new_decl) = clone_function_name (old_decl, "_X");
SET_DECL_ASSEMBLER_NAME (new_decl, DECL_NAME (new_decl));
SET_DECL_RTL (new_decl, NULL);
new_node = cgraph_clone_node (old_node, new_decl, 
old_node->count,CGRAPH_FREQ_BASE, 0, false,NULL);

cgraph_add_new_function(new_decl,false);


this is hooked to PLUGIN_ALL_IPA_PASSES_END , but its raises an error in 
the line ( cgraph_add_new_function ) , why ?


--
Chaddy Huussin Vazquez , chas...@ceis.cujae.edu.cu

Superior Polytechnic Institute ‘Jose Antonio Echeverrıa’
Informatics Engineering Faculty



48 Aniversario del Instituto Superior Politecnico Jose Antonio Echeverria, Cujae
Una obra de la Revolucion Cubana | 2 de diciembre de 1964 | http://cujae.edu.cu



Consulte la enciclopedia colaborativa cubana. http://www.ecured.cu