From 73267b89ea6ede28b1a0a10667774bca6eb2b37e Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Wed, 28 Jan 2009 17:01:20 -0800 Subject: Add Vim modelines for GNU style in stap --- elaborate.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'elaborate.h') diff --git a/elaborate.h b/elaborate.h index df888360..c8697595 100644 --- a/elaborate.h +++ b/elaborate.h @@ -260,3 +260,5 @@ struct unparser; #endif // ELABORATE_H + +/* vim: set sw=2 ts=8 cino=>4,n-2,{2,^-2,t0,(0,u0,w1,M1 : */ -- cgit From 9b5af2958a35174a67076c0f27cff0ed5950736d Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Wed, 11 Feb 2009 14:34:32 -0800 Subject: Add high-level support for @cast()ing This handles all of the parsing, traversal, and optimization. It doesn't actually resolve the cast yet though. * staptree.h (struct cast_op, visitor::visit_cast_op): New. * staptree.cxx (cast_op::print/visit, various visitor::visit_cast_op's): Incorporate cast_op into the basic tree operations. * parse.cxx (parser::parse_symbol): Parse @cast operator with an expression operand, type string, and optional module string. * translate.cxx (c_unparser::visit_cast_op): Error out if a @cast survives to translation. * elaborate.cxx (typeresolution_info::visit_cast_op): Error out if a @cast survives to type resolution. (symbol_fetcher::visit_cast_op): treat @casts as a symbol target (void_statement_reducer::visit_cast_op): unused @casts can be discarded, but the operand should still be evaluated. --- elaborate.h | 1 + 1 file changed, 1 insertion(+) (limited to 'elaborate.h') diff --git a/elaborate.h b/elaborate.h index c8697595..9cc4cbda 100644 --- a/elaborate.h +++ b/elaborate.h @@ -95,6 +95,7 @@ struct typeresolution_info: public visitor void visit_print_format (print_format* e); void visit_stat_op (stat_op* e); void visit_hist_op (hist_op* e); + void visit_cast_op (cast_op* e); }; -- cgit From 482fe2af17347b472232c5d7c4b26e53606e395e Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Tue, 17 Feb 2009 19:19:48 -0800 Subject: Bump copyright years to 2009 --- elaborate.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'elaborate.h') diff --git a/elaborate.h b/elaborate.h index 9cc4cbda..715a37df 100644 --- a/elaborate.h +++ b/elaborate.h @@ -1,5 +1,5 @@ // -*- C++ -*- -// Copyright (C) 2005-2008 Red Hat Inc. +// Copyright (C) 2005-2009 Red Hat Inc. // // This file is part of systemtap, and is free software. You can // redistribute it and/or modify it under the terms of the GNU General -- cgit From d5f0c423890f54b7f12da85fbcfc61879efc368e Mon Sep 17 00:00:00 2001 From: Rajan Arora Date: Wed, 18 Feb 2009 20:16:03 -0500 Subject: BZ 9719: Improve type mismatch messages --- elaborate.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'elaborate.h') diff --git a/elaborate.h b/elaborate.h index 715a37df..1e05444f 100644 --- a/elaborate.h +++ b/elaborate.h @@ -54,6 +54,8 @@ struct typeresolution_info: public visitor bool assert_resolvability; functiondecl* current_function; derived_probe* current_probe; + std::vector resolved_toks; // account for type mis- + std::vector printed_toks; // matches (BZ 9719) void check_arg_type (exp_type wanted, expression* arg); void mismatch (const token* tok, exp_type t1, exp_type t2); -- cgit