[Bug testsuite/36443] [4.3/4.4 Regression]: HOSTCC doesn't work with unstalled gcc

2008-06-09 Thread jakub at gcc dot gnu dot org


--- Comment #15 from jakub at gcc dot gnu dot org  2008-06-09 06:59 ---
Unless you can find a way to localize those environment changes only to 
the tested compiler (by setting/restoring them around every call to the 
compiler being tested for example), HOSTCC must set/clear all the 
environment variables that it uses.

Unfortunately, $HOSTCC is invoked from tcl, not from shell, so e.g. sticking
unset GCC_EXEC_PREFIX; into $HOSTCC doesn't work.

The patch I've posted a few days ago temporarily removes it from the
environment for $HOSTCC invocations in struct-layout-1.exp.  Other than that,
ALT_*_UNDER_TEST might contain a host compiler, so similar unsetting/setting
would be needed in c-compat.exp too.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36443



[Bug bootstrap/33781] [4.3/4.4 Regression] Arg list too long building libgcc.a

2008-06-09 Thread Ralf dot Wildenhues at gmx dot de


--- Comment #18 from Ralf dot Wildenhues at gmx dot de  2008-06-09 08:33 
---
AFAICS this bug has a workaround patch applied, and may be worked around
by modifying IRIX default settings.

Are you still interested in a proper fix that avoids manual chunking?
It looks like the write_entries_to_file tricks in libjava/Makefile.am
can be applied in this case as well.  Should I look into it?


-- 

Ralf dot Wildenhues at gmx dot de changed:

   What|Removed |Added

 CC||Ralf dot Wildenhues at gmx
   ||dot de


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33781



[Bug bootstrap/36472] Small config.gcc buglet to check for enable_cld

2008-06-09 Thread Keller at hlrs dot de


--- Comment #1 from Keller at hlrs dot de  2008-06-09 09:00 ---
Created an attachment (id=15739)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15739action=view)
Patch for gcc/config.gcc

The check for enable_cld in gcc/config.gcc is not correct, when $enable_cld
evaluates to empty.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36472



[Bug fortran/36463] [4.4 Regression] ICE in expand_expr_real_1, at expr.c:7264 with rev.136554

2008-06-09 Thread dominiq at lps dot ens dot fr


--- Comment #2 from dominiq at lps dot ens dot fr  2008-06-09 09:07 ---
reduced test case:

module other_fun
   use ISO_C_BINDING
   implicit none
   private
! Message to be returned by procedure pointed to
! by the C_FUNPTR
   character, allocatable, save :: my_message(:)
! Interface block for the procedure pointed to
! by the C_FUNPTR
   public abstract_fun
   abstract interface
  function abstract_fun(x)
 use ISO_C_BINDING
 import my_message
 implicit none
 integer(C_INT) x(:)
 character(size(my_message),C_CHAR) abstract_fun(size(x))
  end function abstract_fun
   end interface
   contains
! Procedure to store the message and get the C_FUNPTR
  function gp(message) bind(C,name='BlAh')
! procedure(abstract_fun) make_mess
 character(kind=C_CHAR) message(*)
 type(C_FUNPTR) gp
 integer(C_INT64_T) i

 i = 1
 do while(message(i) /= C_NULL_CHAR)
i = i+1
 end do
 my_message = message(int(1,kind(i)):i-1)
 gp = get_funloc(make_mess,aux)
! gp = aux(make_mess)
  end function gp

! Intermediate procedure to pass the function and get
! back the C_FUNPTR
  function get_funloc(x,y)
 procedure(abstract_fun) x
 type(C_FUNPTR) y
 external y
 type(C_FUNPTR) get_funloc

 get_funloc = y(x)
  end function get_funloc

! Procedure to convert the function to C_FUNPTR
  function aux(x)
 interface
subroutine x() bind(C)
end subroutine x
 end interface
 type(C_FUNPTR) aux

 aux = C_FUNLOC(x)
  end function aux

! Procedure pointed to by the C_FUNPTR
  function make_mess(x)
 integer(C_INT) x(:)
 character(size(my_message),C_CHAR) make_mess(size(x))

 make_mess = transfer(my_message,make_mess(1))
  end function make_mess
end module other_fun


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36463



[Bug fortran/36463] [4.4 Regression] ICE in expand_expr_real_1, at expr.c:7264 with rev.136554

2008-06-09 Thread dominiq at lps dot ens dot fr


--- Comment #3 from dominiq at lps dot ens dot fr  2008-06-09 09:09 ---
Withe following patch the ICE is changed to 

pr35971_red.f90:33.25:

 gp = get_funloc(make_mess,aux)
1
Error: Type/rank mismatch in argument 'x' at (1)

--- /opt/gcc/_gcc_clean/gcc/fortran/resolve.c   2008-06-08 11:16:33.0
+0200
+++ /opt/gcc/gcc-4.4-work/gcc/fortran/resolve.c 2008-06-09 10:57:13.0
+0200
@@ -7912,7 +7912,7 @@
  sym-attr.dimension = ifc-attr.dimension;
  sym-attr.recursive = ifc-attr.recursive;
  sym-attr.always_explicit = ifc-attr.always_explicit;
- sym-as = gfc_copy_array_spec (ifc-as);
+ /* sym-as = gfc_copy_array_spec (ifc-as); */
  copy_formal_args (sym, ifc);
}
   else if (sym-ts.interface-name[0] != '\0')


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36463



[Bug bootstrap/36472] New: Small config.gcc buglet to check for enable_cld

2008-06-09 Thread Keller at hlrs dot de



-- 
   Summary: Small config.gcc buglet to check for enable_cld
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: Keller at hlrs dot de
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36472



[Bug target/36473] New: Generate bit test (bt) instructions

2008-06-09 Thread ubizjak at gmail dot com
According to Intel Technology Journal [1], page 270, bt instruction runs 20%
faster on Core2 Duo than equivalent generic code.

---Qoute from p.270---
The bit test instruction bt was introduced in the i386™
processor. In some implementations, including the Intel
NetBurst® micro-architecture, the instruction has a high
latency. The Intel Core micro-architecture executes bt in
a single cycle, when the bit base operand is a register.
Therefore, the Intel C++/Fortran compiler uses the bt
instruction to implement a common bit test idiom when
optimizing for the Intel Core micro-architecture. The
optimized code runs about 20% faster than the generic
version on an Intel Core 2 Duo processor. Both of these
versions are shown below:

C source code
  int x, n;
  ...
  if (x  (1  n)) ...

