This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Combine location with block using block_locations


The PCH related failures are caused by this patch. The patch I posted
earlier http://gcc.gnu.org/ml/gcc-patches/2012-09/msg01491.html solved
another problem, but not this one.

The issue here is: when reading PCH data, the line_table is also read
from PCH files. But the location_adhoc_data_map is not managed by GC,
thus is not read in from PCH file (only a pointer is read in).

To solve this problem, we'll need to move location_adhoc_data_map into
GC. I'll have another patch to solve this problem.

However, I still do not quite understand how muliple line_tables can
co-exist. E.g. foo() is from a.H, bar() is from b.H. When bar() is
inlined into foo(), both line_tables (a.H and b.H) should be used. But
I didn't find in GCC how this is handled...

Dehao

On Fri, Sep 21, 2012 at 4:17 AM, Dehao Chen <dehao@google.com> wrote:
> Sorry for breaking these tests.
>
> This problem is very hard to reproduce. However, I had a patch to fix
> another compile-time problem which may be related to this one.
> http://gcc.gnu.org/ml/gcc-patches/2012-09/msg01491.html
>
> After applying the patch, the PCH related bugs are not showing any
> more on my machines.
>
> Dehao
>
> On Thu, Sep 20, 2012 at 10:59 PM, Dehao Chen <dehao@google.com> wrote:
>> Hi, Paolo,
>>
>> I'll look into the ICE problems now.
>>
>> Thanks,
>> Dehao
>>
>> On Thu, Sep 20, 2012 at 9:04 PM, Paolo Carlini <paolo.carlini@oracle.com> wrote:
>>> Hi,
>>>
>>>
>>> On 09/19/2012 09:59 PM, Dehao Chen wrote:
>>>>
>>>> This patch was commited as r191494.
>>>
>>> I'm afraid I can't help *much* with the debugging, but on my x86_64-linux
>>> machine and a very straightforward configuration (--enable-languages=c++
>>> --disable-multilib) after r191494 I'm seeing the following libstdc++
>>> regressions.
>>>
>>> FAIL: 17_intro/headers/c++1998/all.cc (test for excess errors)
>>> FAIL: 17_intro/headers/c++1998/all_c++200x_compatibility.cc (test for excess
>>> errors)
>>> FAIL: 17_intro/headers/c++1998/all_pedantic_errors.cc (test for excess
>>> errors)
>>> FAIL: 17_intro/headers/c++1998/stdc++.cc (test for excess errors)
>>> FAIL: 17_intro/headers/c++1998/stdc++_multiple_inclusion.cc (test for excess
>>> errors)
>>> FAIL: 17_intro/headers/c++200x/stdc++.cc (test for excess errors)
>>> FAIL: 17_intro/headers/c++200x/stdc++_multiple_inclusion.cc (test for excess
>>> errors)
>>>
>>> are all ICEs like the below. Apparently PCHs are required, I can't reproduce
>>> outside the testsuite, without the library PCHs.
>>>
>>> Does it make any sense to you? Please let me know if I can somehow help.
>>>
>>> Thanks,
>>> Paolo.
>>>
>>> ///////////////////
>>>
>>> In file included from
>>> /home/paolo/Gcc/svn-dirs/trunk-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_ios.h:39:0,
>>>                  from
>>> /home/paolo/Gcc/svn-dirs/trunk-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/ios:45,
>>>                  from
>>> /home/paolo/Gcc/svn-dirs/trunk-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/istream:40,
>>>                  from
>>> /home/paolo/Gcc/svn-dirs/trunk-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/sstream:39,
>>>                  from
>>> /home/paolo/Gcc/svn-dirs/trunk-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/complex:47,
>>>                  from
>>> /home/paolo/Gcc/svn-dirs/trunk-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/stdc++.h:67,
>>>                  from
>>> /home/paolo/Gcc/svn-dirs/trunk-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/stdtr1c++.h:29,
>>>                  from
>>> /scratch/Gcc/svn-dirs/trunk/libstdc++-v3/include/precompiled/extc++.h:30:
>>> /home/paolo/Gcc/svn-dirs/trunk-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h:
>>> In member function 'virtual std::ctype<char>::char_type
>>> std::ctype<char>::do_widen(char) const':
>>> /home/paolo/Gcc/svn-dirs/trunk-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h:1077:7:
>>> internal compiler error: Segmentation fault
>>>        do_widen(char __c) const
>>>        ^
>>> Please submit a full bug report,
>>> with preprocessed source if appropriate.
>>> See <http://gcc.gnu.org/bugs.html> for instructions.
>>>
>>>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]