Re: fatal error: gnu/stubs-32.h: No such file

2013-07-07 Thread Bruce Korb

On 07/06/13 11:53, Andreas Schwab wrote:

Bruce Korb  writes:


Why is it that configure worked but stubs-32.h was not found?


This is testing the host compiler which doesn't need that file.  You
need to build the target compiler before you can test it.


Sorry, I'm still confused.  I had a fresh openSuSE distro and I
was trying to build GCC from SVN source.  If doing that requires
the installation of 32 bit development package, then I think I
am trying to say that configure should go look for the needed 32
bit dev package and complain.  I am hoping that the developer
responsible for the code trying to include the header would
fiddle the configure script.  I confess to trying to avoid that
kind of fiddling.


Re: List of typos.

2013-07-07 Thread Ondřej Bílka
On Sat, Jul 06, 2013 at 01:14:38PM +0100, Jonathan Wakely wrote:
> I decided to grep for all the misspelled words beginning with A from
> your list and fix the ones that were real errors. That took me an hour
> to produce this patch.  It doesn't include changes to java or fortran,
> as I don't have them checked out in my tree.  After a bootstrap and
> another review I'm going to commit most of these as obvious, but I
> don't really want to spend another ~25 hours doing the rest of the
> alphabet!  :)

I updated my list to be less noisy.

I worked how to make this more efficient. I created patch with obvious cases 
in hour. (only comments in c files though.)

http://kam.mff.cuni.cz/~ondra/gcc_misspell.patch

This approach would benefit from scaling. I could collect sources of
more projects, then fix spelling mistakes repeated thousand times at
once.

Also I would like to find how easily share what we train aspell for
usage in hooks. 

My original idea was to run aspell on file containing only comment which
does not work yet as I do not know how make aspell read stdin (perhaps I
will write custom frontend.).


As alternative I created program on 
https://github.com/neleai/stylepp 
that changes comments in c files in current subtree based on file 
./dictionary (content below).

Now usage is bit complicated, in subtree you want to check you need do
following

PATH/script/stylepp_spellcheck # collect misspells into /tmp/misspells file
cp /tmp/misspells /tmp/replace
aspell /tmp/replace # Now replace misspellings.
PATH/bin/stylepp_make_dictionary /tmp/misspells /tmp/replace > dictionary
PATH/script/stylepp_skeleton stylepp_fix_comment # now fix source tree.


dictionary used is below

abiove   above
accceptedaccepted
accees   access
acceses  accesses
accesor  accessor
accestor accessor
accidently   accidentally
accomodate   accommodate
accompagning accompanying
accordinly   accordingly
accout   account
accretingaccrediting
accumlator   accumulator
accummulatingaccumulating
accummulatorsaccumulators
acessableaccessible
acknowledgement  acknowledgment
actullay actually
acualactual
addesses addresses
additionnal  additional
addreses addresses
addresse addressee
addressibility   addressability
addressings  addressing
adjusmentadjustment
adjustement  adjustment
adjustements adjustments
aggegate aggregate
agggregate   aggregate
aggragateaggregate
aggreagate   aggregate
aggreate aggregate
aggreggate   aggregate
algoritmsalgorithms
algorthm algorithm
aligment alignment
alignement   alignment
alignemntalignment
allcoatedallocated
allocatbale  allocatable
allocatoor   allocator
alltogether  altogether
allways  always
alocatable   allocatable
alocationallocation
alogrithmalgorithm
alrady   already
alreadh  already
alredy   already
alsoneedsalso_needs
alwayalways
amendement   amendment
amoutamount
analagousanalogous
analoguous   analogous
analysed analyzed
analyser analyzer
anwayanyway
apilogue epilogue
appearantly  apparently
apperances   appearances
appereance   appearance
applytingapplying
appoximately approximately
appplyingapplying
approprite   appropriate
approriate   appropriate
arbitary arbitrary
archtiecture architecture
arguements   arguments
arguemtnsarguments
argumet  argument
aribtraryarbitrary
arithmatic   arithmetic
aritmeticarithmetic
arugment argument
arument  argument
assigmentassignment
assigments   assignments
assignemnt   assignment
assignmenassignment
assinmentassignment
associatied  associated
assotiated   associated
asssume  assume
assumpation  assumption
assumtions   assumptions
astericesasterisks
astheticsaesthetics
aswell   as_well
atributesattributes
atrributeattribute
autmatically automatically
avaiable available
availablity  availability
avoidpaste   avoid_paste
awrning  warning
barrer   barrier
beacuse  because
becaause because
becacdd  because
becase   because
becasue  because
becauae  because
becaue   

