/* $NetBSD: lsym_funcname.c,v 1.7 2023/06/17 22:09:24 rillig Exp $ */ /* * Tests for the token lsym_funcname, which is the name of a function, but only * in a function definition, not in a declaration or a call expression. * * See also: * lsym_word.c */ //indent input void function(void) { func(); (func)(); func(1, 2, 3); } //indent end //indent run-equals-input /* * The comment after the return type of a function definition is a code * comment, not a declaration comment. */ //indent input void // comment function_with_comment(void) { } //indent end //indent run-equals-input /* * The heuristics for telling a function definition and a function declaration * apart look at the remaining characters in a line but don't tokenize them. * Due to that, a ');' in a comment influences the heuristics. */ //indent input // $ This ');' in the comment does not mark the end of the declaration. void heuristics_semicolon_comment(/* ); */) {} void heuristics_semicolon_no_comm(/* -- */) {} void heuristics_comma_comment(/* ), */) {} void heuristics_comma_no_comm(/* -- */) {} //indent end //indent run -di0 void heuristics_semicolon_comment(/* ); */) { } void heuristics_semicolon_no_comm(/* -- */) { } void heuristics_comma_comment(/* ), */) { } void heuristics_comma_no_comm(/* -- */) { } //indent end