Mercurial > hg > CbC > CbC_gcc
comparison gcc/fortran/dependency.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
1 /* Dependency analysis | 1 /* Dependency analysis |
2 Copyright (C) 2000-2017 Free Software Foundation, Inc. | 2 Copyright (C) 2000-2018 Free Software Foundation, Inc. |
3 Contributed by Paul Brook <paul@nowt.org> | 3 Contributed by Paul Brook <paul@nowt.org> |
4 | 4 |
5 This file is part of GCC. | 5 This file is part of GCC. |
6 | 6 |
7 GCC is free software; you can redistribute it and/or modify it under | 7 GCC is free software; you can redistribute it and/or modify it under |
238 return -2; | 238 return -2; |
239 | 239 |
240 /* Special case: String arguments which compare equal can have | 240 /* Special case: String arguments which compare equal can have |
241 different lengths, which makes them different in calls to | 241 different lengths, which makes them different in calls to |
242 procedures. */ | 242 procedures. */ |
243 | 243 |
244 if (e1->expr_type == EXPR_CONSTANT | 244 if (e1->expr_type == EXPR_CONSTANT |
245 && e1->ts.type == BT_CHARACTER | 245 && e1->ts.type == BT_CHARACTER |
246 && e2->expr_type == EXPR_CONSTANT | 246 && e2->expr_type == EXPR_CONSTANT |
247 && e2->ts.type == BT_CHARACTER | 247 && e2->ts.type == BT_CHARACTER |
248 && e1->value.character.length != e2->value.character.length) | 248 && e1->value.character.length != e2->value.character.length) |
1429 r_start = r_ar->start[n]; | 1429 r_start = r_ar->start[n]; |
1430 r_end = r_ar->end[n]; | 1430 r_end = r_ar->end[n]; |
1431 r_stride = r_ar->stride[n]; | 1431 r_stride = r_ar->stride[n]; |
1432 | 1432 |
1433 /* If l_start is NULL take it from array specifier. */ | 1433 /* If l_start is NULL take it from array specifier. */ |
1434 if (NULL == l_start && IS_ARRAY_EXPLICIT (l_ar->as)) | 1434 if (l_start == NULL && IS_ARRAY_EXPLICIT (l_ar->as)) |
1435 l_start = l_ar->as->lower[n]; | 1435 l_start = l_ar->as->lower[n]; |
1436 /* If l_end is NULL take it from array specifier. */ | 1436 /* If l_end is NULL take it from array specifier. */ |
1437 if (NULL == l_end && IS_ARRAY_EXPLICIT (l_ar->as)) | 1437 if (l_end == NULL && IS_ARRAY_EXPLICIT (l_ar->as)) |
1438 l_end = l_ar->as->upper[n]; | 1438 l_end = l_ar->as->upper[n]; |
1439 | 1439 |
1440 /* If r_start is NULL take it from array specifier. */ | 1440 /* If r_start is NULL take it from array specifier. */ |
1441 if (NULL == r_start && IS_ARRAY_EXPLICIT (r_ar->as)) | 1441 if (r_start == NULL && IS_ARRAY_EXPLICIT (r_ar->as)) |
1442 r_start = r_ar->as->lower[n]; | 1442 r_start = r_ar->as->lower[n]; |
1443 /* If r_end is NULL take it from array specifier. */ | 1443 /* If r_end is NULL take it from array specifier. */ |
1444 if (NULL == r_end && IS_ARRAY_EXPLICIT (r_ar->as)) | 1444 if (r_end == NULL && IS_ARRAY_EXPLICIT (r_ar->as)) |
1445 r_end = r_ar->as->upper[n]; | 1445 r_end = r_ar->as->upper[n]; |
1446 | 1446 |
1447 /* Determine whether the l_stride is positive or negative. */ | 1447 /* Determine whether the l_stride is positive or negative. */ |
1448 if (!l_stride) | 1448 if (!l_stride) |
1449 l_dir = 1; | 1449 l_dir = 1; |
1905 } | 1905 } |
1906 | 1906 |
1907 /* Determine if an array ref, usually an array section specifies the | 1907 /* Determine if an array ref, usually an array section specifies the |
1908 entire array. In addition, if the second, pointer argument is | 1908 entire array. In addition, if the second, pointer argument is |
1909 provided, the function will return true if the reference is | 1909 provided, the function will return true if the reference is |
1910 contiguous; eg. (:, 1) gives true but (1,:) gives false. | 1910 contiguous; eg. (:, 1) gives true but (1,:) gives false. |
1911 If one of the bounds depends on a dummy variable which is | 1911 If one of the bounds depends on a dummy variable which is |
1912 not INTENT(IN), also return false, because the user may | 1912 not INTENT(IN), also return false, because the user may |
1913 have changed the variable. */ | 1913 have changed the variable. */ |
1914 | 1914 |
1915 bool | 1915 bool |