Contemporary implementations of the C++ standard library also use the
@deprecated annotation in its header files and these then get included
by the preprocessor when preprocessing the ICU header files, like this:
/// @deprecated Non-standard. Use `is_null_pointer` instead.
In order to work as expected, testtagsguards.sh must therefore be
updated to ignore @deprecated annotations unless they're for ICU.
# (FORCE guards make this tool pass but won't compile to working code.
# See the testtagsguards.sh script for details.)
clang-release-build-and-test:
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
GUARD=DEPRECATED
echo " @$TAG"
$CXX $INCL -C -E -DU_HIDE_${GUARD}_API=1 -DU_FORCE_HIDE_${GUARD}_API=1 $DEF -o $TMPDIR/ht-$base-$TAG.i $TMPDIR/ht-$base.cpp
- if grep "@$TAG" -C 5 $TMPDIR/ht-$base-$TAG.i; then
+ if grep "@$TAG\b.*\bICU\b" -C 5 $TMPDIR/ht-$base-$TAG.i; then
echo "*** error: @$TAG not hidden in $TMPDIR/ht-$base-$TAG.i"
exit 1
fi