diff options
author | Ilya Enkovich <ilya.enkovich@intel.com> | 2015-04-07 14:06:38 +0000 |
---|---|---|
committer | Ilya Enkovich <ienkovich@gcc.gnu.org> | 2015-04-07 14:06:38 +0000 |
commit | 0e081bde913120cdf87ac288c814dfcc9733eacb (patch) | |
tree | 8f957240cb28deb74c102eb67e39f84c0ab21990 | |
parent | 23ebaa42a22c616412345a069edb48a6dc25282d (diff) | |
download | gcc-0e081bde913120cdf87ac288c814dfcc9733eacb.zip gcc-0e081bde913120cdf87ac288c814dfcc9733eacb.tar.gz gcc-0e081bde913120cdf87ac288c814dfcc9733eacb.tar.bz2 |
ipa-comdats.c (ipa_comdats): Visit all thunks to set proper comdat group.
gcc/
* ipa-comdats.c (ipa_comdats): Visit all thunks
to set proper comdat group.
gcc/testsuite/
* gcc.target/i386/mpx/chkp-thunk-comdat-1.cc: New.
* gcc.target/i386/mpx/chkp-thunk-comdat-2.cc: New.
From-SVN: r221896
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ipa-comdats.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/mpx/chkp-thunk-comdat-1.cc | 18 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/mpx/chkp-thunk-comdat-2.cc | 26 |
5 files changed, 55 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f65dd4d..7b977dd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2015-04-07 Ilya Enkovich <ilya.enkovich@intel.com> + + * ipa-comdats.c (ipa_comdats): Visit all thunks + to set proper comdat group. + 2015-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com> PR target/65489 diff --git a/gcc/ipa-comdats.c b/gcc/ipa-comdats.c index f349f9f..e24359c 100644 --- a/gcc/ipa-comdats.c +++ b/gcc/ipa-comdats.c @@ -377,7 +377,7 @@ ipa_comdats (void) fprintf (dump_file, "To group: %s\n", IDENTIFIER_POINTER (group)); } if (is_a <cgraph_node *> (symbol)) - dyn_cast <cgraph_node *>(symbol)->call_for_symbol_and_aliases + dyn_cast <cgraph_node *>(symbol)->call_for_symbol_thunks_and_aliases (set_comdat_group_1, *comdat_head_map.get (group), true); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7684dbc..a51b9c5 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-04-07 Ilya Enkovich <ilya.enkovich@intel.com> + + * gcc.target/i386/mpx/chkp-thunk-comdat-1.cc: New. + * gcc.target/i386/mpx/chkp-thunk-comdat-2.cc: New. + 2015-04-07 Bin Cheng <bin.cheng@arm.com> * gcc.target/arm/pr65647.c: Add option "-mfloat-abi=soft". diff --git a/gcc/testsuite/gcc.target/i386/mpx/chkp-thunk-comdat-1.cc b/gcc/testsuite/gcc.target/i386/mpx/chkp-thunk-comdat-1.cc new file mode 100644 index 0000000..26d3c48 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/mpx/chkp-thunk-comdat-1.cc @@ -0,0 +1,18 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -fcheck-pointer-bounds -mmpx" } */ + +namespace +{ + template <int dim> + int __attribute__((noinline)) + f1 () + { + return dim; + } +} + +int +test () +{ + return f1<3> (); +} diff --git a/gcc/testsuite/gcc.target/i386/mpx/chkp-thunk-comdat-2.cc b/gcc/testsuite/gcc.target/i386/mpx/chkp-thunk-comdat-2.cc new file mode 100644 index 0000000..2b1abe9 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/mpx/chkp-thunk-comdat-2.cc @@ -0,0 +1,26 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -fcheck-pointer-bounds -mmpx" } */ + +class c1 +{ +public: + virtual int test1 (const char *); +}; + +class c2 +{ +public: + int test2 (const char *); +}; + +int +c1::test1 (const char *) +{ + return 0; +} + +int +c2::test2 (const char *) +{ + return 0; +} |