re PR middle-end/66221 (lto1: error: type variant has different TYPE_ARG_TYPES)

gcc/

	PR middle-end/66221
	* ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use
	build_distinct_type_copy to copy bounds.

gcc/testsuite/

	PR middle-end/66221
	* gcc.dg/lto/pr66221_0.c: New test.
	* gcc.dg/lto/pr66221_1.c: New test.

From-SVN: r223471
This commit is contained in:
Ilya Enkovich 2015-05-21 08:32:52 +00:00 committed by Ilya Enkovich
parent 0fee2ac288
commit 551dc3008c
5 changed files with 27 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
PR middle-end/66221
* ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use
build_distinct_type_copy to copy bounds.
2015-05-21 Thomas Schwinge <thomas@codesourcery.com>
* genrecog.c (MAX_DEPTH, MIN_NUM_STATEMENTS, MAX_NUM_STATEMENTS):

View File

@ -308,7 +308,7 @@ chkp_copy_function_type_adding_bounds (tree orig_type)
if (!arg_type)
return orig_type;
type = copy_node (orig_type);
type = build_distinct_type_copy (orig_type);
TYPE_ARG_TYPES (type) = copy_list (TYPE_ARG_TYPES (type));
for (arg_type = TYPE_ARG_TYPES (type);

View File

@ -1,3 +1,9 @@
2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
PR middle-end/66221
* gcc.dg/lto/pr66221_0.c: New test.
* gcc.dg/lto/pr66221_1.c: New test.
2015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/52952

View File

@ -0,0 +1,10 @@
/* { dg-lto-do link } */
/* { dg-require-effective-target mpx } */
/* { dg-lto-options { { -O2 -flto -fcheck-pointer-bounds -mmpx } } } */
int test1 (const char *);
int main (int argc, const char **argv)
{
return test1 (argv[0]);
}

View File

@ -0,0 +1,4 @@
int test1 (const char *p)
{
return (int)(*p);
}