@@ -1757,16 +1757,6 @@ Perl_invoke_exception_hook(pTHX_ SV *ex, bool warn)
1757
1757
return FALSE;
1758
1758
}
1759
1759
1760
- /*
1761
- =for apidoc die_sv
1762
-
1763
- This behaves the same as L</croak_sv>, except for the return type.
1764
- It should be used only where the C<OP *> return type is required.
1765
- The function never actually returns.
1766
-
1767
- =cut
1768
- */
1769
-
1770
1760
/* silence __declspec(noreturn) warnings */
1771
1761
MSVC_DIAG_IGNORE (4646 4645 )
1772
1762
OP *
@@ -1812,27 +1802,6 @@ Perl_die(pTHX_ const char* pat, ...)
1812
1802
}
1813
1803
MSVC_DIAG_RESTORE
1814
1804
1815
- /*
1816
- =for apidoc croak_sv
1817
-
1818
- This is an XS interface to Perl's C<die> function.
1819
-
1820
- C<baseex> is the error message or object. If it is a reference, it
1821
- will be used as-is. Otherwise it is used as a string, and if it does
1822
- not end with a newline then it will be extended with some indication of
1823
- the current location in the code, as described for L</mess_sv>.
1824
-
1825
- The error message or object will be used as an exception, by default
1826
- returning control to the nearest enclosing C<eval>, but subject to
1827
- modification by a C<$SIG{__DIE__}> handler. In any case, the C<croak_sv>
1828
- function never returns normally.
1829
-
1830
- To die with a simple string message, the L</croak> function may be
1831
- more convenient.
1832
-
1833
- =cut
1834
- */
1835
-
1836
1805
void
1837
1806
Perl_croak_sv (pTHX_ SV * baseex )
1838
1807
{
@@ -1842,31 +1811,6 @@ Perl_croak_sv(pTHX_ SV *baseex)
1842
1811
die_unwind (ex );
1843
1812
}
1844
1813
1845
- /*
1846
- =for apidoc vcroak
1847
-
1848
- This is an XS interface to Perl's C<die> function.
1849
-
1850
- C<pat> and C<args> are a sprintf-style format pattern and encapsulated
1851
- argument list. These are used to generate a string message. If the
1852
- message does not end with a newline, then it will be extended with
1853
- some indication of the current location in the code, as described for
1854
- L</mess_sv>.
1855
-
1856
- The error message will be used as an exception, by default
1857
- returning control to the nearest enclosing C<eval>, but subject to
1858
- modification by a C<$SIG{__DIE__}> handler. In any case, the C<croak>
1859
- function never returns normally.
1860
-
1861
- For historical reasons, if C<pat> is null then the contents of C<ERRSV>
1862
- (C<$@>) will be used as an error message or object instead of building an
1863
- error message from arguments. If you want to throw a non-string object,
1864
- or build an error message in an SV yourself, it is preferable to use
1865
- the L</croak_sv> function, which does not involve clobbering C<ERRSV>.
1866
-
1867
- =cut
1868
- */
1869
-
1870
1814
void
1871
1815
Perl_vcroak (pTHX_ const char * pat , va_list * args )
1872
1816
{
@@ -1877,27 +1821,39 @@ Perl_vcroak(pTHX_ const char* pat, va_list *args)
1877
1821
1878
1822
/*
1879
1823
=for apidoc croak
1824
+ =for apidoc_item croak_sv
1825
+ =for apidoc_item vcroak
1880
1826
=for apidoc_item die
1827
+ =for apidoc_item die_sv
1881
1828
=for apidoc_item croak_nocontext
1882
1829
=for apidoc_item die_nocontext
1883
1830
1884
1831
These are XS interfaces to Perl's C<die> function.
1885
1832
1886
- They take a sprintf-style format pattern and argument list, which are used to
1887
- generate a string message. If the message does not end with a newline, then it
1888
- will be extended with some indication of the current location in the code, as
1889
- described for C<L</mess_sv>>.
1833
+ The arguments are used to generate a string message. If the message does not
1834
+ end with a newline, it will be extended with some indication of the current
1835
+ location in the code, as described for C<L</mess_sv>>.
1836
+
1837
+ The error message will be used as an exception, by default returning control to
1838
+ the nearest enclosing C<eval>, but subject to modification by a
1839
+ C<$SIG{__DIE__}> handler. In any case, none of these functions ever actually
1840
+ return normally.
1841
+
1842
+ In C<croak_sv> and C<die_sv>, C<baseex> is the error message or object. If it
1843
+ is a reference, it will be used as-is. Otherwise it is used as a string.
1844
+
1845
+ To die with a simple string message, one of the other forms may be more
1846
+ convenient. These take a sprintf-style format pattern, with arguments, to
1847
+ generate the message.
1890
1848
1891
- The error message will be used as an exception, by default
1892
- returning control to the nearest enclosing C<eval>, but subject to
1893
- modification by a C<$SIG{__DIE__}> handler. In any case, these croak
1894
- functions never return normally.
1849
+ The arguments to C<vcroak> are specified as a C<va_list>. The arguments to the
1850
+ remaining forms are specified as a sprintf-style list of arguments.
1895
1851
1896
- For historical reasons, if C<pat> is null then the contents of C<ERRSV>
1897
- (C<$@>) will be used as an error message or object instead of building an
1898
- error message from arguments. If you want to throw a non-string object,
1899
- or build an error message in an SV yourself, it is preferable to use
1900
- the C<L</croak_sv>> function, which does not involve clobbering C<ERRSV>.
1852
+ In the non-C<_sv> forms, for historical reasons, if C<pat> is null then the
1853
+ contents of C<L</ERRSV>> (C<$@>) will be used as an error message or object
1854
+ instead of building an error message from arguments. Use the C<_sv> forms
1855
+ instead if you want to throw a non-string object, or build an error message in
1856
+ an SV yourself; these do not involve clobbering C<ERRSV>.
1901
1857
1902
1858
The difference between the C<croak> forms and the C<die> forms is only the
1903
1859
return type of the functions. The C<croak> forms return C<void>; the C<die>
0 commit comments