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 2/2] [MSP430] Fix issues handling .persistent attribute (PR 78818)


On 30/05/2017 12:50, Nick Clifton wrote:
When I applied this patch to the sources and ran the new test, I encountered
an internal compiler error:

  msp430-elf/gcc/xgcc [...] pr78818-auto-warn.c [...]
  [...]
  gcc/testsuite/gcc.target/msp430/pr78818-auto-warn.c: In function 'main':

  gcc/testsuite/gcc.target/msp430/pr78818-auto-warn.c:10:3: internal compiler error: in get, at cgraph.h:403

   0xd30d3b symtab_node::get(tree_node const*)
	gcc/current/gcc/cgraph.h:400

   0xd30d3b decl_section_name(tree_node const*)
	gcc/current/gcc/tree.c:700

   0xd9ff22 msp430_data_attr
                      gcc/current/gcc/config/msp430/msp430.c:1998


  It seems that there is a problem with calling the DECL_SECTION_NAME macro on the
  line just before your new code.  Are you able to reproduce this problem ?


Hi Nick,

Apologies for the delay in replying.
I have reproduced this issue with current trunk and on the gcc-7-branch,
but it does not reproduce on the gcc-6-branch.

The ICE isn't caused by my patch but the pr78818-auto-warn.c test does
expose it.

I've attached an additional patch to fix the ICE (0001*). The ICE was
caused by a new gcc_checking_assert added in GCC7 that checks that
"symtab_node" has been called on a sane object. Added some additional
check in msp430.c:data_attr that prevent section names being looked up
on variables that can't have a section.

The 0002* patch has been updated as this also caused an ICE when running
the test case for the same reason as above, which was exposed when the
first ICE was fixed.

I have tested these patches on trunk this time (previous testing was
done on performed on gcc-6-branch only) and can confirm there are no
regressions and the new tests build successfully.

Ok for trunk and gcc-7-branch?

Thanks,
Jozef

Attachment: 0001-MSP430-Check-if-a-variable-can-have-a-section-before.patch
Description: Text document

Attachment: 0002-MSP430-Fix-persistent-attribute-not-placing-data-int.patch
Description: Text document

Attachment: 0003-MSP430-Emit-warning-when-persistent-attribute-is-use.patch
Description: Text document


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