Generic code generation
  ; edx contains x, ecx contains n.
  mov eax, 1
  shl eax, cl
  test edx, eax
  je taken

Intel Core micro-architecture code generation
  ; edx contains x, eax contains n.
  bt edx, eax
  jae taken
---/Quote---

I have a patch in testing that implements suggested optimization for
TARGET_USE_BT (including core2) targets.

[1] Inside the Intel® 10.1 Compilers: New Threadizer and New
Vectorizer for Intel® Core™2 Processors, Intel Technology Journal, Vol. 11,
Issue 4, November 15, 2007,
http://download.intel.com/technology/itj/2007/v11i4/1-inside/1-Inside_the_Intel_Compilers.pdf


-- 
   Summary: Generate bit test (bt) instructions
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ubizjak at gmail dot com
GCC target triplet: x86


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36473



[Bug c++/36474] New: gcc takes forever to compile a certain file

2008-06-09 Thread fm3 at os dot inf dot tu-dresden dot de
Compiling VirtualBox with gcc version 4.3.1 the C++ compiler takes forever
running at 100% when compiling the file VBoxManage.c. It compiles fine with -O0
but takes forever with -O1. I will attach the pre-processed file. This is a
regression since some weeks, sorry, I cannot report the exact version of gcc
4.3 when it started to fail. Older gcc compilers work.

$ gcc -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.1-1'
--with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3
--program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug
--enable-objc-gc --enable-mpfr --enable-targets=all --enable-cld
--enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu
--target=i486-linux-gnu
Thread model: posix
gcc version 4.3.1 (Debian 4.3.1-1)


-- 
   Summary: gcc takes forever to compile a certain file
   Product: gcc
   Version: 4.3.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: fm3 at os dot inf dot tu-dresden dot de
 GCC build triplet: i386-pc-linux-gnu
  GCC host triplet: i386-pc-linux-gnu
GCC target triplet: i386-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36474



[Bug c++/36474] gcc takes forever to compile a certain file

2008-06-09 Thread fm3 at os dot inf dot tu-dresden dot de


--- Comment #1 from fm3 at os dot inf dot tu-dresden dot de  2008-06-09 
10:15 ---
Created an attachment (id=15740)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15740action=view)
VBoxManage.cpp (preprocessed with -E -dD and compressed) from current
VirtualBox SVN.

If you compile this file with

g++ -c -o foo.o -O0 -fshort-wchar VBoxManage.cpp

it will be compiled successfully. It you compile it with

g++ -c -o foo.o -O1 -fshort-wchar VBoxManage.cpp

(gcc 4.3.1) the g++ compiler will loop forever (aborted after 5 minutes).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36474



[Bug bootstrap/32272] make exit because build/genmodes.exe doesn't exist

2008-06-09 Thread Ralf dot Wildenhues at gmx dot de


--- Comment #8 from Ralf dot Wildenhues at gmx dot de  2008-06-09 11:02 
---
(In reply to comment #7)
 I am currently using GCC4.2.1 and the same problem still exist as described.
[...]
 build/genmodes -h  tmp-modes.h
 /bin/sh: build/genmodes: No such file or directory
 make[3]: *** [s-modes-h] Error 127
[...]
 Please advise on how to solve the above problem. Or is it a known bug?

Have you ever started configure and make within the source tree?
As as consequence of that, if the directory $top_srcdir/host-$host_noncanonical
exists, then that would lead to the above error when later building outside
of the source tree  (replace the variables $top_srcdir and $host_noncanonical
with whatever fits your setup, e.g., ../gcc-4.2.1/host-i686-pc-linux-gnu).

A solution would be to remove that directory, then remove the build tree
and start afresh.


-- 

Ralf dot Wildenhues at gmx dot de changed:

   What|Removed |Added

 CC||Ralf dot Wildenhues at gmx
   ||dot de


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32272



[Bug target/36473] Generate bit test (bt) instructions

2008-06-09 Thread ubizjak at gmail dot com


--- Comment #1 from ubizjak at gmail dot com  2008-06-09 11:39 ---
Created an attachment (id=15741)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15741action=view)
Proposed patch

Following code:

--cut here--
void foo (void);

int test (int x, int n)
{
  if (x  (1  n))
foo ();

  return 0;
}
--cut here--

compiles using -O2 to:

test:
subl$12, %esp
movl16(%esp), %eax
movl20(%esp), %ecx
sarl%cl, %eax
testb   $1, %al
je  .L2
callfoo
.L2:
xorl%eax, %eax
addl$12, %esp
ret

With attached patch, following code is produced:

test:
subl$12, %esp
movl20(%esp), %edx
movl16(%esp), %eax
btl %edx, %eax
jnc .L2
callfoo
.L2:
xorl%eax, %eax
addl$12, %esp
ret

Attached patch doesn't have TARGET_USE_BT insn predicates, and it generates bt
instructions by default. It was used to bootstrap gcc on i686-pc-linux-gnu,
where it converts 1800 shift-and-test sequences into eqivalent bt instruction.

The patch as is was bootstrapped and regression tested on x86_64-pc-linux-gnu
as well as i686-pc-linux-gnu.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36473



[Bug target/36473] Generate bit test (bt) instructions

2008-06-09 Thread ubizjak at gmail dot com


--- Comment #2 from ubizjak at gmail dot com  2008-06-09 11:41 ---
Mine, the patch needs testcases.

2008-06-09  Uros Bizjak  [EMAIL PROTECTED]

* config/i386/predicates.md (bt_comparison_operator): New predicate.
* config/i386/i386.md (*btdi_rex64): New instruction pattern.
(*btsi): Ditto.
(*jcc_btdi_rex64): New instruction and split pattern.
(*jcc_btsi): Ditto.
(*jcc_btsi_1): Ditto.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ubizjak at gmail dot com
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-06-09 11:41:11
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36473



[Bug c/36455] gcc 3.4.6 evaluates wrong size for dynamic size arrays (hence binaries compiled with it can yield wrong results or even segfault)

2008-06-09 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2008-06-09 12:03 ---
Fixed.  Please re-open if you happen to reproduce this with a still maintained
version.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36455



[Bug c++/36474] gcc takes forever to compile a certain file

2008-06-09 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2008-06-09 12:22 ---
Seems to be stuck processing

int handleModifyVM(int, char**, ComPtrIVirtualBox, ComStrongRef,
ComPtrISession, ComStrongRef)


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org
   Keywords||compile-time-hog, memory-hog


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36474



[Bug c++/36474] GCC takes forever to compile a certain file

