aboutsummaryrefslogtreecommitdiff
path: root/gdb/expprint.c
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2018-04-20 13:40:29 -0600
committerTom Tromey <tom@tromey.com>2018-04-30 11:25:31 -0600
commit007e1530347330d4dbba387c4e35aae05bc06498 (patch)
tree7d25c515868a29c6867661128c2ce6ead1d7d890 /gdb/expprint.c
parent2b4424c35b9ebabaab8588b2ba6c38935a48efec (diff)
downloadgdb-007e1530347330d4dbba387c4e35aae05bc06498.zip
gdb-007e1530347330d4dbba387c4e35aae05bc06498.tar.gz
gdb-007e1530347330d4dbba387c4e35aae05bc06498.tar.bz2
Handle alignof and _Alignof
This adds alignof and _Alignof to the C/C++ expression parser, and adds new tests to test the features. The tests are written to try to ensure that gdb's knowledge of alignment rules stays in sync with the compiler's. 2018-04-30 Tom Tromey <tom@tromey.com> PR exp/17095: * NEWS: Update. * std-operator.def (UNOP_ALIGNOF): New operator. * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>: New. * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New. * c-lang.c (c_op_print_tab): Add alignof. * c-exp.y (ALIGNOF): New token. (exp): Add "ALIGNOF" production. (ident_tokens): Add _Alignof and alignof. 2018-04-30 Tom Tromey <tom@tromey.com> PR exp/17095: * gdb.dwarf2/dw2-align.exp: New file. * gdb.cp/align.exp: New file. * gdb.base/align.exp: New file. * lib/gdb.exp (gdb_int128_helper): New proc. (has_int128_c, has_int128_cxx): New caching procs.
Diffstat (limited to 'gdb/expprint.c')
-rw-r--r--gdb/expprint.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gdb/expprint.c b/gdb/expprint.c
index 047ec11..70d355d 100644
--- a/gdb/expprint.c
+++ b/gdb/expprint.c
@@ -850,6 +850,7 @@ dump_subexp_body_standard (struct expression *exp,
case UNOP_PREDECREMENT:
case UNOP_POSTDECREMENT:
case UNOP_SIZEOF:
+ case UNOP_ALIGNOF:
case UNOP_PLUS:
case UNOP_CAP:
case UNOP_CHR: