[ cc gcc-patches ]

On 23/10/15 18:40, Eric Botcazou wrote:
--- a/gcc/tree-ssa-structalias.c
+++ b/gcc/tree-ssa-structalias.c
@@ -5887,7 +5887,10 @@ intra_create_variable_infos (struct function *fn)

         if (POINTER_TYPE_P (TREE_TYPE (t))
            && TYPE_RESTRICT (TREE_TYPE (t)))
-       make_constraint_from_global_restrict (p, "PARM_RESTRICT");
+       {
+         gcc_unreachable ();
+         make_constraint_from_global_restrict (p, "PARM_RESTRICT");
+       }
         else
          {
            for (; p; p = vi_next (p))
...
to detect the 'type_contains_placeholder_p' case, but the assert did not
trigger.

Is it possible to add an ada testcase that triggers the
'type_contains_placeholder_p' case?

Well, LTO testcases are painful to create and it's 3 years later...

In any case, since:

2015-10-02  Eric Botcazou  <ebotca...@adacore.com>

        * gcc-interface/ada-tree.h (DECL_RESTRICTED_ALIASING_P): New flag.
        * gcc-interface/decl.c (gnat_to_gnu_param): For parameters passed by
        reference but whose type isn't by-ref and whose mechanism hasn't been
        forced to by-ref, set the DECL_RESTRICTED_ALIASING_P flag directly on
        them instead of changing their type.
        * gcc-interface/trans.c (scan_rhs_r): New helper function.
        (independent_iterations_p): New predicate.
        (Loop_Statement_to_gnu): For a loop with an iteration scheme, set an
        ivdep pragma if the iterations are independent.

the Ada compiler doesn't use restrict-qualified pointer types anymore so you
can back out my change from 2012 if need be.

Sofar I didn't need to revert this change.

But, are you saying here it's dead code?

In that case, it might make sense to revert it anyway.

Thanks,
- Tom

Reply via email to