llvm-project/clang/test/Sema/implicit-int.c
Bob Wilson 73a4deb33d Change __extension__ to disable only diagnostics controlled by -pedantic.
This changes clang to match GCC's behavior for __extension__, which temporarily
disables the -pedantic flag.  Warnings that are enabled without -pedantic
are not affected.  Besides the general goodness of matching GCC's precedent,
my motivation for this is that macros in the arm_neon.h header need to use
__extension__ to avoid pedantic complaints about their use of statement
expressions, yet we still want to warn about incompatible pointer arguments
for those macros.

llvm-svn: 141804
2011-10-12 19:55:31 +00:00

29 lines
751 B
C

// RUN: %clang_cc1 -fsyntax-only %s -verify -pedantic
foo() { // expected-warning {{type specifier missing, defaults to 'int'}}
return 0;
}
y; // expected-warning {{type specifier missing, defaults to 'int'}}
// rdar://6131634
void f((x)); // expected-warning {{type specifier missing, defaults to 'int'}}
// PR3702
#define PAD(ms10) { \
register i; \
}
#define ILPAD() PAD((NROW - tt.tt_row) * 10) /* 1 ms per char */
void
h19_insline(n) // expected-warning {{parameter 'n' was not declared, defaulting to type 'int'}}
{
ILPAD(); // expected-warning {{type specifier missing, defaults to 'int'}}
}
struct foo {
__extension__ __attribute__((packed)) x : 4; // expected-warning {{type specifier missing, defaults to 'int'}}
};