Re: fatal error: gnu/stubs-32.h: No such file

2013-07-07 Thread Jonathan Wakely
On 7 July 2013 15:00, Bruce Korb  wrote:
> On 07/06/13 11:53, Andreas Schwab wrote:
>>
>> Bruce Korb  writes:
>>
>>> Why is it that configure worked but stubs-32.h was not found?
>>
>>
>> This is testing the host compiler which doesn't need that file.  You
>> need to build the target compiler before you can test it.
>
>
> Sorry, I'm still confused.  I had a fresh openSuSE distro and I
> was trying to build GCC from SVN source.  If doing that requires
> the installation of 32 bit development package, then I think I
> am trying to say that configure should go look for the needed 32
> bit dev package and complain.  I am hoping that the developer
> responsible for the code trying to include the header would
> fiddle the configure script.  I confess to trying to avoid that
> kind of fiddling.

There is no code trying to include the header, GCC doesn't include it
directly, it is included by glibc's  which is included by
other headers GCC uses.

The point is, how do you test for "the needed 32 bit dev package"?
The only way is to try compiling a program as 32-bit, but that can
only be done by the target compiler once it's built, because the host
compiler might not be capable of 32-bit output.


Re: List of typos.

2013-07-07 Thread Jonathan Wakely
On 7 July 2013 15:21, Ondřej Bílka wrote:
>
> I worked how to make this more efficient. I created patch with obvious cases
> in hour. (only comments in c files though.)
>
> http://kam.mff.cuni.cz/~ondra/gcc_misspell.patch

Some of the code fixed by that (boehm-gc, zlib, libsanitizer) is
maintained outside GCC so your patches should go upstream.

I'll apply some of the other fixes though, thanks for the patch.


Re: List of typos.

2013-07-07 Thread Jonathan Wakely
On 7 July 2013 15:21, Ondřej Bílka wrote:
>
> discontiguousdiscontinuous

This one is incorrect - the libstdc++ header is talking about
contiguous memory, not continuous memory (arguably it should be
non-contiguous, but leaving it alone is better than changing it to
discontinuous.)


Re: List of typos.

2013-07-07 Thread Georg-Johann Lay

Ondrej Bilka schrieb:


http://kam.mff.cuni.cz/~ondra/gcc_misspell.patch


This is wrong:

@@ -10834,7 +10834,7 @@ avr_convert_to_type (tree type, tree expr)
XOP[2]  # Bytes to copy

Return TRUE  if the expansion is accomplished.
-   Return FALSE if the operand compination is not supported.  */
+   Return FALSE if the operand compilation is not supported.  */

Should be "combination" not "compilation".


