Lines Matching refs:srcref
182 builtin_memref* const srcref; variable
667 : dstref (&dst), srcref (&src), sizrange (), ovloff (), ovlsiz (), in builtin_access()
745 srcref->strbounded_p = true; in builtin_access()
815 && srcref->sizrange[0] == 0 && srcref->sizrange[1] == maxobjsize) in builtin_access()
832 dstref->sizrange[0] = srcref->sizrange[0]; in builtin_access()
833 dstref->sizrange[1] = srcref->sizrange[1]; in builtin_access()
836 else if (srcref->sizrange[0] == 0 && srcref->sizrange[1] == maxobjsize) in builtin_access()
840 srcref->sizrange[0] = dstref->sizrange[0]; in builtin_access()
841 srcref->sizrange[1] = dstref->sizrange[1]; in builtin_access()
849 srcref->sizrange[0] = bounds[1] > 0 ? 1 : 0; in builtin_access()
850 offset_int bound = wi::umin (srcref->basesize, bounds[1]); in builtin_access()
851 if (bound < srcref->sizrange[1]) in builtin_access()
852 srcref->sizrange[1] = bound; in builtin_access()
858 if (srcref->offrange[1] >= 0 in builtin_access()
859 && srcref->offrange[1] < srcref->sizrange[0]) in builtin_access()
860 srcref->sizrange[0] -= srcref->offrange[1]; in builtin_access()
862 srcref->sizrange[0] = 1; in builtin_access()
864 if (srcref->offrange[0] > 0) in builtin_access()
866 if (srcref->offrange[0] < srcref->sizrange[1]) in builtin_access()
867 srcref->sizrange[1] -= srcref->offrange[0]; in builtin_access()
869 srcref->sizrange[1] = 0; in builtin_access()
883 if (dstref->sizrange[0] < srcref->sizrange[0]) in builtin_access()
884 srcref->sizrange[0] = dstref->sizrange[0]; in builtin_access()
886 if (dstref->sizrange[1] < srcref->sizrange[1]) in builtin_access()
887 srcref->sizrange[1] = dstref->sizrange[1]; in builtin_access()
898 dstref->sizrange[0] = srcref->sizrange[0]; in builtin_access()
899 dstref->sizrange[1] = srcref->sizrange[1]; in builtin_access()
905 dstref->sizrange[0] += srcref->sizrange[0] - 1; in builtin_access()
906 dstref->sizrange[1] += srcref->sizrange[1] - 1; in builtin_access()
916 if (bounds[0] < srcref->sizrange[0]) in builtin_access()
917 srcref->sizrange[0] = bounds[0]; in builtin_access()
919 if (bounds[1] < srcref->sizrange[1]) in builtin_access()
920 srcref->sizrange[1] = bounds[1]; in builtin_access()
962 const builtin_memref *srcref = acs.srcref; in generic_overlap() local
964 gcc_assert (dstref->base == srcref->base); in generic_overlap()
1053 && srcref->refoff >= 0 in generic_overlap()
1054 && dstref->refoff != srcref->refoff in generic_overlap()
1055 && (stxcpy_p || dstref->strbounded_p || srcref->strbounded_p)) in generic_overlap()
1152 const builtin_memref *srcref = acs.srcref; in strcat_overlap() local
1154 gcc_assert (dstref->base == srcref->base); in strcat_overlap()
1158 gcc_assert (dstref->base && dstref->base == srcref->base); in strcat_overlap()
1166 acs.dstoff[0] += dstsiz[0] - srcref->sizrange[0]; in strcat_overlap()
1167 acs.dstoff[1] += dstsiz[1] - srcref->sizrange[1]; in strcat_overlap()
1245 = dstref->offrange[0] + (dstref->sizrange[0] - srcref->sizrange[0]); in strcat_overlap()
1246 if (endoff <= srcref->offrange[0]) in strcat_overlap()
1247 acs.ovloff[0] = wi::smin (maxobjsize, srcref->offrange[0]).to_shwi (); in strcat_overlap()
1251 acs.sizrange[0] = wi::smax (wi::abs (endoff - srcref->offrange[0]) + 1, in strcat_overlap()
1252 srcref->sizrange[0]).to_shwi (); in strcat_overlap()
1255 if (srcref->offrange[0] == srcref->offrange[1]) in strcat_overlap()
1260 srcref->offrange[1] + srcref->sizrange[1]).to_shwi (); in strcat_overlap()
1269 acs.sizrange[1] = wi::smax (acs.dstsiz[1], srcref->sizrange[1]).to_shwi (); in strcat_overlap()
1297 srcref->sizrange[0]).to_shwi (); in overlap()
1299 srcref->sizrange[1]).to_shwi (); in overlap()
1304 offset_int size = dstref->sizrange[0] + srcref->sizrange[0]; in overlap()
1314 if (!dstref->base || !srcref->base) in overlap()
1334 acs.srcoff[0] = srcref->offrange[0]; in overlap()
1335 acs.srcoff[1] = srcref->offrange[1]; in overlap()
1337 if (srcref->base in overlap()
1338 && TREE_CODE (TREE_TYPE (srcref->base)) == ARRAY_TYPE) in overlap()
1343 if (tree size = TYPE_SIZE_UNIT (TREE_TYPE (srcref->base))) in overlap()
1380 maxoff = acs.srcoff[0] + srcref->sizrange[0]; in overlap()
1384 acs.ovlsiz[1] = (acs.srcoff[0] + srcref->sizrange[1] in overlap()
1390 if (dstref->base != srcref->base) in overlap()
1396 acs.srcsiz[0] = srcref->sizrange[0]; in overlap()
1397 acs.srcsiz[1] = srcref->sizrange[1]; in overlap()
1405 sizrange[0] = wi::smax (acs.dstsiz[0], srcref->sizrange[0]).to_shwi (); in overlap()
1406 sizrange[1] = wi::smax (acs.dstsiz[1], srcref->sizrange[1]).to_shwi (); in overlap()
1429 const builtin_memref &srcref = *acs.srcref; in maybe_diag_overlap() local
1453 if (srcref.offrange[0] == srcref.offrange[1] in maybe_diag_overlap()
1454 || srcref.offrange[1] > HOST_WIDE_INT_MAX) in maybe_diag_overlap()
1457 srcref.offrange[0].to_shwi ()); in maybe_diag_overlap()
1461 srcref.offrange[0].to_shwi (), in maybe_diag_overlap()
1462 srcref.offrange[1].to_shwi ()); in maybe_diag_overlap()
1585 || (srcref.offrange[0] == 0 in maybe_diag_overlap()
1586 && srcref.offrange[1] == maxobjsize)); in maybe_diag_overlap()
1590 || (srcref.offrange[0] == -maxobjsize - 1 in maybe_diag_overlap()
1591 && srcref.offrange[1] == maxobjsize)); in maybe_diag_overlap()
1997 builtin_memref srcref (src, srcsize); in check_bounds_or_overlap()
2001 builtin_access acs (call, dstref, srcref); in check_bounds_or_overlap()
2015 || maybe_diag_access_bounds (call, func, strict, srcref, 0, do_warn)) in check_bounds_or_overlap()
2109 dump_builtin_memref (fp, *srcref); in dump()