summaryrefslogtreecommitdiff
path: root/embed.fnc
diff options
context:
space:
mode:
authorBrian Fraser <fraserbn@gmail.com>2014-05-31 01:19:27 +0200
committerBrian Fraser <fraserbn@gmail.com>2014-06-13 00:00:32 +0200
commit117af67d6291466ff217023a9cf58832c511d1a0 (patch)
tree0505c6623503294e013390ad7f308523c87b4839 /embed.fnc
parenteb212a1c9a3761a08a3701a8559b60cdaf819dd1 (diff)
downloadperl-117af67d6291466ff217023a9cf58832c511d1a0.tar.gz
Mark several functions with __attribute__noreturn__
Namely, die_nocontext, die, die_sv, and screaminstr. They all croak and never return, so let's mark them as non-returning.
Diffstat (limited to 'embed.fnc')
-rw-r--r--embed.fnc27
1 files changed, 22 insertions, 5 deletions
diff --git a/embed.fnc b/embed.fnc
index 7574d3f5e6..659c4327a4 100644
--- a/embed.fnc
+++ b/embed.fnc
@@ -280,7 +280,12 @@ norx |void |win32_croak_not_implemented|NN const char * fname
#endif
#if defined(PERL_IMPLICIT_CONTEXT)
Afnrp |void |croak_nocontext|NULLOK const char* pat|...
-Afnp |OP* |die_nocontext |NULLOK const char* pat|...
+:removing noreturn to silence a warning
+#ifdef _MSC_VER
+Afnp |OP* |die_nocontext |NULLOK const char* pat|...
+#else
+Afnrp |OP* |die_nocontext |NULLOK const char* pat|...
+#endif
Afnp |void |deb_nocontext |NN const char* pat|...
Afnp |char* |form_nocontext |NN const char* pat|...
Anp |void |load_module_nocontext|U32 flags|NN SV* name|NULLOK SV* ver|...
@@ -337,8 +342,14 @@ Anp |char* |delimcpy |NN char* to|NN const char* toend|NN const char* from \
|NN const char* fromend|int delim|NN I32* retlen
: Used in op.c, perl.c
pM |void |delete_eval_scope
-Apd |OP* |die_sv |NN SV *baseex
-Afpd |OP* |die |NULLOK const char* pat|...
+:removing noreturn to silence a warning
+#ifdef _MSC_VER
+Apd |OP* |die_sv |NN SV *baseex
+Afpd |OP* |die |NULLOK const char* pat|...
+#else
+Aprd |OP* |die_sv |NN SV *baseex
+Afrpd |OP* |die |NULLOK const char* pat|...
+#endif
: Used in util.c
pr |void |die_unwind |NN SV* msv
Ap |void |dounwind |I32 cxix
@@ -1291,8 +1302,14 @@ Apd |NV |scan_hex |NN const char* start|STRLEN len|NN STRLEN* retlen
Ap |char* |scan_num |NN const char* s|NN YYSTYPE *lvalp
Apd |NV |scan_oct |NN const char* start|STRLEN len|NN STRLEN* retlen
AMpd |OP* |op_scope |NULLOK OP* o
-Ap |char* |screaminstr |NN SV *bigstr|NN SV *littlestr|I32 start_shift \
- |I32 end_shift|NN I32 *old_posp|I32 last
+:removing noreturn to silence a warning
+#ifdef _MSC_VER
+Ap |char* |screaminstr |NN SV *bigstr|NN SV *littlestr|I32 start_shift \
+ |I32 end_shift|NN I32 *old_posp|I32 last
+#else
+Apr |char* |screaminstr |NN SV *bigstr|NN SV *littlestr|I32 start_shift \
+ |I32 end_shift|NN I32 *old_posp|I32 last
+#endif
: Only used by perl.c/miniperl.c, but defined in caretx.c
px |void |set_caret_X
Apd |void |setdefout |NN GV* gv