summaryrefslogtreecommitdiff
path: root/ace/Stack_Trace.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ace/Stack_Trace.cpp')
-rw-r--r--ace/Stack_Trace.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/ace/Stack_Trace.cpp b/ace/Stack_Trace.cpp
index 1141d050c28..c050aac5583 100644
--- a/ace/Stack_Trace.cpp
+++ b/ace/Stack_Trace.cpp
@@ -570,6 +570,14 @@ add_frame_to_buf (struct frame_state const *fs, void *usrarg)
static void emptyStack () { }
+#if defined (_MSC_VER)
+# pragma warning(push)
+// Suppress warning 4748 "/GS can not protect parameters and local
+// variables from local buffer overrun because optimizations are
+// disabled in function"
+# pragma warning(disable: 4748)
+#endif /* _MSC_VER */
+
static int
cs_operate(int (*func)(struct frame_state const *, void *), void *usrarg,
size_t starting_frame, size_t num_frames)
@@ -664,6 +672,11 @@ cs_operate(int (*func)(struct frame_state const *, void *), void *usrarg,
return 0;
}
+#if defined (_MSC_VER)
+// Restore the warning state to what it was before entry.
+# pragma warning(pop)
+#endif /* _MSC_VER */
+
void
ACE_Stack_Trace::generate_trace (ssize_t starting_frame_offset,
size_t num_frames)