2008-06-09 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2008-06-09 12:58 ---
Confirmed.  -fno-inline fixes it, but not -fno-tree-fre or
-fno-tree-dominator-opts.  --param max-fields-for-field-sensitive=0 fixes it
(disabling SFTs and field-sensitive PTA) as well.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-06-09 12:58:01
   date||
Summary|gcc takes forever to compile|GCC takes forever to compile
   |a certain file  |a certain file


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36474



[Bug c++/36474] GCC takes forever to compile a certain file

2008-06-09 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2008-06-09 13:01 ---
Created an attachment (id=15742)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15742action=view)
unincluded testcase


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36474



[Bug c++/36474] GCC takes forever to compile a certain file

2008-06-09 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2008-06-09 13:02 ---
We can fix -O1 for 4.3.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-06-09 12:58:01 |2008-06-09 13:02:04
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36474



[Bug tree-optimization/36474] [4.3 Regression] GCC takes forever to compile a certain file

2008-06-09 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c++ |tree-optimization
  GCC build triplet|i386-pc-linux-gnu   |
   GCC host triplet|i386-pc-linux-gnu   |
 GCC target triplet|i386-pc-linux-gnu   |i?86-*-*
  Known to fail||4.3.1
  Known to work||4.2.4 4.4.0
Summary|GCC takes forever to compile|[4.3 Regression] GCC takes
   |a certain file  |forever to compile a certain
   ||file
   Target Milestone|--- |4.3.2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36474



[Bug c/36470] sizeof UTF-32 is 2 on AVR

2008-06-09 Thread kris dot van dot hees at oracle dot com


--- Comment #1 from kris dot van dot hees at oracle dot com  2008-06-09 
13:25 ---
It sound like AVR will need a different specification for CHAR32_TYPE given
that the default in c-common.c (unsigned int) won't work.  Which would go in
the appropriate file in gcc/config/avr, similar to how WCHAR_TYPE is defined. 
That still won't solve the hardcoded specification of the typedef in the test,
but that is going to be addressed Real Soon Now in an upcoming patch to
provide a macro (by the compiler) for the underlying types that are used for
char16_t and char32_t, which will then be used in the tests to get rid of the
hardcoded underlying type in the typedefs.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36470



[Bug rtl-optimization/36365] [4.3/4.4 Regression] Hang in df_analyze

2008-06-09 Thread jakub at gcc dot gnu dot org


--- Comment #6 from jakub at gcc dot gnu dot org  2008-06-09 13:33 ---
--param df-double-queue-threshold-factor=0 helps, at -O1 with it the testcase
compiled under 45seconds (with standard trunk checking).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36365



[Bug c++/33255] A warning for unused typedefs?

2008-06-09 Thread paolo dot carlini at oracle dot com


--- Comment #12 from paolo dot carlini at oracle dot com  2008-06-09 13:36 
---
Hi Gaby, just a pointer, this is the enhancement PR I was talking about...


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33255



[Bug libgomp/36475] New: [gomp] register keyword in openmp handled for-loop fails

2008-06-09 Thread Klaas dot Vantournhout at UGent dot be
Hi,

Using the register keyword in a for loop which is handled by OpenMP fails to
compile.

Testcase below

g++ -v
Using built-in specs.
Target: x86_64-manbo-linux-gnu
Configured with: ../configure --prefix=/usr --libexecdir=/usr/lib
--with-slibdir=/lib64 --mandir=/usr/share/man --infodir=/usr/share/info
--enable-checking=release
--enable-languages=c,c++,ada,fortran,objc,obj-c++,java
--host=x86_64-manbo-linux-gnu --with-cpu=generic --with-system-zlib
--enable-threads=posix --enable-shared --enable-long-long --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-clocale=gnu --enable-java-awt=gtk
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --enable-gtk-cairo
--disable-libjava-multilib --enable-ssp --disable-libssp
Thread model: posix
gcc version 4.2.3 (4.2.3-6mnb1)

= test code =
#include omp.h

int main() {
#pragma omp parallel for
  for (register int i = 0; i  2; ++i) {
  }
  return 0;
}
== compilation output 
 g++ -fopenmp register.c
register.c: In function ‘int main()’:
register.c:5: error: expected primary-expression before ‘register’
register.c:5: error: expected `;' before ‘register’
register.c:5: error: expected primary-expression before ‘register’
register.c:5: error: expected `;' before ‘register’
register.c:5: error: expected primary-expression before ‘register’
register.c:5: error: expected `)' before ‘register’
register.c:5: error: expected iteration declaration or initialization
register.c:5: error: ‘i’ was not declared in this scope
register.c:5: error: expected `;' before ‘)’ token


-- 
   Summary: [gomp] register keyword in openmp handled for-loop fails
   Product: gcc
   Version: 4.2.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libgomp
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: Klaas dot Vantournhout at UGent dot be


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36475



[Bug fortran/36476] New: Fortran CHARACTER array triggers ICE

2008-06-09 Thread walter dot zimmer at dlr dot de
The following code triggers an ICE even with gfortran 4.3.1:
=
bash$ gfortran -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.3.1/configure --with-pkgversion='DLR MF/AP UPAS
2008-06-09' [EMAIL PROTECTED] --prefix=/local/upas/inst-devel
--enable-languages=c,c++,fortran
--with-gmp-include=/local/upas/compile/gmp-4.2.2
--with-gmp-lib=/local/upas/compile/gmp-4.2.2/.libs
--with-mpfr-include=/local/upas/compile/mpfr-2.3.1
--with-mpfr-lib=/local/upas/compile/mpfr-2.3.1/.libs
Thread model: posix
gcc version 4.3.1 (DLR MF/AP UPAS 2008-06-09)
bash$ cat funny.F
  SUBROUTINE FUNNY_STRINGS

  character*256   STRING

  CHARACTER (len=*) MY_STRING(1:3)
  PARAMETER ( MY_STRING =  (/ A , B, C /) )

  STRING = MY_STRING(1)

  RETURN
  END
bash$ gfortran -c funny.F
funny.F: In function ‘funny_strings’:
funny.F:1: internal compiler error: in gfc_get_symbol_decl, at
fortran/trans-decl.c:1031
=

I suspect this is valid code, but at the end this is not the point as an ICE
should not happen here.

Maybe it's related to bug id 36322, as an array is also used there, but the
line number in gfc_get_symbol_decl is different, so I suspect not.

This ICE is also triggered with gfortran 4.3.0 and 4.1.2.


