1/* { dg-do compile { target { ! x32 } } } */
2/* { dg-options "-fcheck-pointer-bounds -mmpx -O2 -fdump-tree-strlen" } */
3/* { dg-final { scan-tree-dump-times "strlen" 2 "strlen" } } */
4/* { dg-final { scan-tree-dump "memcpy" "strlen" } } */
5/* { dg-final { cleanup-tree-dump "strlen" } } */
6
7#include "../../gcc.dg/strlenopt.h"
8
9size_t test (char *str1, char *str2)
10{
11  size_t len1 = strlen (str1);
12  size_t len2 = strlen (str2);
13  strcat (str1, str2);
14  return len1 + len2 + strlen (str1);
15}
16