Bug 34942 - -frepo only works with C locale
Summary: -frepo only works with C locale
Status: RESOLVED INVALID
Alias: None
Product: gcc
Classification: Unclassified
Component: driver (show other bugs)
Version: 4.3.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-01-23 16:19 UTC by Debian GCC Maintainers
Modified: 2017-05-03 10:41 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Debian GCC Maintainers 2008-01-23 16:19:57 UTC
[forwarded from http://bugs.debian.org/426809]

seen with trunk 20080123

another possibility might be to unset the locale, or set it to C

  Matthias

The g++ -frepo option only works with C locale, not with es_UY for example.
A possible test case is:
template<class T> class C
{
public:
    C();
};

template<class T>
C<T>::C()
{
}

int
main(void)
{
    C<int> x;
    return 0;
}

g++ -c -frepo a.C
g++ -frepo -o a a.o

If you set the locale to C, then it will compile, if you set the locale to a
non english one, it will fail.
I guess that collect2 binutils ld output parser doesn't recognise the
internationalized output (file gcc/tlink.c).
One possible solution is to internationalize the strings in
scan_linker_output() to match those internationalized in binutils ld.
Comment 1 Martin Liška 2017-05-03 10:41:02 UTC
LANG=es_UY g++ pr34942.c -c -frepo

works fine for me.