-- 
   Summary: Fortran CHARACTER array triggers ICE
   Product: gcc
   Version: 4.3.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: walter dot zimmer at dlr dot de
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36476



[Bug c++/33255] A warning for unused typedefs?

2008-06-09 Thread gdr at cs dot tamu dot edu


--- Comment #13 from gdr at cs dot tamu dot edu  2008-06-09 14:06 ---
Subject: Re:  A warning for unused typedefs?

paolo dot carlini at oracle dot com [EMAIL PROTECTED] writes:

| Hi Gaby, just a pointer, this is the enhancement PR I was talking about...

Many thanks, Paolo.

-- Gaby


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33255



[Bug testsuite/36443] [4.3/4.4 Regression]: HOSTCC doesn't work with unstalled gcc

2008-06-09 Thread hjl dot tools at gmail dot com


--- Comment #16 from hjl dot tools at gmail dot com  2008-06-09 14:16 
---
(In reply to comment #9)
 I suspect that if you remove the setting in site.exp you will break the 
 following scenario:
 
 1. User puts libraries/headers in $pefix/{lib,include}

I am not convinced it is the right thing to do. What
are those libraries/headers? Are they from gcc? If yes,
you don't need to do it. If not, can you use --sysroot
to handle non-gcc libraries/headers?

 2. User builds GCC with corresponding --prefix option
 3. User runs make check
 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36443



[Bug c/36468] [LTO] ICE in force_decl_die, at dwarf2out.c:13976

2008-06-09 Thread aldot at gcc dot gnu dot org


--- Comment #2 from aldot at gcc dot gnu dot org  2008-06-09 16:09 ---
Smaller testcase:

extern int dummy(long int *);
void build_range_exp(void)
{
long int cmp_buf[6] = { L'\0', L'\0', L'\0', L'\0', L'\0', L'\0' };

if (dummy(cmp_buf)) {
;
}
}


using a smaller cmp_buf (e.g. 5) makes it compile.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36468



[Bug bootstrap/33100] [4.3/4.4 regression] on bootstrap getting section .eh_frame: bad cie version 0: offset 0x0

2008-06-09 Thread bugzilla-gcc at thewrittenword dot com


--- Comment #17 from bugzilla-gcc at thewrittenword dot com  2008-06-09 
16:23 ---
This bug is fixed in opensolaris: 
http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6685125
Fixed in revision 6388:
http://cvs.opensolaris.org/source/search?q=defs=refs=path=hist=6388project=%2Fonnv

We have filed case #65952072 with Sun to get this backported to Solaris 10.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33100



[Bug c++/36478] New: [4.3/4.4 regression] warning not emitted when code expanded from macro

2008-06-09 Thread tromey at gcc dot gnu dot org
This is a copy of a bug report from Red Hat's bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=449191

The bug is that with mapped locations, the code in check_empty_body
does not notice that the while() from the macro expansion violates the
rule.  This is because of the hack we needed to get decent error messages
with mapped locations -- tokens resulting from a macro expansion are all
given the location of the start of the expansion.


Steps to Reproduce:
1. compile example program:

 cat warn2.cc
int
main(int, char**)
{
#define XXX while(0);
XXX ;
while (0);
}

 g++ -W -Werror -c warn2.cc

Actual results:
cc1plus: warnings being treated as errors
warn2.cc: In function ‘int main(int, char**)’:
warn2.cc:6: error: suggest a space before ‘;’ or explicit braces around empty
body in ‘while’ statement


Expected results:
warn2.cc: In function ‘int main(int, char**)’:
warn2.cc:5: warning: suggest a space before ‘;’ or explicit braces around empty
body in ‘while’ statement
warn2.cc:6: warning: suggest a space before ‘;’ or explicit braces around empty
body in ‘while’ statement


-- 
   Summary: [4.3/4.4 regression] warning not emitted when code
expanded from macro
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tromey at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36478



[Bug fortran/36476] ICE: len=* CHARACTER array with separate PARAMETER statement

2008-06-09 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2008-06-09 16:40 ---
CONFIRM. The failing assert is:
  gcc_assert (!sym-value);

Work around: Use the following syntax
   CHARACTER (len=*), PARAMETER :: MY_STRING(1:3) = (/ A , B, C /)

or explicitly give the length of the character length:
   CHARACTER (len=1) MY_STRING(1:3)


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  GCC build triplet|x86_64-unknown-linux-gnu|
   GCC host triplet|x86_64-unknown-linux-gnu|
 GCC target triplet|x86_64-unknown-linux-gnu|
   Keywords||ice-on-valid-code
   Last reconfirmed|-00-00 00:00:00 |2008-06-09 16:40:32
   date||
Summary|Fortran CHARACTER array |ICE: len=* CHARACTER array
   |triggers ICE|with separate PARAMETER
   ||statement


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36476



[Bug preprocessor/36479] New: Short buffer in libcpp

2008-06-09 Thread hjl dot tools at gmail dot com
[EMAIL PROTECTED] prev-gcc]$ cat foo.ii
# 1 /net/gnu-13/export/gnu/src/gcc/gcc/gcc/testsuite/g++.dg/pch/pch.C
# 1 built-in
# 1 command-line
# 1 /net/gnu-13/export/gnu/src/gcc/gcc/gcc/testsuite/g++.dg/pch/pch.C