index 406617f..c7a7f7b 100644
--- a/gcc/config/frv/frv-opts.h
+++ b/gcc/config/frv/frv-opts.h
@@ -1,4 +1,4 @@
-/* Frv option-handling defitions.
+/* Frv option-handling deviations.

Should be "definitions" instead of "deviations".


-/* Expand SYMBOL into its corresponding far-addresse symbol.
+/* Expand SYMBOL into its corresponding far-addressee symbol.

Is this correct or should be "far-address"?


@@ -5336,7 +5336,7 @@ pa_print_operand (FILE *file, rtx x, int code)
   && GET_CODE (XEXP (XEXP (x, 0), 1)) == REG)
{
  /* Because the REG_POINTER flag can get lost during reload,
-pa_legitimate_address_p canonicalizes the order of the
+pa_legitimate_address_p canonizes the order of the

I am not sure about this one and many others. "canonicalize" sounds ok 
to me, so does "canonicalization". "canonize" sounds odd to me. For 
example the following which should change none or both:


-/* Canonicalize the filename NAME by canonicalizing directory
+/* Canonicalize the filename NAME by canonizing directory

-   * Unique vinsn derivates from CALL, ASM, JUMP (for a while) and other
+   * Unique vinsn derivatives from CALL, ASM, JUMP (for a while) and other

Shouldn't this be "derives"?


-  /* Merge c_expres found or unify live register sets from different
+  /* Merge c_express found or unify live register sets from different

Some lines above in sel-sched.c there is "C_EXPRes". Again, change none 
or both (none seems fine here):



-  /* Test exponentials and their signs.  A buggy lexer is more likely
+  /* Test exponential and their signs.  A buggy lexer is more likely

Should both be plural or singular. "exponents" sounds good to me.


-   Roger Sayle <...@eyesopen.com>
+   Roger Sayle <...@eyes open.com>

Don't change email addresses!


Johann



Re: List of typos.

2013-07-07 Thread Oleg Endo
On Sun, 2013-07-07 at 19:54 +0200, Georg-Johann Lay wrote:
> Ondrej Bilka schrieb:
> 
> > http://kam.mff.cuni.cz/~ondra/gcc_misspell.patch
> 

Below are some other hunks that look suspicious...
(trying not to duplicate the things already mentioned by others)

- * 1) It means that finalizers, and all methods calle by them,
+ * 1) It means that finalizers, and all methods callee by them,

-> 'called'


-  /*  SET_ACCESS, we want to set an explicte set of permissions, do not
+  /*  SET_ACCESS, we want to set an explicate set of permissions, do not

-> 'explicit'


In Objective-C, there are two additional variants:
 
foreach-statement:
- for ( expression in expresssion ) statement
+ for ( expression in expressions ) statement
  for ( declaration in expression ) statement

Really?  I'm not so sure.


-   configury */
+   configure */

-> 'configury'


-   calll#gettlsoff(ADDR)@(gr8, gr0)
+   call#gettlsoff(ADDR)@(gr8, gr0)


-   calll   #gettlsoff(ADDR)@(gr8, gr0)
+   call   #gettlsoff(ADDR)@(gr8, gr0)

The original 'calll' is correct (see frv.md).


-   have the same priority - candidate is best if its dependees were
+   have the same priority - candidate is best if its dependencies were

-> 'dependees'


-   does not look at other present displacement addressings around it.
+   does not look at other present displacement addressing around it.

-> 'addressings' (as in addressing modes)


-  CM_SMALL,/* Makes various assumpation about sizes of code and
+  CM_SMALL,/* Makes various assumption about sizes of code and

-  CM_SMALL_PIC,/* Makes various assumpation about sizes of code and
+  CM_SMALL_PIC,/* Makes various assumption about sizes of code and

-> 'assumptions'


   /* If we had fewer function args than explicit template args,
- just use the explicits.  */
+ just use the explicit.  */

-> 'explicit ones'


-array reference if the where and elswhere destinations
+array reference if the where and Elsinore destinations

-> 'elsewhere'


-   We provide accestor to the inline_summary datastructure and
+   We provide accessor to the inline_summary datastructure and

-> probably 'ancestor'


-/* The array used to find duplications in conflict vectors of
+/* The array used to find duplication in conflict vectors of

-/* Remove duplications in conflict vector of OBJ.  */
+/* Remove duplication in conflict vector of OBJ.  */

-/* Process operator duplications in insn with ID.  We do it after the
+/* Process operator duplication in insn with ID.  We do it after the

-> 'duplicates' maybe?


-   function we iterate decompressions until no data remains.  */
+   function we iterate decompression's until no data remains.  */

-> 'decompressions'


-   TODO: Make into some kind of configury-generated table.  */
+   TODO: Make into some kind of configure-generated table.  */

-> 'configury-generated'


-point of view as prefetch withouth dependecies will have a
+point of view as prefetch withouth dependencies will have a

