Bug 187323 - The "-frepo" option is broken in g++ for FC5.
The "-frepo" option is broken in g++ for FC5.
Status: CLOSED DUPLICATE of bug 187142
Product: Fedora
Classification: Fedora
Component: gcc (Show other bugs)
5
i686 Linux
medium Severity medium
: ---
: ---
Assigned To: Jakub Jelinek
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2006-03-29 19:13 EST by Chris Rankin
Modified: 2007-11-30 17:11 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-03-30 02:51:42 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Demo application for -frepo failure. (1.93 KB, application/octet-stream)
2006-03-29 19:13 EST, Chris Rankin
no flags Details

  None (edit)
Description Chris Rankin 2006-03-29 19:13:26 EST
Description of problem:
The "-frepo" option no longer works for g++ in FC5, although it works fine for FC-4.

Version-Release number of selected component (if applicable):
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-libgcj-multifile
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk
--disable-dssi --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre
--with-cpu=generic --host=i386-redhat-linux
Thread model: posix
gcc version 4.1.0 20060304 (Red Hat 4.1.0-3)

How reproducible:
Every time.

Steps to Reproduce:
1. Compile the repo-bug demo application (attached).
  
Actual results:
$ make
g++ -Wall -Wwrite-strings -Wshadow -Wsign-compare -Winline -O3
-felide-constructors -fomit-frame-pointer -fno-implement-inlines -frepo -c main.cpp
g++ -Wall -Wwrite-strings -Wshadow -Wsign-compare -Winline -O3
-felide-constructors -fomit-frame-pointer -fno-implement-inlines -frepo -c x.cpp
g++ -Wl,-s -Wall -Wwrite-strings -Wshadow -Wsign-compare -Winline -O3
-felide-constructors -fomit-frame-pointer -fno-implement-inlines -o ex31 main.o x.o
collect: recompiling main.cpp
collect: relinking
collect: recompiling main.cpp
collect: relinking
collect: recompiling main.cpp
collect: relinking
main.o: In function `void std::__adjust_heap<__gnu_cxx::__normal_iterator<X**,
std::vector<X*, std::allocator<X*> > >, int, X*,
XCompare>(__gnu_cxx::__normal_iterator<X**, std::vector<X*, std::allocator<X*> >
>, int, int, X*, XCompare)':main.cpp:(.text+0xfe): undefined reference to `void
std::__push_heap<__gnu_cxx::__normal_iterator<X**, std::vector<X*,
std::allocator<X*> > >, int, X*, XCompare>(__gnu_cxx::__normal_iterator<X**,
std::vector<X*, std::allocator<X*> > >, int, int, X*, XCompare)'
main.o: In function `void
std::__introsort_loop<__gnu_cxx::__normal_iterator<X**, std::vector<X*,
std::allocator<X*> > >, int>(__gnu_cxx::__normal_iterator<X**, std::vector<X*,
std::allocator<X*> > >, __gnu_cxx::__normal_iterator<X**, std::vector<X*,
std::allocator<X*> > >, int)':main.cpp:(.text+0x1ea): undefined reference to
`__gnu_cxx::__normal_iterator<X**, std::vector<X*, std::allocator<X*> > >
std::__unguarded_partition<__gnu_cxx::__normal_iterator<X**, std::vector<X*,
std::allocator<X*> > >, X*>(__gnu_cxx::__normal_iterator<X**, std::vector<X*,
std::allocator<X*> > >, __gnu_cxx::__normal_iterator<X**, std::vector<X*,
std::allocator<X*> > >, X*)'
main.o: In function `void std::__introsort_loop<__gnu_cxx::__normal_iterator<X*,
std::vector<X, std::allocator<X> > >, int>(__gnu_cxx::__normal_iterator<X*,
std::vector<X, std::allocator<X> > >, __gnu_cxx::__normal_iterator<X*,
std::vector<X, std::allocator<X> > >, int)':main.cpp:(.text+0x3f4): undefined
reference to `__gnu_cxx::__normal_iterator<X*, std::vector<X, std::allocator<X>
> > std::__unguarded_partition<__gnu_cxx::__normal_iterator<X*, std::vector<X,
std::allocator<X> > >, X>(__gnu_cxx::__normal_iterator<X*, std::vector<X,
std::allocator<X> > >, __gnu_cxx::__normal_iterator<X*, std::vector<X,
std::allocator<X> > >, X)'
main.o: In function `void
std::__final_insertion_sort<__gnu_cxx::__normal_iterator<X*, std::vector<X,
std::allocator<X> > > >(__gnu_cxx::__normal_iterator<X*, std::vector<X,
std::allocator<X> > >, __gnu_cxx::__normal_iterator<X*, std::vector<X,
std::allocator<X> > >)':main.cpp:(.text+0x4b5): undefined reference to `void
std::__insertion_sort<__gnu_cxx::__normal_iterator<X*, std::vector<X,
std::allocator<X> > > >(__gnu_cxx::__normal_iterator<X*, std::vector<X,
std::allocator<X> > >, __gnu_cxx::__normal_iterator<X*, std::vector<X,
std::allocator<X> > >)'
main.o: In function `void std::__adjust_heap<__gnu_cxx::__normal_iterator<X**,
std::vector<X*, std::allocator<X*> > >, int, X*, std::binary_negate<XCompare>
>(__gnu_cxx::__normal_iterator<X**, std::vector<X*, std::allocator<X*> > >, int,
int, X*, std::binary_negate<XCompare>)':main.cpp:(.text+0x5d6): undefined
reference to `void std::__push_heap<__gnu_cxx::__normal_iterator<X**,
std::vector<X*, std::allocator<X*> > >, int, X*, std::binary_negate<XCompare>
>(__gnu_cxx::__normal_iterator<X**, std::vector<X*, std::allocator<X*> > >, int,
int, X*, std::binary_negate<XCompare>)'
main.o: In function `void
std::__introsort_loop<__gnu_cxx::__normal_iterator<X**, std::vector<X*,
std::allocator<X*> > >, int, XCompare>(__gnu_cxx::__normal_iterator<X**,
std::vector<X*, std::allocator<X*> > >, __gnu_cxx::__normal_iterator<X**,
std::vector<X*, std::allocator<X*> > >, int, XCompare)':main.cpp:(.text+0xc80):
undefined reference to `__gnu_cxx::__normal_iterator<X**, std::vector<X*,
std::allocator<X*> > >
std::__unguarded_partition<__gnu_cxx::__normal_iterator<X**, std::vector<X*,
std::allocator<X*> > >, X*, XCompare>(__gnu_cxx::__normal_iterator<X**,
std::vector<X*, std::allocator<X*> > >, __gnu_cxx::__normal_iterator<X**,
std::vector<X*, std::allocator<X*> > >, X*, XCompare)'
main.o: In function `void
std::__introsort_loop<__gnu_cxx::__normal_iterator<X**, std::vector<X*,
std::allocator<X*> > >, int, std::binary_negate<XCompare>
>(__gnu_cxx::__normal_iterator<X**, std::vector<X*, std::allocator<X*> > >,
__gnu_cxx::__normal_iterator<X**, std::vector<X*, std::allocator<X*> > >, int,
std::binary_negate<XCompare>)':main.cpp:(.text+0x1004): undefined reference to
`__gnu_cxx::__normal_iterator<X**, std::vector<X*, std::allocator<X*> > >
std::__unguarded_partition<__gnu_cxx::__normal_iterator<X**, std::vector<X*,
std::allocator<X*> > >, X*, std::binary_negate<XCompare>
>(__gnu_cxx::__normal_iterator<X**, std::vector<X*, std::allocator<X*> > >,
__gnu_cxx::__normal_iterator<X**, std::vector<X*, std::allocator<X*> > >, X*,
std::binary_negate<XCompare>)'
main.o: In function `void
std::__introsort_loop<__gnu_cxx::__normal_iterator<X**, std::vector<X*,
std::allocator<X*> > >, int>(__gnu_cxx::__normal_iterator<X**, std::vector<X*,
std::allocator<X*> > >, __gnu_cxx::__normal_iterator<X**, std::vector<X*,
std::allocator<X*> > >, int)':main.cpp:(.text+0x23f): undefined reference to
`void std::partial_sort<__gnu_cxx::__normal_iterator<X**, std::vector<X*,
std::allocator<X*> > > >(__gnu_cxx::__normal_iterator<X**, std::vector<X*,
std::allocator<X*> > >, __gnu_cxx::__normal_iterator<X**, std::vector<X*,
std::allocator<X*> > >, __gnu_cxx::__normal_iterator<X**, std::vector<X*,
std::allocator<X*> > >)'
main.o: In function `void std::__introsort_loop<__gnu_cxx::__normal_iterator<X*,
std::vector<X, std::allocator<X> > >, int>(__gnu_cxx::__normal_iterator<X*,
std::vector<X, std::allocator<X> > >, __gnu_cxx::__normal_iterator<X*,
std::vector<X, std::allocator<X> > >, int)':main.cpp:(.text+0x44f): undefined
reference to `void std::partial_sort<__gnu_cxx::__normal_iterator<X*,
std::vector<X, std::allocator<X> > > >(__gnu_cxx::__normal_iterator<X*,
std::vector<X, std::allocator<X> > >, __gnu_cxx::__normal_iterator<X*,
std::vector<X, std::allocator<X> > >, __gnu_cxx::__normal_iterator<X*,
std::vector<X, std::allocator<X> > >)'
main.o: In function `void
std::__final_insertion_sort<__gnu_cxx::__normal_iterator<X*, std::vector<X,
std::allocator<X> > > >(__gnu_cxx::__normal_iterator<X*, std::vector<X,
std::allocator<X> > >, __gnu_cxx::__normal_iterator<X*, std::vector<X,
std::allocator<X> > >)':main.cpp:(.text+0x53a): undefined reference to `void
std::__insertion_sort<__gnu_cxx::__normal_iterator<X*, std::vector<X,
std::allocator<X> > > >(__gnu_cxx::__normal_iterator<X*, std::vector<X,
std::allocator<X> > >, __gnu_cxx::__normal_iterator<X*, std::vector<X,
std::allocator<X> > >)'
collect2: ld returned 1 exit status
make: *** [ex31] Error 1


Expected results:
That it compiles and links OK.

Additional info:
The following compiler works fine:
$ g++ -v
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info
--enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib
--enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile
--enable-languages=c,c++,objc,java,f95,ada --enable-java-awt=gtk
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --host=i386-redhat-linux
Thread model: posix
gcc version 4.0.2 20051125 (Red Hat 4.0.2-8)
Comment 1 Chris Rankin 2006-03-29 19:13:27 EST
Created attachment 127033 [details]
Demo application for -frepo failure.
Comment 2 Jakub Jelinek 2006-03-30 02:51:42 EST

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

Note You need to log in before you can comment on or make changes to this bug.