int main()
{
  return 0;
}
[EMAIL PROTECTED] prev-gcc]$ valgrind --tool=memcheck ./cc1plus -fpreprocessed 
foo.ii
-quiet -dumpbase foo.ii -m32 -mtune=generic -auxbase pch -O2 -version -o foo.s
==6304== Memcheck, a memory error detector.
==6304== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==6304== Using LibVEX rev 1804, a library for dynamic binary translation.
==6304== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==6304== Using valgrind-3.3.0, a dynamic binary instrumentation framework.
==6304== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==6304== For more details, rerun with: -v
==6304== 
GNU C++ (GCC) version 4.4.0 20080609 (experimental) [trunk revision 136589]
(x86_64-unknown-linux-gnu)
compiled by GNU C version 4.4.0 20080609 (experimental) [trunk revision
136589], GMP version 4.2.2, MPFR version 2.3.0-p4.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 9e36edea0acfb287d81f6630c10d1047
==6304== Invalid read of size 1
==6304==at 0x4A07B24: strlen (mc_replace_strmem.c:242)
==6304==by 0x693EB2: output_file_directive (toplev.c:680)
==6304==by 0x7AE7E8: x86_file_start (i386.c:23343)
==6304==by 0x694DA4: toplev_main (toplev.c:1343)
==6304==by 0x39D3C1E329: (below main) (in /lib64/libc-2.8.so)
==6304==  Address 0x4cb7d01 is 0 bytes after a block of size 65 alloc'd
==6304==at 0x4A074D1: realloc (vg_replace_malloc.c:429)
==6304==by 0xA0313C: xrealloc (xmalloc.c:179)
==6304==by 0x9D22AC: cpp_interpret_string (charset.c:1392)
==6304==by 0x9D2860: cpp_interpret_string_notranslate (charset.c:1416)
==6304==by 0x9D624A: do_linemarker (directives.c:956)
==6304==by 0x9D4BB4: _cpp_handle_directive (directives.c:483)
==6304==by 0x9DCE6E: cpp_read_main_file (init.c:536)
==6304==by 0x4D9947: c_common_post_options (c-opts.c:1174)
==6304==by 0x694309: toplev_main (toplev.c:1660)
==6304==by 0x39D3C1E329: (below main) (in /lib64/libc-2.8.so)
==6304== 
==6304== Invalid read of size 1
==6304==at 0x693114: output_quoted_string (toplev.c:652)
==6304==by 0x693F03: output_file_directive (toplev.c:695)
==6304==by 0x7AE7E8: x86_file_start (i386.c:23343)
==6304==by 0x694DA4: toplev_main (toplev.c:1343)
==6304==by 0x39D3C1E329: (below main) (in /lib64/libc-2.8.so)
==6304==  Address 0x4cb7d01 is 0 bytes after a block of size 65 alloc'd
==6304==at 0x4A074D1: realloc (vg_replace_malloc.c:429)
==6304==by 0xA0313C: xrealloc (xmalloc.c:179)
==6304==by 0x9D22AC: cpp_interpret_string (charset.c:1392)
==6304==by 0x9D2860: cpp_interpret_string_notranslate (charset.c:1416)
==6304==by 0x9D624A: do_linemarker (directives.c:956)
==6304==by 0x9D4BB4: _cpp_handle_directive (directives.c:483)
==6304==by 0x9DCE6E: cpp_read_main_file (init.c:536)
==6304==by 0x4D9947: c_common_post_options (c-opts.c:1174)
==6304==by 0x694309: toplev_main (toplev.c:1660)
==6304==by 0x39D3C1E329: (below main) (in /lib64/libc-2.8.so)
==6304== 
==6304== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 4 from 1)
==6304== malloc/free: in use at exit: 448,374 bytes in 1,606 blocks.
==6304== malloc/free: 4,000 allocs, 2,394 frees, 2,176,191 bytes allocated.
==6304== For counts of detected errors, rerun with: -v
==6304== searching for pointers to 1,606 not-freed blocks.
==6304== checked 3,757,576 bytes.
==6304== 
==6304== LEAK SUMMARY:
==6304==definitely lost: 8,832 bytes in 30 blocks.
==6304==  possibly lost: 0 bytes in 0 blocks.
==6304==still reachable: 439,542 bytes in 1,576 blocks.
==6304== suppressed: 0 bytes in 0 blocks.
==6304== Rerun with --leak-check=full to see details of leaked memory.
[EMAIL PROTECTED] prev-gcc]$


-- 
   Summary: Short buffer in libcpp
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: preprocessor
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl dot tools at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36479



[Bug target/36450] [IRA] ICE in insert_restore with GET_MODE_ALIGNMENT mem

2008-06-09 Thread aldot at gcc dot gnu dot org


--- Comment #2 from aldot at gcc dot gnu dot org  2008-06-09 17:08 ---
Vladimir,

Is the testcase ok as is or do you need it reduced?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36450



[Bug preprocessor/36479] Short buffer in libcpp

2008-06-09 Thread hjl dot tools at gmail dot com


--- Comment #1 from hjl dot tools at gmail dot com  2008-06-09 17:12 ---
A patch is posted at

http://gcc.gnu.org/ml/gcc-patches/2008-06/msg00491.html


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 CC||tromey at redhat dot com
URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2008-
   ||06/msg00491.html


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36479



[Bug target/36450] [IRA] ICE in insert_restore with GET_MODE_ALIGNMENT mem

2008-06-09 Thread vmakarov at redhat dot com


--- Comment #3 from vmakarov at redhat dot com  2008-06-09 17:22 ---
The test is ok.  Thanks.

The problem is very simple.  The assertion causing abort is simply wrong.  I
reproduced the same bug for the old register allocator.  I just used wetstone
for this.

The assertion is wrong because alignment can not be bigger the preferred stack
boundary (please see function.c::assign_stack_slot).  It is a very old code. 
Instead of 

