summaryrefslogtreecommitdiffstats
path: root/testsuite/semok
Commit message (Collapse)AuthorAgeFilesLines
* 2005-11-08 Frank Ch. Eigler <fche@redhat.com>fche2005-11-081-0/+8
| | | | | | * tapsets.cxx (blacklisted_p): Tolerate NULL filename parameter. * src/testsuite/semok/twenty.stp: New test to enumerate everything dwarfly probeable.
* 2005-10-17 Frank Ch. Eigler <fche@elastic.org>fche2005-10-181-0/+10
| | | | | | | | | | | | | | | | | | | | PR 1338. * parse.cx (parse_probe): Unconditionally visit parse_probe_point. (parse_probe_point): Accept "*" as component name. * stapprobes.5.in: Document this. * elaborate.cxx (derive_probes): Rewrite. Make top-level function. (match_node::find_and_build): New function to replace (find_builder): Removed. (match_key operator <): Correct one nasty typo. (match_node::bind): Refuse to bind "*" component names. (derived_probe_builder::build): Remove recursion output param. (alias_expandion_builder::build): Recurse to derive_probes instead. * elaborate.h: Corresponding changes. * tapsets.cxx: Ditto. (query_cu): Elide prologue finding for uninteresting CUs. * testsuite/semok/nineteen.stp: New test. * testsuite/semko/twentythree.stp: New test. * testsuite/semko/twentyone/two.stp: Fix -p2.
* 2005-09-03 Frank Ch. Eigler <fche@elastic.org>fche2005-09-031-2/+2
| | | | | | | | | | PR 1292, by popular request. * parse.cxx (parse_functiondecl): Allow optional value/param type declarations. * stap.1.in: Document this. * tapset/*.stp: Convert most functions accordingly. * testsuite/parseok/twelve.stp, semok/seven.stp, semko/twenty.stp: Test this.
* nonefche2005-08-181-1/+2
|
* 2005-08-10 Frank Ch. Eigler <fche@elastic.org>fche2005-08-101-0/+8
| | | | | | | | | | | PR translator/1186 * elaborate.cxx (resolve_2types): Accept a flag to tolerate unresolved expression types. (visit_functioncall): Call it thusly. * translate.cxx (emit_function): Tolerate void functions. * stap.1.in: Document possibility of void functions. * tapset/builtin_{log,printk,warn}.stp: Make these void functions. * testsuite/buildok/nine.stp, semok/eighteen.stp: New tests.
* 2005-08-09 Graydon Hoare <graydon@redhat.com>graydon2005-08-104-23/+31
| | | | | * testsuite/parseok/nine.stp: Update * testsuite/semok/{six,seven,eleven,seventeen}.stp: Update.
* nonefche2005-08-081-0/+10
|
* 2005-08-03 Frank Ch. Eigler <fche@redhat.com>fche2005-08-031-0/+13
| | | | | | | | * stap.1: More meat, all stub sections filled. * elaborate.cxx (visit_assignment): Add numerous missing cases. * parse.cxx: Parse ".=" operator. * testsuite/semok/sixteen.stp: Check them. * main.cxx (usage): Don't show incompletely supported options.
* 2005-07-28 Frank Ch. Eigler <fche@redhat.com>fche2005-07-281-2/+6
| | | | | | | | | | | | | | | | | | | translator/1120 * main.cxx (main): Preset -R and -I options from environment variables (if set). Pass guru mode flags to parser. * parse.cxx (privileged): New parser operation flag. Update callers. (parse_embeddedcode): Throw an error if !privileged. (parse_functiondecl): Change signature. Prevent duplicates. (parse_globals): Ditto. * parse.h: Corresponding changes. * tapset/*.stp: Beginnings of real tapset library, to replace previous builtins. * tapsets.cxx: Greatly reduce verbose mode output. * Makefile.am: Install & dist it. * runtest.sh: Refer to it. * Makefile.in, aclocal.m4: Regenerated. * testsuite/*/*.stp: Set guru mode via /bin/sh if needed. * testusite/*/*ko.stp: Homogenize shell scripts.
* 2005-07-26 Frank Ch. Eigler <fche@redhat.com>fche2005-07-261-0/+10
| | | | | | | | | | | | | | | | | | | | | Support %{ embedded-c %} * staptree.h (embeddedcode): New statement subtype. Stub support in visitors. * staptree.cxx: Ditto. * parse.cxx: Parse %{ / %}. Accept "_" as identifier leading char. (parse_probe): Simplify calling convention. * elaborate.h: Store embedded code. * elaborate.cxx: Pass it. * translate.cxx: Transcribe it. Return some dropped module init/exit code. * Makefile.am: Add buildok/buildko tests. * Makefile.in: Regenerated. * main.cxx: Return EXIT_SUCCESS/FAILURE even for weird rc. * testsuite/parseok/nine.stp: Test _identifiers. * testsuite/transko/*.stp: Tweak to force -p3 rather than -p2 errors. * testsuite/semok/transko.stp: ... and keep it that way in the future. * testsuite/parse*/*: Some new tests for %{ %}. * testsuite/build*/*: New tests for -p4.
* 2005-07-07 Graydon Hoare <graydon@redhat.com>graydon2005-07-081-0/+12
| | | | | | | | * staptree.{h,cxx} (deep_copy_visitor): New visitor. * elaborate.cxx (derived_probe::derived_probe): (alias_expansion_builder::build): Use it. * testsuite/semok/fifteen.stp: New test which relies on deep copy.
* 2005-07-05 Graydon Hoare <graydon@redhat.com>graydon2005-07-063-0/+74
| | | | | | | | | * elaborate.{h,cxx}: Revert previous changes. * tapsets.{h,cxx}: Adapt to verbose as a member of session. * elaborate.cxx (alias_expansion_builder::build): Avoid copying locals between alias definition and use. * testsuite/semok/{twelve,thirteen,fourteen}.stp: New tests. * staptree.cxx (probe_alias::printsig): Print equals sign.
* 2005-06-13 Frank Ch. Eigler <fche@redhat.com>fche2005-06-138-9/+9
| | | | | | | | | | Start separating out translator-side probe point recognition. * tapsets.cxx: New file. (be_derived_probe): Support for begin/end probes. (derive_probe): Ditto. Reject anything unrecognized. * translator.cxx: Move out old code. * Makefile.am: Add new source file. * testsuite/semok/*: Switch to begin/end probes only.
* 2005-06-02 Frank Ch. Eigler <fche@redhat.com>fche2005-06-022-7/+50
| | | | | | | | | | | | | | | | Parse foreach construct. Added fuller copyright notices throughout. * staptree.h (foreach_loop): New tree node type. * staptree.cxx: Print it, visit it, love it, leave it. * parse.cxx: Parse it. (parse_stmt_block): Don't require ";" separators between statements. (parse_array_in): Use [] as index group operator instead of (). * elaborate.cxx (visit_foreach_loop): New code. * translate.cxx: Slightly tighten errorcount/actioncount handling. * main.cxx: Accept "-" as script file name standing for stdin. (visit_arrayindex): Switch to simpler set_arity call. * configure.ac: Generate DATE macro. * Makefile.in, configure, config.in: Regenerated. * testsuite/*: New/updated tests for syntax changes, foreach ().
* 2005-05-30 Frank Ch. Eigler <fche@redhat.com>fche2005-05-302-2/+12
| | | | | | | | | | | | | | | | | More fully parse & elaborate "expr in array" construct. * staptree.h (array_in): Make this unary. Update .cxx to match. * parse.cxx (parse_array_in): Rewrite. (parse_symbol_plain): Removed. Update .h to match. * elaborate.cxx (typeresolution_info::visit_array_in): New function. (find_array): Tentatively, accept arity=0. * translate.cxx (c_unparser::c_assign): New functions to eliminate much ugly duplication. Use throughout. (visit_symbol): Correct function formal argument search. (c_tmpcounter*::visit): Add missing recursion in several functions. * testsuite/*: Add new tests for array-in construct. Add the first "transok" test. * Makefile.am: Add transok tests. * Makefile.in: Regenerated.
* 2005-05-24 Frank Ch. Eigler <fche@redhat.com>fche2005-05-241-1/+1
| | | | | | | * elaborate.cxx (find_array): Support automagic tapset globals. * testsuite/semok/nine.stp: Test it ... * testsuite/semlib/g2.stp: ... using this global array. * staptree.cxx (stapfile print): List globals.
* 2005-05-24 Frank Ch. Eigler <fche@redhat.com>fche2005-05-242-0/+6
| | | | | * testsuite/semlib/*: New tapset library chunks for "-I" testing. * testsuite/semok/eight.stp, nine.stp: New tests.
* * at long last, a more full-bodied snapshotfche2005-05-217-6/+37
| | | | | | | | | | | | 2005-05-20 Frank Ch. Eigler <fche@redhat.com> Many changes throughout. Partial sketch of translation output. * elaborate.*: Elaboration pass. * translate.*: Translation pass. * staptree.*: Simplified for visitor concept. * main.cxx: Translator mainline. * *test.cxx: Removed. * testsuite/*: Some new tests, some changed for newer syntax.
* * preliminaries for code generation logicfche2005-05-056-8/+8
| | | | | | | | | | | | | | | | | | | | | 2005-05-05 Frank Ch. Eigler <fche@redhat.com> * parse.cxx (parse): Add helper methods. (lexer::scan, parse_assignment): Parse "<<<" operator. Fix assignment associativity. (parse_symbol): Permit function with empty arg list. (parse_global, parse_statement, parse_functiondecl): Expect unconsumed leading keyword. (parse_global): Don't use ";" termination. * parse.h: Corresponding changes. * staptree.cxx (binary_expression::resolve_types): Fix <<< type inference. (translator_output): Improve pretty-printing. (*): Add general visitors to statement/expression types. * staptree.h: Corresponding changes. Tweak symresolution_info fields. Add semantic_error class. * semtest.cxx: Adapt to this. * testsuite/parseok/two.stp, semok/*.stp: Adapt to syntax changes.
* 2005-03-15 Frank Ch. Eigler <fche@redhat.com>fche2005-03-152-2/+2
| | | | | | | | | | | | | | * TODO: New file. Include some probe-point-provider syntax examples. * parse.cxx (lexer::scan, parser::parse_literal): Support hex, octal numbers via strtol. (parse_probe, parse_probe_point): Modify for dotted syntax. * staptree.cxx: Ditto. * parsetest.cxx, semtest.cxx: Print parse/sem results even if .stp files were given on command line. * parse.h, staptree.h: Rename probe_point_spec -> probe_point. * runtest.sh: New test-runner front-end script. * Makefile.am: Use it for TESTS_ENVIRONMENT. * testsuite/*: Update probe point syntax. Add a bunch of new tests.
* 2005-03-04 Frank Ch. Eigler <fche@redhat.com>fche2005-03-041-0/+7
| | | | | | | | | | | * parse.cxx (scan): Support '$' characters in identifiers. (parse_symbol): Support thread-> / process-> shorthand. * staptree.cxx (symresolution_info::find): Split up into find_scalar, find_array, find_function. (resolve_symbols): Call the above for symbol/arrayindex/functioncall. (find_scalar): Add stub support for synthetic builtin variables. * staptree.h: Corresponding changes. * testsuite/*: Some new tests.
* 2005-03-03 Frank Ch. Eigler <fche@redhat.com>fche2005-03-031-0/+7
| | | | | | | | | | * parse.cxx (parse_assignment): Assert lvalueness of left operand. * staptree.h (expression): Add is_lvalue member. * staptree.cxx (functioncall::resolve_types): Don't crash on formal-vs-actual argument count mismatch. (*): Add some is_lvalue stub functions. * testsuite/*: Some new tests.
* * some semantic analysisfche2005-03-024-0/+67
2005-03-01 Frank Ch. Eigler <fche@redhat.com> * parse.cxx: Implement left-associativity for several types of operators. Add some more statement types. Parse functions. Be able to print tokens. Simplify error generating functions. Save tokens in all parse tree nodes. * parse.h: Corresponding changes. * staptree.cxx: Move tree-printing functions here. Add many new functions for symbol and type resolution. * staptree.h: Corresponding changes. * semtest.cxx: New semantic analysis pass & test driver. * testsuite/sem*/*: New tests. * parsetest.cxx: Separated parse test driver. * testsuite/parse*/*: Adapt tests to parsetest driver. * Makefile.am: Build semtest. Run its tests. * Makefile.in: Regenerated. * parse.cxx, parse.h: New files: parser.