summaryrefslogtreecommitdiffstats
path: root/regress/mdoc/Fo
diff options
context:
space:
mode:
Diffstat (limited to 'regress/mdoc/Fo')
-rw-r--r--regress/mdoc/Fo/Makefile15
-rw-r--r--regress/mdoc/Fo/basic.in24
-rw-r--r--regress/mdoc/Fo/basic.out_ascii16
-rw-r--r--regress/mdoc/Fo/break.in49
-rw-r--r--regress/mdoc/Fo/break.out_ascii48
-rw-r--r--regress/mdoc/Fo/eos.in15
-rw-r--r--regress/mdoc/Fo/eos.out_ascii10
-rw-r--r--regress/mdoc/Fo/font.in19
-rw-r--r--regress/mdoc/Fo/font.out_ascii13
-rw-r--r--regress/mdoc/Fo/noarg.in44
-rw-r--r--regress/mdoc/Fo/noarg.out_ascii12
-rw-r--r--regress/mdoc/Fo/noarg.out_lint10
-rw-r--r--regress/mdoc/Fo/nohead.in13
-rw-r--r--regress/mdoc/Fo/nohead.out_ascii9
-rw-r--r--regress/mdoc/Fo/nohead.out_lint1
-rw-r--r--regress/mdoc/Fo/obsolete.in12
-rw-r--r--regress/mdoc/Fo/obsolete.out_ascii11
-rw-r--r--regress/mdoc/Fo/obsolete.out_lint2
-rw-r--r--regress/mdoc/Fo/punct.in9
-rw-r--r--regress/mdoc/Fo/punct.out_ascii9
-rw-r--r--regress/mdoc/Fo/section.in83
-rw-r--r--regress/mdoc/Fo/section.out_ascii59
-rw-r--r--regress/mdoc/Fo/warn.in13
-rw-r--r--regress/mdoc/Fo/warn.out_ascii13
-rw-r--r--regress/mdoc/Fo/warn.out_lint2
25 files changed, 511 insertions, 0 deletions
diff --git a/regress/mdoc/Fo/Makefile b/regress/mdoc/Fo/Makefile
new file mode 100644
index 00000000..71242c8e
--- /dev/null
+++ b/regress/mdoc/Fo/Makefile
@@ -0,0 +1,15 @@
+# $OpenBSD: Makefile,v 1.13 2015/02/16 11:39:34 schwarze Exp $
+
+REGRESS_TARGETS = basic break eos font noarg nohead
+REGRESS_TARGETS += obsolete punct section warn
+LINT_TARGETS = noarg nohead obsolete warn
+
+# groff-1.22.3 defects:
+# - .Fo without an argument prints unbalanced parentheses
+# - .nr nS is ignored
+
+SKIP_GROFF = nohead section
+
+SKIP_TMAN = eos
+
+.include <bsd.regress.mk>
diff --git a/regress/mdoc/Fo/basic.in b/regress/mdoc/Fo/basic.in
new file mode 100644
index 00000000..5572ba63
--- /dev/null
+++ b/regress/mdoc/Fo/basic.in
@@ -0,0 +1,24 @@
+.Dd July 7, 2012
+.Dt FO-BASIC 1
+.Os OpenBSD
+.Sh NAME
+.Nm Fo-basic
+.Nd function blocks
+.Sh SYNOPSIS
+.Ft double
+.Fo sin
+.Fa "double x"
+.Fc
+.Ft double
+.Fo atan2
+.Fa "double y" "double x"
+.Fc
+.Sh DESCRIPTION
+.Ft double
+.Fo sin
+.Fa "double x"
+.Fc
+.Ft double
+.Fo atan2
+.Fa "double y" "double x"
+.Fc
diff --git a/regress/mdoc/Fo/basic.out_ascii b/regress/mdoc/Fo/basic.out_ascii
new file mode 100644
index 00000000..7ab11d47
--- /dev/null
+++ b/regress/mdoc/Fo/basic.out_ascii
@@ -0,0 +1,16 @@
+FO-BASIC(1) General Commands Manual FO-BASIC(1)
+
+NNAAMMEE
+ FFoo--bbaassiicc - function blocks
+
+SSYYNNOOPPSSIISS
+ _d_o_u_b_l_e
+ ssiinn(_d_o_u_b_l_e _x);
+
+ _d_o_u_b_l_e
+ aattaann22(_d_o_u_b_l_e _y, _d_o_u_b_l_e _x);
+
+DDEESSCCRRIIPPTTIIOONN
+ _d_o_u_b_l_e ssiinn(_d_o_u_b_l_e _x) _d_o_u_b_l_e aattaann22(_d_o_u_b_l_e _y, _d_o_u_b_l_e _x)
+
+OpenBSD July 7, 2012 OpenBSD
diff --git a/regress/mdoc/Fo/break.in b/regress/mdoc/Fo/break.in
new file mode 100644
index 00000000..48a0a1a2
--- /dev/null
+++ b/regress/mdoc/Fo/break.in
@@ -0,0 +1,49 @@
+.Dd April 8, 2014
+.Dt FO-BREAK 1
+.Os OpenBSD
+.Sh NAME
+.Nm Fo-break
+.Nd line breaks in function blocks
+.Sh SYNOPSIS
+.Fd using \&Fn:
+.Ft my_long_return_type *
+.Fn my_long_function "my_long_type first_argument" "my_long_type second_argument"
+.Ft void
+.Fn "this function name is so ridiculously long \
+that it will not fit on the line" "my_long_type first_argument" \
+"my_long_type second_argument" "my_long_type third_argument"
+.Fd using \&Fo and single-argument \&Fa:
+.Ft my_long_return_type *
+.Fo my_long_function
+.Fa "my_long_type first_argument"
+.Fa "my_long_type second_argument"
+.Fc
+.Ft void
+.Fo "this function name is so ridiculously long \
+that it will not fit on the line"
+.Fa "my_long_type first_argument"
+.Fa "my_long_type second_argument"
+.Fa "my_long_type third_argument"
+.Fc
+.Fd using \&Fo and multi-argument \&Fa:
+.Ft my_long_return_type *
+.Fo my_long_function
+.Fa "my_long_type first_argument" "my_long_type second_argument"
+.Fc
+.Sh DESCRIPTION
+using Fn:
+.br
+.Fn my_long_function "my_long_type first_argument" "my_long_type second_argument"
+.Pp
+using Fo and single-argument Fa:
+.br
+.Fo my_long_function
+.Fa "my_long_type first_argument"
+.Fa "my_long_type second_argument"
+.Fc
+.Pp
+using Fo and multi-argument Fa:
+.br
+.Fo my_long_function
+.Fa "my_long_type first_argument" "my_long_type second_argument"
+.Fc
diff --git a/regress/mdoc/Fo/break.out_ascii b/regress/mdoc/Fo/break.out_ascii
new file mode 100644
index 00000000..d8a5df70
--- /dev/null
+++ b/regress/mdoc/Fo/break.out_ascii
@@ -0,0 +1,48 @@
+FO-BREAK(1) General Commands Manual FO-BREAK(1)
+
+NNAAMMEE
+ FFoo--bbrreeaakk - line breaks in function blocks
+
+SSYYNNOOPPSSIISS
+ uussiinngg FFnn::
+
+ _m_y___l_o_n_g___r_e_t_u_r_n___t_y_p_e _*
+ mmyy__lloonngg__ffuunnccttiioonn(_m_y___l_o_n_g___t_y_p_e _f_i_r_s_t___a_r_g_u_m_e_n_t,
+ _m_y___l_o_n_g___t_y_p_e _s_e_c_o_n_d___a_r_g_u_m_e_n_t);
+
+ _v_o_i_d
+ tthhiiss ffuunnccttiioonn nnaammee iiss ssoo rriiddiiccuulloouussllyy lloonngg tthhaatt iitt wwiillll nnoott ffiitt oonn tthhee
+ lliinnee(_m_y___l_o_n_g___t_y_p_e _f_i_r_s_t___a_r_g_u_m_e_n_t, _m_y___l_o_n_g___t_y_p_e _s_e_c_o_n_d___a_r_g_u_m_e_n_t,
+ _m_y___l_o_n_g___t_y_p_e _t_h_i_r_d___a_r_g_u_m_e_n_t);
+
+ uussiinngg FFoo aanndd ssiinnggllee--aarrgguummeenntt FFaa::
+
+ _m_y___l_o_n_g___r_e_t_u_r_n___t_y_p_e _*
+ mmyy__lloonngg__ffuunnccttiioonn(_m_y___l_o_n_g___t_y_p_e _f_i_r_s_t___a_r_g_u_m_e_n_t,
+ _m_y___l_o_n_g___t_y_p_e _s_e_c_o_n_d___a_r_g_u_m_e_n_t);
+
+ _v_o_i_d
+ tthhiiss ffuunnccttiioonn nnaammee iiss ssoo rriiddiiccuulloouussllyy lloonngg tthhaatt iitt wwiillll nnoott ffiitt oonn tthhee
+ lliinnee(_m_y___l_o_n_g___t_y_p_e _f_i_r_s_t___a_r_g_u_m_e_n_t, _m_y___l_o_n_g___t_y_p_e _s_e_c_o_n_d___a_r_g_u_m_e_n_t,
+ _m_y___l_o_n_g___t_y_p_e _t_h_i_r_d___a_r_g_u_m_e_n_t);
+
+ uussiinngg FFoo aanndd mmuullttii--aarrgguummeenntt FFaa::
+
+ _m_y___l_o_n_g___r_e_t_u_r_n___t_y_p_e _*
+ mmyy__lloonngg__ffuunnccttiioonn(_m_y___l_o_n_g___t_y_p_e _f_i_r_s_t___a_r_g_u_m_e_n_t,
+ _m_y___l_o_n_g___t_y_p_e _s_e_c_o_n_d___a_r_g_u_m_e_n_t);
+
+DDEESSCCRRIIPPTTIIOONN
+ using Fn:
+ mmyy__lloonngg__ffuunnccttiioonn(_m_y___l_o_n_g___t_y_p_e _f_i_r_s_t___a_r_g_u_m_e_n_t, _m_y___l_o_n_g___t_y_p_e
+ _s_e_c_o_n_d___a_r_g_u_m_e_n_t)
+
+ using Fo and single-argument Fa:
+ mmyy__lloonngg__ffuunnccttiioonn(_m_y___l_o_n_g___t_y_p_e _f_i_r_s_t___a_r_g_u_m_e_n_t,
+ _m_y___l_o_n_g___t_y_p_e _s_e_c_o_n_d___a_r_g_u_m_e_n_t)
+
+ using Fo and multi-argument Fa:
+ mmyy__lloonngg__ffuunnccttiioonn(_m_y___l_o_n_g___t_y_p_e _f_i_r_s_t___a_r_g_u_m_e_n_t,
+ _m_y___l_o_n_g___t_y_p_e _s_e_c_o_n_d___a_r_g_u_m_e_n_t)
+
+OpenBSD April 8, 2014 OpenBSD
diff --git a/regress/mdoc/Fo/eos.in b/regress/mdoc/Fo/eos.in
new file mode 100644
index 00000000..a97e00f9
--- /dev/null
+++ b/regress/mdoc/Fo/eos.in
@@ -0,0 +1,15 @@
+.Dd November 17, 2012
+.Dt FO-EOS 1
+.Os OpenBSD
+.Sh NAME
+.Nm Fo-eos
+.Nd end of sentence handling after a function block
+.Sh DESCRIPTION
+As an example of a trigonometric function, let us consider
+.Fn "double sin" "double x" .
+Or do you prefer
+.Ft double
+.Fo cos
+.Fa double x
+.Fc .
+Either will do.
diff --git a/regress/mdoc/Fo/eos.out_ascii b/regress/mdoc/Fo/eos.out_ascii
new file mode 100644
index 00000000..a09113cf
--- /dev/null
+++ b/regress/mdoc/Fo/eos.out_ascii
@@ -0,0 +1,10 @@
+FO-EOS(1) General Commands Manual FO-EOS(1)
+
+NNAAMMEE
+ FFoo--eeooss - end of sentence handling after a function block
+
+DDEESSCCRRIIPPTTIIOONN
+ As an example of a trigonometric function, let us consider ddoouubbllee
+ ssiinn(_d_o_u_b_l_e _x). Or do you prefer _d_o_u_b_l_e ccooss(_d_o_u_b_l_e, _x). Either will do.
+
+OpenBSD November 17, 2012 OpenBSD
diff --git a/regress/mdoc/Fo/font.in b/regress/mdoc/Fo/font.in
new file mode 100644
index 00000000..894a86aa
--- /dev/null
+++ b/regress/mdoc/Fo/font.in
@@ -0,0 +1,19 @@
+.Dd July 9, 2012
+.Dt FO-FONT 1
+.Os OpenBSD
+.Sh NAME
+.Nm Fo-font
+.Nd font nesting in function blocks
+.Sh DESCRIPTION
+.Fn prefix\\fIname\\fPsuffix "type arg"
+trailing text
+.Pp
+.Fo prefix\\fIname\\fPsuffix
+.Fa "type arg"
+.Fc
+trailing text
+.Pp
+.Fo function
+.Fa prefix\\fBbold\\fPsuffix
+.Fc
+trailing text
diff --git a/regress/mdoc/Fo/font.out_ascii b/regress/mdoc/Fo/font.out_ascii
new file mode 100644
index 00000000..3490ad8a
--- /dev/null
+++ b/regress/mdoc/Fo/font.out_ascii
@@ -0,0 +1,13 @@
+FO-FONT(1) General Commands Manual FO-FONT(1)
+
+NNAAMMEE
+ FFoo--ffoonntt - font nesting in function blocks
+
+DDEESSCCRRIIPPTTIIOONN
+ pprreeffiixx_n_a_m_essuuffffiixx(_t_y_p_e _a_r_g) trailing text
+
+ pprreeffiixx_n_a_m_essuuffffiixx(_t_y_p_e _a_r_g) trailing text
+
+ ffuunnccttiioonn(_p_r_e_f_i_xbboolldd_s_u_f_f_i_x) trailing text
+
+OpenBSD July 9, 2012 OpenBSD
diff --git a/regress/mdoc/Fo/noarg.in b/regress/mdoc/Fo/noarg.in
new file mode 100644
index 00000000..24eab004
--- /dev/null
+++ b/regress/mdoc/Fo/noarg.in
@@ -0,0 +1,44 @@
+.Dd July 12, 2012
+.Dt FN-NOARG 1
+.Os OpenBSD
+.Sh NAME
+.Nm Fn-noarg
+.Nd function name macro without arguments
+.Sh DESCRIPTION
+with arguments:
+.Ft int
+.Fn abs "int i"
+.Ft long
+.Fo labs bogus
+.Fa "long i"
+.Fc
+void function arguments:
+.Ft int
+.Fn rand
+.Ft long
+.Fo random
+.Fc
+.Ft u_int32_t
+.Fo arc4random
+.Fa
+.Fc
+no name arguments:
+.Ft int
+.Fn
+no type arguments:
+.Ft
+.Fn abs "int i"
+no type and void function arguments:
+.Ft
+.Fn rand
+.Ft
+.Fo random
+.Fc
+.Ft
+.Fo arc4random
+.Fa
+.Fc
+no arguments at all:
+.Ft
+.Fn
+end of test document
diff --git a/regress/mdoc/Fo/noarg.out_ascii b/regress/mdoc/Fo/noarg.out_ascii
new file mode 100644
index 00000000..bd895e4a
--- /dev/null
+++ b/regress/mdoc/Fo/noarg.out_ascii
@@ -0,0 +1,12 @@
+FN-NOARG(1) General Commands Manual FN-NOARG(1)
+
+NNAAMMEE
+ FFnn--nnooaarrgg - function name macro without arguments
+
+DDEESSCCRRIIPPTTIIOONN
+ with arguments: _i_n_t aabbss(_i_n_t _i) _l_o_n_g llaabbss(_l_o_n_g _i) void function arguments:
+ _i_n_t rraanndd() _l_o_n_g rraannddoomm() _u___i_n_t_3_2___t aarrcc44rraannddoomm() no name arguments: _i_n_t no
+ type arguments: aabbss(_i_n_t _i) no type and void function arguments: rraanndd()
+ rraannddoomm() aarrcc44rraannddoomm() no arguments at all: end of test document
+
+OpenBSD July 12, 2012 OpenBSD
diff --git a/regress/mdoc/Fo/noarg.out_lint b/regress/mdoc/Fo/noarg.out_lint
new file mode 100644
index 00000000..4c72b01d
--- /dev/null
+++ b/regress/mdoc/Fo/noarg.out_lint
@@ -0,0 +1,10 @@
+mandoc: noarg.in:23:2: WARNING: skipping empty macro: Fa
+mandoc: noarg.in:27:2: WARNING: skipping empty macro: Fn
+mandoc: noarg.in:29:2: WARNING: skipping empty macro: Ft
+mandoc: noarg.in:32:2: WARNING: skipping empty macro: Ft
+mandoc: noarg.in:34:2: WARNING: skipping empty macro: Ft
+mandoc: noarg.in:37:2: WARNING: skipping empty macro: Ft
+mandoc: noarg.in:39:2: WARNING: skipping empty macro: Fa
+mandoc: noarg.in:42:2: WARNING: skipping empty macro: Ft
+mandoc: noarg.in:43:2: WARNING: skipping empty macro: Fn
+mandoc: noarg.in:12:10: ERROR: skipping excess arguments: Fo ... bogus
diff --git a/regress/mdoc/Fo/nohead.in b/regress/mdoc/Fo/nohead.in
new file mode 100644
index 00000000..c41b5e6e
--- /dev/null
+++ b/regress/mdoc/Fo/nohead.in
@@ -0,0 +1,13 @@
+.Dd February 5, 2015
+.Dt FO-NOHEAD 1
+.Os OpenBSD
+.Sh NAME
+.Nm Fo-nohead
+.Nd function block macro without head argument
+.Sh DESCRIPTION
+initial text
+.Ft int
+.Fo
+.Fa int
+.Fc
+final text
diff --git a/regress/mdoc/Fo/nohead.out_ascii b/regress/mdoc/Fo/nohead.out_ascii
new file mode 100644
index 00000000..c1ad57d7
--- /dev/null
+++ b/regress/mdoc/Fo/nohead.out_ascii
@@ -0,0 +1,9 @@
+FO-NOHEAD(1) General Commands Manual FO-NOHEAD(1)
+
+NNAAMMEE
+ FFoo--nnoohheeaadd - function block macro without head argument
+
+DDEESSCCRRIIPPTTIIOONN
+ initial text _i_n_t(_i_n_t) final text
+
+OpenBSD February 5, 2015 OpenBSD
diff --git a/regress/mdoc/Fo/nohead.out_lint b/regress/mdoc/Fo/nohead.out_lint
new file mode 100644
index 00000000..aa0d5242
--- /dev/null
+++ b/regress/mdoc/Fo/nohead.out_lint
@@ -0,0 +1 @@
+mandoc: nohead.in:10:2: WARNING: missing function name, using "": Fo
diff --git a/regress/mdoc/Fo/obsolete.in b/regress/mdoc/Fo/obsolete.in
new file mode 100644
index 00000000..4901cbd5
--- /dev/null
+++ b/regress/mdoc/Fo/obsolete.in
@@ -0,0 +1,12 @@
+.Dd July 2, 2014
+.Dt FO-OBSOLETE 1
+.Os OpenBSD
+.Sh NAME
+.Nm Fo-obsolete
+.Nd obsolete function macros
+.Sh DESCRIPTION
+old function type
+.Ot fortran
+.Pp
+function return value
+.Fr value
diff --git a/regress/mdoc/Fo/obsolete.out_ascii b/regress/mdoc/Fo/obsolete.out_ascii
new file mode 100644
index 00000000..3e2cc617
--- /dev/null
+++ b/regress/mdoc/Fo/obsolete.out_ascii
@@ -0,0 +1,11 @@
+FO-OBSOLETE(1) General Commands Manual FO-OBSOLETE(1)
+
+NNAAMMEE
+ FFoo--oobbssoolleettee - obsolete function macros
+
+DDEESSCCRRIIPPTTIIOONN
+ old function type _f_o_r_t_r_a_n
+
+ function return value _v_a_l_u_e
+
+OpenBSD July 2, 2014 OpenBSD
diff --git a/regress/mdoc/Fo/obsolete.out_lint b/regress/mdoc/Fo/obsolete.out_lint
new file mode 100644
index 00000000..c1ad3d85
--- /dev/null
+++ b/regress/mdoc/Fo/obsolete.out_lint
@@ -0,0 +1,2 @@
+mandoc: obsolete.in:9:2: WARNING: obsolete macro: Ot
+mandoc: obsolete.in:12:2: WARNING: obsolete macro: Fr
diff --git a/regress/mdoc/Fo/punct.in b/regress/mdoc/Fo/punct.in
new file mode 100644
index 00000000..0b407ffb
--- /dev/null
+++ b/regress/mdoc/Fo/punct.in
@@ -0,0 +1,9 @@
+.Dd November 20, 2014
+.Dt FO-PUNCT 1
+.Os OpenBSD
+.Sh NAME
+.Nm Fo-punct
+.Nd punctuation on function name input lines
+.Sh DESCRIPTION
+.Ft double
+.Fn sin , cos
diff --git a/regress/mdoc/Fo/punct.out_ascii b/regress/mdoc/Fo/punct.out_ascii
new file mode 100644
index 00000000..4e8b1abe
--- /dev/null
+++ b/regress/mdoc/Fo/punct.out_ascii
@@ -0,0 +1,9 @@
+FO-PUNCT(1) General Commands Manual FO-PUNCT(1)
+
+NNAAMMEE
+ FFoo--ppuunncctt - punctuation on function name input lines
+
+DDEESSCCRRIIPPTTIIOONN
+ _d_o_u_b_l_e ssiinn(), cos
+
+OpenBSD November 20, 2014 OpenBSD
diff --git a/regress/mdoc/Fo/section.in b/regress/mdoc/Fo/section.in
new file mode 100644
index 00000000..7816ca49
--- /dev/null
+++ b/regress/mdoc/Fo/section.in
@@ -0,0 +1,83 @@
+.Dd April 7, 2010
+.Dt FN-SECTION 3
+.Os OpenBSD
+.Sh NAME
+.Nm Fn-section
+.Nd special handling of Fn in various sections
+.Sh SYNOPSIS
+.Ft int
+.Fn abs "int j"
+.Ft double
+.Fn sin "double x"
+.Sh DESCRIPTION
+.Ft int
+.Fn abs "int j"
+.Ft double
+.Fn sin "double x"
+.Sh RETURN VALUES
+.Ft int
+.Fn abs "int j"
+.Ft double
+.Fn sin "double x"
+.Sh ENVIRONMENT
+.Ft int
+.Fn abs "int j"
+.Ft double
+.Fn sin "double x"
+.Sh FILES
+.Ft int
+.Fn abs "int j"
+.Ft double
+.Fn sin "double x"
+.Sh EXAMPLES
+.Ft int
+.Fn abs "int j"
+.Ft double
+.Fn sin "double x"
+.Sh DIAGNOSTICS
+.Ft int
+.Fn abs "int j"
+.Ft double
+.Fn sin "double x"
+.Sh ERRORS
+.Ft int
+.Fn abs "int j"
+.Ft double
+.Fn sin "double x"
+.Sh SEE ALSO
+.Ft int
+.Fn abs "int j"
+.Ft double
+.Fn sin "double x"
+.Sh STANDARDS
+.Ft int
+.Fn abs "int j"
+.Ft double
+.Fn sin "double x"
+.Sh HISTORY
+.Ft int
+.Fn abs "int j"
+.Ft double
+.Fn sin "double x"
+.Sh AUTHORS
+.Ft int
+.Fn abs "int j"
+.Ft double
+.Fn sin "double x"
+.Sh CAVEATS
+.Ft int
+.Fn abs "int j"
+.Ft double
+.Fn sin "double x"
+.Sh BUGS
+.Ft int
+.Fn abs "int j"
+.Ft double
+.Fn sin "double x"
+.Sh CUSTOM
+.nr nS 1
+.Ft int
+.Fn abs "int j"
+.Ft double
+.Fn sin "double x"
+.nr nS 0
diff --git a/regress/mdoc/Fo/section.out_ascii b/regress/mdoc/Fo/section.out_ascii
new file mode 100644
index 00000000..9273ce84
--- /dev/null
+++ b/regress/mdoc/Fo/section.out_ascii
@@ -0,0 +1,59 @@
+FN-SECTION(3) Library Functions Manual FN-SECTION(3)
+
+NNAAMMEE
+ FFnn--sseeccttiioonn - special handling of Fn in various sections
+
+SSYYNNOOPPSSIISS
+ _i_n_t
+ aabbss(_i_n_t _j);
+
+ _d_o_u_b_l_e
+ ssiinn(_d_o_u_b_l_e _x);
+
+DDEESSCCRRIIPPTTIIOONN
+ _i_n_t aabbss(_i_n_t _j) _d_o_u_b_l_e ssiinn(_d_o_u_b_l_e _x)
+
+RREETTUURRNN VVAALLUUEESS
+ _i_n_t aabbss(_i_n_t _j) _d_o_u_b_l_e ssiinn(_d_o_u_b_l_e _x)
+
+EENNVVIIRROONNMMEENNTT
+ _i_n_t aabbss(_i_n_t _j) _d_o_u_b_l_e ssiinn(_d_o_u_b_l_e _x)
+
+FFIILLEESS
+ _i_n_t aabbss(_i_n_t _j) _d_o_u_b_l_e ssiinn(_d_o_u_b_l_e _x)
+
+EEXXAAMMPPLLEESS
+ _i_n_t aabbss(_i_n_t _j) _d_o_u_b_l_e ssiinn(_d_o_u_b_l_e _x)
+
+DDIIAAGGNNOOSSTTIICCSS
+ _i_n_t aabbss(_i_n_t _j) _d_o_u_b_l_e ssiinn(_d_o_u_b_l_e _x)
+
+EERRRROORRSS
+ _i_n_t aabbss(_i_n_t _j) _d_o_u_b_l_e ssiinn(_d_o_u_b_l_e _x)
+
+SSEEEE AALLSSOO
+ _i_n_t aabbss(_i_n_t _j) _d_o_u_b_l_e ssiinn(_d_o_u_b_l_e _x)
+
+SSTTAANNDDAARRDDSS
+ _i_n_t aabbss(_i_n_t _j) _d_o_u_b_l_e ssiinn(_d_o_u_b_l_e _x)
+
+HHIISSTTOORRYY
+ _i_n_t aabbss(_i_n_t _j) _d_o_u_b_l_e ssiinn(_d_o_u_b_l_e _x)
+
+AAUUTTHHOORRSS
+ _i_n_t aabbss(_i_n_t _j) _d_o_u_b_l_e ssiinn(_d_o_u_b_l_e _x)
+
+CCAAVVEEAATTSS
+ _i_n_t aabbss(_i_n_t _j) _d_o_u_b_l_e ssiinn(_d_o_u_b_l_e _x)
+
+BBUUGGSS
+ _i_n_t aabbss(_i_n_t _j) _d_o_u_b_l_e ssiinn(_d_o_u_b_l_e _x)
+
+CCUUSSTTOOMM
+ _i_n_t
+ aabbss(_i_n_t _j);
+
+ _d_o_u_b_l_e
+ ssiinn(_d_o_u_b_l_e _x);
+
+OpenBSD April 7, 2010 OpenBSD
diff --git a/regress/mdoc/Fo/warn.in b/regress/mdoc/Fo/warn.in
new file mode 100644
index 00000000..d41e658c
--- /dev/null
+++ b/regress/mdoc/Fo/warn.in
@@ -0,0 +1,13 @@
+.Dd October 11, 2014
+.Dt FO-WARN 1
+.Os OpenBSD
+.Sh NAME
+.Nm Fo-warn
+.Nd warnings related to function blocks
+.Sh SYNOPSIS
+.Ft double
+.Fo sin()
+.Fa "double x"
+.Fc
+.Ft double
+.Fn atan2 "double y, double x"
diff --git a/regress/mdoc/Fo/warn.out_ascii b/regress/mdoc/Fo/warn.out_ascii
new file mode 100644
index 00000000..fd1890b5
--- /dev/null
+++ b/regress/mdoc/Fo/warn.out_ascii
@@ -0,0 +1,13 @@
+FO-WARN(1) General Commands Manual FO-WARN(1)
+
+NNAAMMEE
+ FFoo--wwaarrnn - warnings related to function blocks
+
+SSYYNNOOPPSSIISS
+ _d_o_u_b_l_e
+ ssiinn(())(_d_o_u_b_l_e _x);
+
+ _d_o_u_b_l_e
+ aattaann22(_d_o_u_b_l_e _y_, _d_o_u_b_l_e _x);
+
+OpenBSD October 11, 2014 OpenBSD
diff --git a/regress/mdoc/Fo/warn.out_lint b/regress/mdoc/Fo/warn.out_lint
new file mode 100644
index 00000000..09fc534f
--- /dev/null
+++ b/regress/mdoc/Fo/warn.out_lint
@@ -0,0 +1,2 @@
+mandoc: warn.in:9:8: WARNING: parenthesis in function name: sin()
+mandoc: warn.in:13:19: WARNING: comma in function argument: double y, double x