glsl/glcpp: Add a -d/--debug option to the standalone glcpp program
authorCarl Worth <cworth@cworth.org>
Wed, 25 Jun 2014 18:46:49 +0000 (11:46 -0700)
committerCarl Worth <cworth@cworth.org>
Tue, 29 Jul 2014 22:11:49 +0000 (15:11 -0700)
The verbose debug output from the parser is quite useful when debugging, and
having this available as a command-line option is much more convenient than
manually forcing this into the code when needed, (which is what I had been
doing for too long previously).

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
src/glsl/glcpp/glcpp-parse.y
src/glsl/glcpp/glcpp.c

index 840003b226ee2ef8be4ae67c369d7c535867d89c..4913330b3c083cf0159144ce6bd4da5e1370ece1 100644 (file)
@@ -184,6 +184,8 @@ add_builtin_define(glcpp_parser_t *parser, const char *name, int value);
 %left '*' '/' '%'
 %right UNARY
 
+%debug
+
 %%
 
 input:
index 07b1500b6b8cf1696c21b2e020ee3237bc76bdfc..ca188015c7e7f325d833580f754eccbb5743e131 100644 (file)
@@ -124,6 +124,7 @@ enum {
 const static struct option
 long_options[] = {
        {"disable-line-continuations", no_argument, 0, DISABLE_LINE_CONTINUATIONS_OPT },
+        {"debug",                      no_argument, 0, 'd'},
        {0,                            0,           0, 0 }
 };
 
@@ -140,11 +141,14 @@ main (int argc, char *argv[])
 
        init_fake_gl_context (&gl_ctx);
 
-       while ((c = getopt_long(argc, argv, "", long_options, NULL)) != -1) {
+       while ((c = getopt_long(argc, argv, "d", long_options, NULL)) != -1) {
                switch (c) {
                case DISABLE_LINE_CONTINUATIONS_OPT:
                        gl_ctx.Const.DisableGLSLLineContinuations = true;
                        break;
+                case 'd':
+                       glcpp_parser_debug = 1;
+                       break;
                default:
                        usage ();
                        exit (1);