-> missed 'without'


-   * Unique vinsn derivates from CALL, ASM, JUMP (for a while) and other
+   * Unique vinsn derivatives from CALL, ASM, JUMP (for a while) and other

-> maybe 'deviates' ?


-/* Find the set of registers that are unavailable for storing expres
+/* Find the set of registers that are unavailable for storing express

-   that are not available for storing expres while moving ORIG_OPS up on the
+   that are not available for storing express while moving ORIG_OPS up on the

-  /* Merge c_expres found or unify live register sets from different
+  /* Merge c_express found or unify live register sets from different


-> maybe 'expression' ?


-/* { dg-final { scan-assembler "calll.*#gettlsoff\\(0\\)" } } */
+/* { dg-final { scan-assembler "call.*#gettlsoff\\(0\\)" } } */

-> see above for the 'calll' frv case.  This breaks the test case.
Do not change things inside /* { } */ comments in test cases.


-/* PR target/50749: Verify that subsequent post-increment addressings
+/* PR target/50749: Verify that subsequent post-increment addressing

-/* PR target/50749: Verify that subsequent pre-decrement addressings
+/* PR target/50749: Verify that subsequent pre-decrement addressing

-/* PR target/50749: Verify that subsequent post-increment addressings
+/* PR target/50749: Verify that subsequent post-increment addressing

-/* PR target/50749: Verify that subsequent pre-decrement addressings
+/* PR target/50749: Verify that subsequent pre-decrement addressing

-> 'addressings' (as in addressing modes)


-   /* For buitins that are likely expanded to nothing or
+   /* For builtin's that are likely expanded to nothing or

-> 'builtins'


BASE must be either a declaration or a memory reference that has correct
-   alignment ifformation embeded in it (e.g. a pre-existing one in SRA).  */
+   alignment ifformation embedded in it (e.g. 

ingilizce konuşma eğitimleri

2013-07-07 Thread istanbul english club

istanbul english club
profesyonel ingilizce konuşma eğitimi merkezi

konuşma kulübü haricinde birebir(özel)eğitimler yine
kayıt ve devam sistemi olmadan devam ediyor...
eğitmenlerin tümü ingiliz ve amerikalı...
2 kişi gel 1 kişi öde sistemi devam etmektedir.
1 saat birebir(özel)ders sadece 45 TL

ingilizce konuşma kulübü devam etmektedir.kayıt ve devam sistemi
yoktur.bir kez katılım(2 saat)ücreti 30 TL dir.

İstanbul English Club Temmuz 2013 Programı
Pazartesi 18:30-20:30 Howell(USA)
Salı 18:30-20:30 Jennifer(USA)
Çarşamba 18:30-20:30 Howell(USA)
Perşembe 18:30-20:30 Lynn(UK)
Cuma 18:30-20:30 Jennifer(USA)
Cumartesi 14:00-16:00 Ronald(USA)
Pazar 14:00-16:00 Zachary(USA)

   istanbulenglishclub.com
   0 212 232 75 54



Re: fatal error: gnu/stubs-32.h: No such file

2013-07-07 Thread Gabriel Dos Reis
On Sun, Jul 7, 2013 at 9:00 AM, Bruce Korb  wrote:
> On 07/06/13 11:53, Andreas Schwab wrote:
>>
>> Bruce Korb  writes:
>>
>>> Why is it that configure worked but stubs-32.h was not found?
>>
>>
>> This is testing the host compiler which doesn't need that file.  You
>> need to build the target compiler before you can test it.
>
>
> Sorry, I'm still confused.  I had a fresh openSuSE distro and I
> was trying to build GCC from SVN source.  If doing that requires
> the installation of 32 bit development package, then I think I
> am trying to say that configure should go look for the needed 32
> bit dev package and complain.  I am hoping that the developer
> responsible for the code trying to include the header would
> fiddle the configure script.  I confess to trying to avoid that
> kind of fiddling.

I have been having this problem since 2001 on SuSE or openSUSE.
For some reason, GCC's build machinery  does not want to
detect at configuration type that there is no stub-32.h file, therefore
there is absolutely no point in trying to do a multilib which would fail.
I have to provide explicitly --disable-multilib; like you, I think we
should not have to do that.

-- Gaby


Re: fatal error: gnu/stubs-32.h: No such file

2013-07-07 Thread Gabriel Dos Reis
On Sun, Jul 7, 2013 at 12:44 PM, Jonathan Wakely  wrote:
> On 7 July 2013 15:00, Bruce Korb  wrote:
>> On 07/06/13 11:53, Andreas Schwab wrote:
>>>
>>> Bruce Korb  writes:
>>>
 Why is it that configure worked but stubs-32.h was not found?
>>>
>>>
>>> This is testing the host compiler which doesn't need that file.  You
>>> need to build the target compiler before you can test it.
>>
>>
>> Sorry, I'm still confused.  I had a fresh openSuSE distro and I
>> was trying to build GCC from SVN source.  If doing that requires
>> the installation of 32 bit development package, then I think I
>> am trying to say that configure should go look for the needed 32
>> bit dev package and complain.  I am hoping that the developer
>> responsible for the code trying to include the header would
>> fiddle the configure script.  I confess to trying to avoid that
>> kind of fiddling.
>
> There is no code trying to include the header, GCC doesn't include it
> directly, it is included by glibc's  which is included by
> other headers GCC uses.
>
> The point is, how do you test for "the needed 32 bit dev package"?
> The only way is to try compiling a program as 32-bit, but that can
> only be done by the target compiler once it's built, because the host
> compiler might not be capable of 32-bit output.

How about not enabling multi lib build by default on targets we now that
will fail anyway?  I have the suspicion this problem is unique to openSUSE,
so we can take care of that.

-- Gaby


gcc-4.9-20130707 is now available

2013-07-07 Thread gccadmin
Snapshot gcc-4.9-20130707 is now available on
  ftp://gcc.gnu.org/pub/gcc/snapshots/4.9-20130707/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 4.9 SVN branch
with the following options: svn://gcc.gnu.org/svn/gcc/trunk revision 200744

You'll find:

 gcc-4.9-20130707.tar.bz2 Complete GCC

  MD5=66ad3f762e7ac34c6a941010c5157892
  SHA1=75c6724424630e8e7d9581422d2f0a8bec215975

Diffs from 4.9-20130630 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-4.9
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: fatal error: gnu/stubs-32.h: No such file

2013-07-07 Thread Jonathan Wakely
On 7 July 2013 21:33, Gabriel Dos Reis wrote:
> How about not enabling multi lib build by default on targets we now that
> will fail anyway?  I have the suspicion this problem is unique to openSUSE,
> so we can take care of that.

I'm pretty sure I've seen it happen with RHEL and Fedora, and Ubuntu
users have asked about the same thing on the gcc-help list.


Re: List of typos.

2013-07-07 Thread Ryan Hill
On Sun, 07 Jul 2013 21:57:05 +0200
Oleg Endo  wrote:


> -  // Randomize the colour, just for asthetics =)
> +  // Randomize the colour, just for aesthetics =)
> 
> -> missed 'color' (in a couple of places actually)

Because that's the correct way of spelling colour.


-- 
Ryan Hillpsn: dirtyepic_sk
   gcc-porting/toolchain/wxwidgets @ gentoo.org

47C3 6D62 4864 0E49 8E9E  7F92 ED38 BD49 957A 8463


signature.asc
Description: PGP signature


Inline virtual call puzzling behaviour

2013-07-07 Thread Thierry Lavoie
Hi,

I've been playing around gcc -flto flag and inlining functionnalities for a
while in search of both optimized performance and full understanding of g++
behavious.

Right now, I'm puzzled by the assembly output produced for that piece of code:

#include 

using namespace std;

class A
{
public:
inline virtual void blah()
{
cout << "A" << endl;
}
};


class B : public A
{
public:
inline virtual void blah()
{
cout << "B" << endl;
}
};

class C
{
public:
void blah()
{
cout << "C" << endl;
}
};

int main(int argc, char** argv)
{
A* ptr = 0;
if(argc == 1)
ptr = new B();
else
ptr = new A();

ptr->blah();

B().blah();
C().blah();
}

I would expect the compiler to be able to inline function blah() when it is
statically called for class B and C but have a VTable resolution for the call
ptr->blah. Here's the relevant assembly code produced by g++ with flags -O3 and
-S:

main:
.LFB976:
.cfi_startproc
subq$24, %rsp
.cfi_def_cfa_offset 32
cmpl$1, %edi
movl$8, %edi
je  .L18
call_Znwm
movq%rax, %rdi
movq$_ZTV1A+16, (%rax)
movl$_ZTV1A+16, %eax
.L16:
call*(%rax)
movq%rsp, %rdi
movq$_ZTV1B+16, (%rsp)
call_ZN1B4blahEv
movl$.LC2, %esi
movl$_ZSt4cout, %edi
call_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
movq%rax, %rdi
call_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_
xorl%eax, %eax
addq$24, %rsp
.cfi_remember_state
.cfi_def_cfa_offset 8
ret
.L18:
.cfi_restore_state
call_Znwm
movq%rax, %rdi
movq$_ZTV1B+16, (%rax)
movl$_ZTV1B+16, %eax
jmp .L16
.cfi_endproc

The puzzling part is to find that the call for C().blah() is indeed inlined and
the ptr->blah() uses a VTable resolution, but the code for B.blah() uses
neither: the static adress is resolved but the code is not inlined! (The same
behaviour occurs if there would be a static-typed pointer to an object of class
B). I understand the compiler propagates the types properly, but even after
determining the correct type for the object of type B, it only resolves the
vtable reference (hence no call *(%..x) ), but cannot perform the inlining.

Question: why ? Can someone explain me the exact order in which the optimization
of g++ are performed and how they interact with each other ? I know this might
be tricky but any small shed of light could be helpfull. Also, did I miss a
flag which would enable g++ to proceed to do the inlining after the resolution
?

>From a practical point of view, I understand this example does not justify by
itself the absolute need for inlining. However, I do have a time-critical
application that would get 25-30% increase in speed if I could solve this
issue. Also, I'm just curious to understand why is this the behaviour of g++
(or if it's actually a bug) because it counter my most primitive intuition and
the beliefs of many people I know.

Thanks in advance for any answer to come.

Kind Regards

--
Thierry Lavoie, B.Ing., M.scA.
PhD. Student, Polytechnique Montreal
Lecturer INF2010: Data Structures and Algorithm
Lecturer LOG3210: Languages and Compilers



Re: fatal error: gnu/stubs-32.h: No such file

2013-07-07 Thread Gabriel Dos Reis
On Sun, Jul 7, 2013 at 6:02 PM, Jonathan Wakely  wrote:
> On 7 July 2013 21:33, Gabriel Dos Reis wrote:
>> How about not enabling multi lib build by default on targets we now that
>> will fail anyway?  I have the suspicion this problem is unique to openSUSE,
>> so we can take care of that.
>
> I'm pretty sure I've seen it happen with RHEL and Fedora, and Ubuntu
> users have asked about the same thing on the gcc-help list.

Ha, if it is that spread then we might have even more reasons to
have it work more generally, for example, by disabling multilib by default.
I think the situation we are in now is very different from the situation
we were in more than a decade ago.

-- Gaby


Re: fatal error: gnu/stubs-32.h: No such file

2013-07-07 Thread Andrew Pinski
On Sun, Jul 7, 2013 at 10:17 PM, Gabriel Dos Reis
 wrote:
> On Sun, Jul 7, 2013 at 6:02 PM, Jonathan Wakely  wrote:
>> On 7 July 2013 21:33, Gabriel Dos Reis wrote:
>>> How about not enabling multi lib build by default on targets we now that
>>> will fail anyway?  I have the suspicion this problem is unique to openSUSE,
>>> so we can take care of that.
>>
>> I'm pretty sure I've seen it happen with RHEL and Fedora, and Ubuntu
>> users have asked about the same thing on the gcc-help list.
>
> Ha, if it is that spread then we might have even more reasons to
> have it work more generally, for example, by disabling multilib by default.
> I think the situation we are in now is very different from the situation
> we were in more than a decade ago.

I think disable multilib by default is a mistake and is a broken
choice for broken distros which don't install the 32bit development by
default when you install the development part.

Thanks,
Andrew


Re: fatal error: gnu/stubs-32.h: No such file

2013-07-07 Thread Gabriel Dos Reis
On Mon, Jul 8, 2013 at 12:19 AM, Andrew Pinski  wrote:
> On Sun, Jul 7, 2013 at 10:17 PM, Gabriel Dos Reis
>  wrote:
>> On Sun, Jul 7, 2013 at 6:02 PM, Jonathan Wakely  
>> wrote:
>>> On 7 July 2013 21:33, Gabriel Dos Reis wrote:
 How about not enabling multi lib build by default on targets we now that
 will fail anyway?  I have the suspicion this problem is unique to openSUSE,
 so we can take care of that.
>>>
>>> I'm pretty sure I've seen it happen with RHEL and Fedora, and Ubuntu
>>> users have asked about the same thing on the gcc-help list.
>>
>> Ha, if it is that spread then we might have even more reasons to
>> have it work more generally, for example, by disabling multilib by default.
>> I think the situation we are in now is very different from the situation
>> we were in more than a decade ago.
>
> I think disable multilib by default is a mistake and is a broken
> choice for broken distros which don't install the 32bit development by
> default when you install the development part.

Why do you think it is a broken choice?

Personally, I don't see anything broken with that.  The world we are
in today is very different from a decade ago.  More than a decade ago,
a multilib build by default -probably- made sense; I don't see that today.

-- Gaby


Re: fatal error: gnu/stubs-32.h: No such file

2013-07-07 Thread Andrew Pinski
On Sun, Jul 7, 2013 at 10:55 PM, Gabriel Dos Reis
 wrote:
> On Mon, Jul 8, 2013 at 12:19 AM, Andrew Pinski  wrote:
>> On Sun, Jul 7, 2013 at 10:17 PM, Gabriel Dos Reis
>>  wrote:
>>> On Sun, Jul 7, 2013 at 6:02 PM, Jonathan Wakely  
>>> wrote:
 On 7 July 2013 21:33, Gabriel Dos Reis wrote:
> How about not enabling multi lib build by default on targets we now that
> will fail anyway?  I have the suspicion this problem is unique to 
> openSUSE,
> so we can take care of that.

 I'm pretty sure I've seen it happen with RHEL and Fedora, and Ubuntu
 users have asked about the same thing on the gcc-help list.
>>>
>>> Ha, if it is that spread then we might have even more reasons to
>>> have it work more generally, for example, by disabling multilib by default.
>>> I think the situation we are in now is very different from the situation
>>> we were in more than a decade ago.
>>
>> I think disable multilib by default is a mistake and is a broken
>> choice for broken distros which don't install the 32bit development by
>> default when you install the development part.
>
> Why do you think it is a broken choice?
>
> Personally, I don't see anything broken with that.  The world we are
> in today is very different from a decade ago.  More than a decade ago,
> a multilib build by default -probably- made sense; I don't see that today.

Maybe on x86 it does not make sense (until x32 comes into play) but
for other targets like MIPS64 or soon AARCH64 it does make sense
because the they both have a 32bit ABI which sites over the 64bit ISA.

I think the problem is still in the distros rather than GCC.

Thanks,
Andrew Pinski


Re: fatal error: gnu/stubs-32.h: No such file

2013-07-07 Thread Gabriel Dos Reis
On Mon, Jul 8, 2013 at 12:59 AM, Andrew Pinski  wrote:
> On Sun, Jul 7, 2013 at 10:55 PM, Gabriel Dos Reis
>  wrote:
>> On Mon, Jul 8, 2013 at 12:19 AM, Andrew Pinski  wrote:
>>> On Sun, Jul 7, 2013 at 10:17 PM, Gabriel Dos Reis
>>>  wrote:
 On Sun, Jul 7, 2013 at 6:02 PM, Jonathan Wakely  
 wrote:
> On 7 July 2013 21:33, Gabriel Dos Reis wrote:
>> How about not enabling multi lib build by default on targets we now that
>> will fail anyway?  I have the suspicion this problem is unique to 
>> openSUSE,
>> so we can take care of that.
>
> I'm pretty sure I've seen it happen with RHEL and Fedora, and Ubuntu
> users have asked about the same thing on the gcc-help list.

 Ha, if it is that spread then we might have even more reasons to
 have it work more generally, for example, by disabling multilib by default.
 I think the situation we are in now is very different from the situation
 we were in more than a decade ago.
>>>
>>> I think disable multilib by default is a mistake and is a broken
>>> choice for broken distros which don't install the 32bit development by
>>> default when you install the development part.
>>
>> Why do you think it is a broken choice?
>>
>> Personally, I don't see anything broken with that.  The world we are
>> in today is very different from a decade ago.  More than a decade ago,
>> a multilib build by default -probably- made sense; I don't see that today.
>
> Maybe on x86 it does not make sense (until x32 comes into play) but

x86 constitutes a large share of GCC community.

> for other targets like MIPS64 or soon AARCH64 it does make sense
> because the they both have a 32bit ABI which sites over the 64bit ISA.

In that case enable multilib by default for those targets for which it makes
sense by default and you know for sure it won't result into a build
failure, instead
of the reverse situation of "well, if it blows, it blows; good luck,
we are crossing
our fingers for you."

> I think the problem is still in the distros rather than GCC.

I strongly disagree.  We (GCC) are at fault here.  We implicitly
enable a feature at configure time without knowing its builds
will succeed (despite having repeated reports that it does often
fail) without much input from the builder (who might be ignorant of
real reason of failures.)  Usually we do the opposite.

-- Gaby


[PATCH] fix typos mandated by conventions.

2013-07-07 Thread Ondřej Bílka
On Sun, Jul 07, 2013 at 04:21:15PM +0200, Ondřej Bílka wrote:
> On Sat, Jul 06, 2013 at 01:14:38PM +0100, Jonathan Wakely wrote:
> > I decided to grep for all the misspelled words beginning with A from
> > your list and fix the ones that were real errors. That took me an hour
> > to produce this patch.  It doesn't include changes to java or fortran,
> > as I don't have them checked out in my tree.  After a bootstrap and
> > another review I'm going to commit most of these as obvious, but I
> > don't really want to spend another ~25 hours doing the rest of the
> > alphabet!  :)
> 

Hi now, when I have infrastructure ready I made another patch (its 500kb so 
link not to overload list). It is here;
http://kam.mff.cuni.cz/~ondra/gcc_misspell_conventions.patch

It uses dictionary made by reading gcc conventions.
http://gcc.gnu.org/codingconventions.html
Only obvious cases are there I could add warning for cases that need
decide if word is noun or adjective etc.


This patch was generated by command

script/stylepp_skeleton stylepp_fix_comment

whose version is following
https://github.com/neleai/stylepp/commit/23ddb7c5857964861abdb524971071488c1a83ba

and following dictionary.

32_bit 32-bit
alpha_numeric alphanumeric
bitfield bit-field
bit_field bit-field
coldfire ColdFire
Coldfire ColdFire
command_line_option command-line_option
enumeral enumerated 
epilog epilogue 
lower_case lowercase
lower-case lowercase
mips MIPS
Mips MIPS
non-zero nonzero
non_zero nonzero
Objective_C Objective-C
prolog prologue
powerpc PowerPC
powerPC PowerPC
PowerPc PowerPC
Redhat Red_Hat
RedHat Red_Hat
sparc SPARC
Sparc SPARC
test_case testcase
test-case testcase
test_suite testsuite
test-suite testsuite
upper_case uppercase
upper-case uppercase
vax VAX
Vax VAX
vaxen VAXen
microvax MicroWAX