https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58063
--- Comment #12 from plokinom at gmail dot com ---
I can confirm this still happens with g++ 5.1.0.
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: plokinom at gmail dot com
$ cat foo.c
#pragma GCC diagnostic warning -Wnested-externs
#pragma GCC diagnostic pop
static void bar(void) { extern int main(void); }
int main(void) { return 0
++
Assignee: unassigned at gcc dot gnu.org
Reporter: plokinom at gmail dot com
% cat try.cc
#include iostream
void f(bool x = !(std::cout hi!\n)) {
std::cout x '\n';
}
int main() {
f();
}
% g++ try.cc
% ./a.out
hi!
hi!
0
My question: Why is the default argument