]> git.eshelyaron.com Git - emacs.git/commitdiff
C/C++: Fix function pointer parsing
authorDavid Engster <dengste@eml.cc>
Sat, 19 Oct 2013 11:35:06 +0000 (13:35 +0200)
committerEdward John Steere <edward.steere@gmail.com>
Wed, 25 Jan 2017 15:59:25 +0000 (17:59 +0200)
* semantic/bovine/c.by (variablearg-opt-name): Support parsing of
  function pointers inside an argument list.

* semantic/bovine/c.el (semantic-c-reconstitute-token): Change
  handling of function pointers; instead of seeing them as variables,
  handle them as functions with a 'function-pointer' attribute.  Also,
  correctly deal with function pointers as function arguments.
  (semantic-c-reconstitute-function-arglist): New function to parse
  function pointers inside an argument list.
  (semantic-format-tag-name): Use 'function-pointer' attribute instead
  of the old 'functionpointer-flag'.

* tests/cedet/semantic/test/manual/cedet/testsppreplace.c:
* tests/cedet/semantic/test/manual/cedet/testsppreplaced.c: Disable
  test which now breaks due to improved function pointer parsing.
  This test is broken anyway, since it just succeeded because the
  argument list was not parsed at all before this commit.  The
  underlying bug was always present in the semantic preprocessor.

test/manual/cedet/cedet/semantic/tests/testsppreplaced.c

index 49a982a0ccdbcd1d0fd901595bdb768ce28c406b..105d6ac9cff0f1d28517e992249d436f4d888a62 100644 (file)
@@ -101,9 +101,11 @@ int ABtest;
 
 /* TEST: Macro Recursion limits in arguments to a macro.
  * This code is from ALSA, noticed by Yupeng. */
+/* See commentary in testsppreplace.c. This test is broken.
+
 struct mr_moose_ops {
   int (*mr_moose_disconnect)(struct mr_moose *dev);
 };
-
+*/
 
 /* End */