X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=gdb%2Fmake-target-delegates;h=329306d7f25bc4d322b6690d16269965840b8213;hb=e661ef01e50a2cb38c006b0fe444a1b41bfc9400;hp=2d3b09e49fb79ed709998049caca836245ea2f19;hpb=618f726fcb851883a0094aa7fa17003889b7189f;p=external%2Fbinutils.git diff --git a/gdb/make-target-delegates b/gdb/make-target-delegates index 2d3b09e..329306d 100755 --- a/gdb/make-target-delegates +++ b/gdb/make-target-delegates @@ -1,6 +1,6 @@ #!/usr/bin/perl -# Copyright (C) 2013-2016 Free Software Foundation, Inc. +# Copyright (C) 2013-2019 Free Software Foundation, Inc. # # This file is part of GDB. # @@ -30,16 +30,27 @@ $ENDER = qr,^\s*};$,; # Match a C symbol. $SYMBOL = qr,[a-zA-Z_][a-zA-Z0-9_]*,; # Match the name part of a method in struct target_ops. -$NAME_PART = qr,\(\*(?${SYMBOL}+)\)\s,; +$NAME_PART = qr,(?${SYMBOL}+)\s,; # Match the arguments to a method. $ARGS_PART = qr,(?\(.*\)),; # We strip the indentation so here we only need the caret. $INTRO_PART = qr,^,; +$POINTER_PART = qr,\s*(\*)?\s*,; + +# Match a C++ symbol, including scope operators and template +# parameters. E.g., 'std::vector'. +$CP_SYMBOL = qr,[a-zA-Z_][a-zA-Z0-9_<>:]*,; # Match the return type when it is "ordinary". -$SIMPLE_RETURN_PART = qr,[^\(]+,; +$SIMPLE_RETURN_PART = qr,((struct|class|enum|union)\s+)?${CP_SYMBOL}+,; # Match the return type when it is a VEC. -$VEC_RETURN_PART = qr,VEC\s*\([^\)]+\)[^\(]*,; +$VEC_RETURN_PART = qr,VEC\s*\([^\)]+\),; + +# Match a return type. +$RETURN_PART = qr,((const|volatile)\s+)?(${SIMPLE_RETURN_PART}|${VEC_RETURN_PART})${POINTER_PART},; + +# Match "virtual". +$VIRTUAL_PART = qr,virtual\s,; # Match the TARGET_DEFAULT_* attribute for a method. $TARGET_DEFAULT_PART = qr,TARGET_DEFAULT_(?