gcc_assert (GET_MODE_ALIGNMENT (GET_MODE (mem) = MEM_ALIGN (mem))

in caller_save.c::insert_save/insert_restore, the assertion should be

gcc_assert (MIN (PREFERRED_STACK_BOUNDARY, GET_MODE_ALIGNMENT (GET_MODE (mem))
= MEM_ALIGN (mem))

I'll submit the patch to the branch today or tomorrow.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36450



[Bug bootstrap/33781] [4.3/4.4 Regression] Arg list too long building libgcc.a

2008-06-09 Thread Ralf dot Wildenhues at gmx dot de


--- Comment #19 from Ralf dot Wildenhues at gmx dot de  2008-06-09 18:41 
---
Created an attachment (id=15743)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15743action=view)
patch to build libraries piecewise

This patch assumes that libgcc_eh.a is the only one of the three libraries
whose list of objects may be empty.  If that assumption is false, then the
other *-objects need to be defaulted as well (but in that case the original
rules had a race condition, not guarding against eh_dummy.[co] being created
concurrently).



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33781



[Bug fortran/36379] preprocessing preprocessed output: invalid reads

2008-06-09 Thread hjl dot tools at gmail dot com


--- Comment #6 from hjl dot tools at gmail dot com  2008-06-09 20:00 ---


*** This bug has been marked as a duplicate of 36479 ***


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36379



[Bug preprocessor/36479] Short buffer in libcpp

2008-06-09 Thread hjl dot tools at gmail dot com


--- Comment #2 from hjl dot tools at gmail dot com  2008-06-09 20:00 ---
*** Bug 36379 has been marked as a duplicate of this bug. ***


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 CC||dfranke at gcc dot gnu dot
   ||org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36479



[Bug preprocessor/36479] Short buffer in libcpp

2008-06-09 Thread hjl dot tools at gmail dot com


--- Comment #3 from hjl dot tools at gmail dot com  2008-06-09 20:02 ---
An updated patch is at

http://gcc.gnu.org/ml/gcc-patches/2008-06/msg00513.html


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

URL|http://gcc.gnu.org/ml/gcc-  |http://gcc.gnu.org/ml/gcc-
   |patches/2008-   |patches/2008-
   |06/msg00491.html|06/msg00513.html


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36479



[Bug preprocessor/36479] Short buffer in libcpp

2008-06-09 Thread dfranke at gcc dot gnu dot org


--- Comment #4 from dfranke at gcc dot gnu dot org  2008-06-09 20:09 ---
H.J., this is c++, correct?
For the fortran side of the problem, i.e. PR36379, I found that

+  cpp_option-char_precision = TYPE_PRECISION (char_type_node);

should be added (comment #5). Could you check if this by any chance is missing
on the c++ side of things as well?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36479



[Bug preprocessor/36479] Short buffer in libcpp

2008-06-09 Thread hjl dot tools at gmail dot com


--- Comment #5 from hjl dot tools at gmail dot com  2008-06-09 20:20 ---
This may be introduced by

http://gcc.gnu.org/ml/gcc-patches/2008-04/msg01235.html


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 CC||kris dot van dot hees at
   ||oracle dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36479



[Bug preprocessor/36479] Short buffer in libcpp

2008-06-09 Thread hjl dot tools at gmail dot com


--- Comment #6 from hjl dot tools at gmail dot com  2008-06-09 21:11 ---
The updated patch is at

http://gcc.gnu.org/ml/gcc-patches/2008-06/msg00523.html


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

URL|http://gcc.gnu.org/ml/gcc-  |http://gcc.gnu.org/ml/gcc-
   |patches/2008-   |patches/2008-
   |06/msg00513.html|06/msg00523.html


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36479



[Bug testsuite/36443] [4.3/4.4 Regression]: HOSTCC doesn't work with installed gcc

2008-06-09 Thread mark at codesourcery dot com


--- Comment #17 from mark at codesourcery dot com  2008-06-09 21:16 ---
Subject: Re:  [4.3/4.4 Regression]: HOSTCC doesn't work
 with unstalled gcc

hjl dot tools at gmail dot com wrote:
 --- Comment #16 from hjl dot tools at gmail dot com  2008-06-09 14:16 
 ---
 (In reply to comment #9)
 I suspect that if you remove the setting in site.exp you will break the 
 following scenario:

 1. User puts libraries/headers in $pefix/{lib,include}
 
 I am not convinced it is the right thing to do. What
 are those libraries/headers? Are they from gcc? If yes,
 you don't need to do it. If not, can you use --sysroot
 to handle non-gcc libraries/headers?

In general, no, these are not from GCC.  They're probably from your C 
library -- which might not be GLIBC or Newlib, of course.  And, they 
probably include your installed assembler and linker -- which not be 
from GNU binutils, of course.

I don't know if --sysroot might be a solution.  Historically, I believe 
the scenario I put forth has worked, so you are going to break people's 
test methodology.  Maybe there is some solution that involves changing 
the compiler flags used in site.exp (like by adding --sysroot, or -B 
options, or something) so that you don't need to set GCC_EXEC_PREFIX.

But, I think that's going to be complicated.  That's why I think the 
right thing to do is to set up HOSTCC to be robust.  Like having the 
command to run default to:

   unset GCC_EXEC_PREFIX  gcc

rather than just:

   gcc


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36443



[Bug target/36480] New: stack-protector causes bad ARM PIC code generated

2008-06-09 Thread dougkwan at google dot com
The ARM back-end avoids marking a function as needing PIC in
require_pic_register().  The code there checks if the current IR-type is
IR_GIMPLE or not.  The logic does not work when both -fPIC and
-fstack-protector are given.  The stack protector prologue is generated very
early in RTL expansion when the IR-type is still IR_GIMPLE.  Hence, the current
code ends up using a PIC regiser never gets initialized properly.  

---
extern int sprintf (char *, const char*, ...);

void
test (void)
{
 char buf[10];
 sprintf(buf, );
}
---

compiled using top-of-trunk on 6/9/2008

../install/bin/arm-elf-gcc -O2 -S -fdump-rtl-expand -fpic -fstack-protector 
bug.c

Note that vreg 133 is used in insn 4 but never assigned a value.

;;
;; Full RTL generated for this function:
;;
(note 1 0 7 NOTE_INSN_DELETED)

(note 7 1 10 2 [bb 2] NOTE_INSN_BASIC_BLOCK)

(insn 10 7 11 2 bug.c:7 (set (reg:SI 139)
(unspec:SI [
(const:SI (minus:SI (const (symbol_ref:SI
(_GLOBAL_OFFSET_TABLE_)))
(const:SI (plus:SI (unspec:SI [
(const_int 0 [0x0])
] 21)
(const_int 8 [0x8])
] 3)) -1 (nil))

(insn 11 10 12 2 bug.c:7 (set (reg:SI 139)
(unspec:SI [
(plus:SI (reg:SI 139)
(const (plus:SI (pc)
(const_int 8 [0x8]
(const_int 0 [0x0])
] 4)) -1 (nil))

(insn 12 11 2 2 bug.c:7 (use (reg:SI 139)) -1 (nil))

(note 2 12 3 2 NOTE_INSN_FUNCTION_BEG)

(insn 3 2 4 2 bug.c:5 (set (reg:SI 135)
(unspec:SI [
(symbol_ref:SI (__stack_chk_guard) [flags 0x40] var_decl
0xf7ec6f78 __stack_chk_guard)
] 3)) -1 (nil))

(insn 4 3 5 2 bug.c:5 (set (reg/f:SI 134)
(mem/u/c:SI (plus:SI (reg:SI 133)
(reg:SI 135)) [0 S4 A32])) -1 (expr_list:REG_EQUAL
(symbol_ref:SI (__stack_chk_guard) [flags 0x40] var_decl 0xf7ec6f78
__stack_chk_guard)
(nil)))


-- 
   Summary: stack-protector causes bad ARM PIC code generated
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dougkwan at google dot com
 GCC build triplet: i686-unknown-linux-gnu
  GCC host triplet: i686-unknown-linux-gnu
GCC target triplet: arm-unknown-elf


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36480



[Bug middle-end/36447] [4.4 Regression] simplify_subreg ICE with right shift more than length type AVR

2008-06-09 Thread hutchinsonandy at gcc dot gnu dot org


--- Comment #4 from hutchinsonandy at gcc dot gnu dot org  2008-06-09 22:39 
---
Subject: Bug 36447

Author: hutchinsonandy
Date: Mon Jun  9 22:38:34 2008
New Revision: 136602

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=136602
Log:
PR middle-end/36447
* simplify-rtx.c (simplify_subreg): Add check for shift count greater than
size.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/simplify-rtx.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36447



[Bug testsuite/36285] gcc.dg/compat/struct-by-value-xxx improper test for AVR target

2008-06-09 Thread hutchinsonandy at gcc dot gnu dot org


--- Comment #2 from hutchinsonandy at gcc dot gnu dot org  2008-06-09 22:49 
---
Subject: Bug 36285

Author: hutchinsonandy
Date: Mon Jun  9 22:48:37 2008
New Revision: 136604

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=136604
Log:
PR testsuite/36285
* gcc.dg/compat/struct-return-10_y.c: Remove test_va.
* gcc.dg/compat/vector-defs.h: Add check for availability of 8 byte double.
* gcc.dg/compat/struct-layout-1_test.h: Change bitfield to match integer size.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/compat/struct-layout-1_test.h
trunk/gcc/testsuite/gcc.dg/compat/struct-return-10_y.c
trunk/gcc/testsuite/gcc.dg/compat/vector-defs.h


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36285



[Bug c/36481] New: gcc fails to build on Solaris x86 - it forgets the locations of libmpfr

2008-06-09 Thread david dot kirkby at onetel dot net
I'm trying to compile gcc 4.3.1 on a Laptop running Solaris Express Community
Edition Build 89.


[EMAIL PROTECTED]:[~/build] $ cat /etc/release
   Solaris Express Community Edition snv_89 X86
   Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
Use is subject to license terms.
  Assembled 06 May 2008


After configuring with these options (plenty of others tried)

 $ ../gcc-4.3.1/configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld
--enable-shared --enable-languages=c,c++,fortran LD_LIBRARY_PATH=/usr/local/lib
--with-gmp=/usr/local --with-mpfr=/usr/local --with-mpfr-lib=/usr/local/lib
--with-mpfr-include=/usr/local/include --with-gmp-include=/usr/local/include
--with-gmp-lib=/usr/local/lib


gcc spends 15 minutes or so compiling, then bombs out with:

checking for i386-pc-solaris2.11-lipo... lipo
checking for i386-pc-solaris2.11-nm... /export/home/drkirkby/build/./gcc/nm
checking for i386-pc-solaris2.11-ranlib... ranlib
checking for i386-pc-solaris2.11-strip... strip
checking whether ln -s works... yes
checking for i386-pc-solaris2.11-gcc... /export/home/drkirkby/build/./gcc/xgcc
-B/export/home/drkirkby/build/./gcc/ -B/usr/local/i386-pc-solaris2.11/bin/
-B/usr/local/i386-pc-solaris2.11/lib/ -isystem
/usr/local/i386-pc-solaris2.11/include -isystem
/usr/local/i386-pc-solaris2.11/sys-include
checking for suffix of object files... configure: error: cannot compute suffix
of object files: cannot compile
See `config.log' for more details.
gmake[2]: *** [configure-stage1-target-libgcc] Error 1
gmake[2]: Leaving directory `/export/home/drkirkby/build'
gmake[1]: *** [stage1-bubble] Error 2
gmake[1]: Leaving directory `/ex


A search on the web for the configure: error: cannot compute suffix of object
files: cannot compile suggests setting LD_LIBRARY_PATH, as above. That does
not work. I've also tried

set LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH

but that does not work either.

The log file:

./i386-pc-solaris2.11/libgcc/config.log
(see end of message)

shows the linker can't seem to find the library libmpfr.so.1. But that does
exists. I've tried every option to configure that might tell the linker where
to find this library:

--with-mpfr=/usr/local
--with-mpfr-lib=/usr/local/lib
--with-mpfr-include=/usr/local/include

but it does not work.

In contrast, I can easily use that library if I compile with cc or gcc.

Neither of these present any error message.
[EMAIL PROTECTED]:[~] $ cc  -L/usr/local/lib -lmpfr  f.c
[EMAIL PROTECTED]:[~] $ gcc  -L/usr/local/lib -lmpfr  f.c

so the library is ok.

Here's the log file. Any idea why the building of gcc 4.3.1 is failing?


Target: i386-pc-solaris2.11
Configured with: ../gcc-4.3.1/configure --with-as=/usr/ccs/bin/as
--with-ld=/usr/ccs/bin/ld --enable-shared --enable-languages=c,c++,fortran
LD_LIBRARY_PATH=/usr/local/lib --with-gmp=/usr/local --with-mpfr=/usr/local
--with-mpfr-lib=/usr/local/lib --with-mpfr-include=/usr/local/include
--with-gmp-include=/usr/local/include --with-gmp-lib=/usr/local/lib
Thread model: posix
gcc version 4.3.1 (GCC)
configure:2374: $? = 0
configure:2376: /export/home/drkirkby/build/./gcc/xgcc
-B/export/home/drkirkby/build/./gcc/ -B/usr/local/i386-pc-solaris2.11/bin/
-B/usr/local/i386-pc-solaris2.11/lib/ -isystem
/usr/local/i386-pc-solaris2.11/include -isystem
/usr/local/i386-pc-solaris2.11/sys-include -V /dev/null 5
xgcc: '-V' must come at the start of the command line
configure:2379: $? = 1
configure:2398: /export/home/drkirkby/build/./gcc/xgcc
-B/export/home/drkirkby/build/./gcc/ -B/usr/local/i386-pc-solaris2.11/bin/
-B/usr/local/i386-pc-solaris2.11/lib/ -isystem
/usr/local/i386-pc-solaris2.11/include -isystem
/usr/local/i386-pc-solaris2.11/sys-include -o conftest -g
-fkeep-inline-functions   conftest.c  5
ld.so.1: cc1: fatal: libmpfr.so.1: open failed: No such file or directory
xgcc: Internal error: Killed (program cc1)
Please submit a full bug report.
See http://gcc.gnu.org/bugs.html for instructions.
configure:2401: $? = 1
configure:2567: checking for suffix of object files
configure:2588: /export/home/drkirkby/build/./gcc/xgcc
-B/export/home/drkirkby/build/./gcc/ -B/usr/local/i386-pc-solaris2.11/bin/
-B/usr/local/i386-pc-solaris2.11/lib/ -isystem
/usr/local/i386-pc-solaris2.11/include -isystem
/usr/local/i386-pc-solaris2.11/sys-include -c -g -fkeep-inline-functions 
conftest.c 5
ld.so.1: cc1: fatal: libmpfr.so.1: open failed: No such file or directory
xgcc: Internal error: Killed (program cc1)
Please submit a full bug report.
See http://gcc.gnu.org/bugs.html for instructions.
configure:2591: $? = 1
configure: failed program was:


Someone suggested I set CONFIG_SHELL to /bin/bash. That did not help. 
Also tried LDFLAGS='-L/usr/local/lib -R/usr/local/lib'
but again did not help.


-- 
   Summary: gcc fails to build on Solaris x86 - it forgets the
locations of libmpfr
   Product: gcc
   

[Bug testsuite/36443] [4.3/4.4 Regression]: HOSTCC doesn't work with installed gcc

2008-06-09 Thread hjl dot tools at gmail dot com


--- Comment #18 from hjl dot tools at gmail dot com  2008-06-09 23:58 
---
(In reply to comment #17)
 Subject: Re:  [4.3/4.4 Regression]: HOSTCC doesn't work
  with unstalled gcc
 
 hjl dot tools at gmail dot com wrote:
  --- Comment #16 from hjl dot tools at gmail dot com  2008-06-09 14:16 
  ---
  (In reply to comment #9)
  I suspect that if you remove the setting in site.exp you will break the 
  following scenario:
 
  1. User puts libraries/headers in $pefix/{lib,include}
  
  I am not convinced it is the right thing to do. What
  are those libraries/headers? Are they from gcc? If yes,
  you don't need to do it. If not, can you use --sysroot
  to handle non-gcc libraries/headers?
 
 In general, no, these are not from GCC.  They're probably from your C 
 library -- which might not be GLIBC or Newlib, of course.  And, they 
 probably include your installed assembler and linker -- which not be 
 from GNU binutils, of course.


They sound to me the ideal usage for --sysroot. They aren't from
gcc and they don't change from one gcc version to another one.
You can use one --sysroot for gcc 4.1, 4.2, 4.3, 4.4, ...
--syroot supports libraries and headers.  Does it support
assembler and linker?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36443



[Bug testsuite/36443] [4.3/4.4 Regression]: HOSTCC doesn't work with installed gcc

2008-06-09 Thread mark at codesourcery dot com


--- Comment #19 from mark at codesourcery dot com  2008-06-10 00:38 ---
Subject: Re:  [4.3/4.4 Regression]: HOSTCC doesn't work
 with installed gcc

hjl dot tools at gmail dot com wrote:

 They sound to me the ideal usage for --sysroot. They aren't from
 gcc and they don't change from one gcc version to another one.
 You can use one --sysroot for gcc 4.1, 4.2, 4.3, 4.4, ...
 --syroot supports libraries and headers.  Does it support
 assembler and linker?

Not as far as I know; --sysroot is about the target, not the host.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36443



[Bug testsuite/36443] [4.3/4.4 Regression]: HOSTCC doesn't work with installed gcc

2008-06-09 Thread hjl dot tools at gmail dot com


--- Comment #20 from hjl dot tools at gmail dot com  2008-06-10 01:45 
---
(In reply to comment #19)
 Subject: Re:  [4.3/4.4 Regression]: HOSTCC doesn't work
  with installed gcc
 
 hjl dot tools at gmail dot com wrote:
 
  They sound to me the ideal usage for --sysroot. They aren't from
  gcc and they don't change from one gcc version to another one.
  You can use one --sysroot for gcc 4.1, 4.2, 4.3, 4.4, ...
  --syroot supports libraries and headers.  Does it support
  assembler and linker?
 
 Not as far as I know; --sysroot is about the target, not the host.

So setting GCC_EXEC_PREFIX is to support make check using
non-system assembler and linker with gcc for a target which
probably isn't a GNU target/OS. Am I correct?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36443



[Bug c/36470] sizeof UTF-32 is 2 on AVR

2008-06-09 Thread hutchinsonandy at gcc dot gnu dot org


--- Comment #2 from hutchinsonandy at gcc dot gnu dot org  2008-06-10 03:21 
---
Fixing the testcase is easy, That is how i found problem.  Two wrongs make a
right!

It is not a priority but it seems like the suggestions is right way to fix.
I'll mark as XFAIL sometime soon.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36470



[Bug testsuite/36443] [4.3/4.4 Regression]: HOSTCC doesn't work with installed gcc

2008-06-09 Thread mark at codesourcery dot com


--- Comment #21 from mark at codesourcery dot com  2008-06-10 05:02 ---
Subject: Re:  [4.3/4.4 Regression]: HOSTCC doesn't work
 with installed gcc

hjl dot tools at gmail dot com wrote:

 --syroot supports libraries and headers.  Does it support
 assembler and linker?
 Not as far as I know; --sysroot is about the target, not the host.
 
 So setting GCC_EXEC_PREFIX is to support make check using
 non-system assembler and linker with gcc for a target which
 probably isn't a GNU target/OS. Am I correct?

Or which *is* a GNU target/OS, but isn't using an in-tree build of all 
the components -- like, for example, if you already have good versions 
of the cross tools around.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36443



[Bug testsuite/36443] [4.3/4.4 Regression]: HOSTCC doesn't work with installed gcc

2008-06-09 Thread hjl dot tools at gmail dot com


--- Comment #22 from hjl dot tools at gmail dot com  2008-06-10 05:49 
---
(In reply to comment #21)
 Subject: Re:  [4.3/4.4 Regression]: HOSTCC doesn't work
  with installed gcc
 
 hjl dot tools at gmail dot com wrote:
 
  --syroot supports libraries and headers.  Does it support
  assembler and linker?
  Not as far as I know; --sysroot is about the target, not the host.
  
  So setting GCC_EXEC_PREFIX is to support make check using
  non-system assembler and linker with gcc for a target which
  probably isn't a GNU target/OS. Am I correct?
 
 Or which *is* a GNU target/OS, but isn't using an in-tree build of all 
 the components -- like, for example, if you already have good versions 
 of the cross tools around.
 

I have done that all the time. I just combine a known good gcc source tree
with a known good binutils source tree. The main problem is many times
the common directories, like include, libiberty and top level files, aren't
compatible between gcc and binutils. My solutions are

1. Use PATH for build/testing if I can't use combined tree.  Or
2. Patch the common directories/files so that they are compatible between
gcc and binutils.

I thought it was my problem. I believe such changes belong to vendor
branches, not gcc trunk.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36443