This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Make nonoverlapping_component_refs work with duplicated main variants
> Hi Jan,
>
> > * g++.dg/lto/alias-3_0.C: New file.
> > * g++.dg/lto/alias-3_1.c: New file.
>
> the new test has a couple of problems: DejaGnu warns everywhere:
>
> WARNING: lto.exp does not support dg-lto-do in secondary source files
> WARNING: lto.exp does not support dg-lto-options in secondary source files
>
> This would have been prominent in either mail-report.log or the runtest
> output.
>
> Besides, the test FAILs in the same way as its companions lto/alias-[12]
> on Solaris (PRs ipa/90720 and lto/91028). Your fix for the latter two
> didn't change anything, btw., neither on Solaris nor on Linux/x86_64
> with -fno-use-linker-plugin.
Hi,
sorry for the noise. This patch fixes -fno-use-linker-plugin for me and
also removes the extra dg-do I forgot in alias_3-1.c
* alias-1_0.C: Use -O3.
* alias-2_0.C: Use -O3.
* alias-3_0.C: Add loop to enable inlining with -fno-use-linker-plugin.
* alias-3_1.C: Remove dg-lto-do and dg-lto-options.
Index: g++.dg/lto/alias-1_0.C
===================================================================
--- g++.dg/lto/alias-1_0.C (revision 273478)
+++ g++.dg/lto/alias-1_0.C (working copy)
@@ -1,5 +1,5 @@
/* { dg-lto-do run } */
-/* { dg-lto-options { { -O2 -flto } } } */
+/* { dg-lto-options { { -O3 -flto } } } */
/* With LTO we consider all pointers to incomplete types to be possibly
aliasing. This makes *bptr to alias with aptr.
Index: g++.dg/lto/alias-2_0.C
===================================================================
--- g++.dg/lto/alias-2_0.C (revision 273478)
+++ g++.dg/lto/alias-2_0.C (working copy)
@@ -1,5 +1,5 @@
/* { dg-lto-do run } */
-/* { dg-lto-options { { -O2 -flto } } } */
+/* { dg-lto-options { { -O3 -flto } } } */
/* With LTO we consider all pointers to incomplete types to be possibly
aliasing. This makes *bptr to alias with aptr.
Index: g++.dg/lto/alias-3_0.C
===================================================================
--- g++.dg/lto/alias-3_0.C (revision 273478)
+++ g++.dg/lto/alias-3_0.C (working copy)
@@ -14,13 +14,15 @@ __attribute__ ((used)) struct b b, *bptr
__attribute__ ((used)) int i,j;
extern "C" void inline_me_late (void);
+int n=1;
int
main (void)
{
int jj=j;
bptr2->a[jj].bar = 0;
- inline_me_late ();
+ for (int i=0; i<n; i++)
+ inline_me_late ();
if (!__builtin_constant_p (bptr2->a[jj].bar == 0))
__builtin_abort ();
return 0;
Index: g++.dg/lto/alias-3_1.c
===================================================================
--- g++.dg/lto/alias-3_1.c (revision 273478)
+++ g++.dg/lto/alias-3_1.c (working copy)
@@ -1,5 +1,3 @@
-/* { dg-lto-do run } */
-/* { dg-lto-options { { -O3 -flto -fno-early-inlining } } } */
struct a
{
int foo,bar;