Compiler Warning (level 3) C4161
TOC
Collapse the table of content
Expand the table of content
The document is archived and information here might be outdated

Compiler Warning (level 3) C4161

#pragma pragma(pop...) : more pops than pushes

Because your source code contains one more pop than pushes for pragma pragma, the stack may not behave as you expect. To avoid the warning, be sure that the number of pops does not exceed the number of pushes.

The following example generates C4161:

// C4161.cpp
// compile with: /W3 /LD
#pragma pack(push, id)
#pragma pack(pop, id)
#pragma pack(pop, id)   // C4161, an extra pop

#pragma bss_seg(".my_data1")
int j;

#pragma bss_seg(push, stack1, ".my_data2")   
int l;

#pragma bss_seg(pop, stack1)
int m;

#pragma bss_seg(pop, stack1)   // C4161
Show:
© 2016 Microsoft