mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-29 12:16:06 +00:00

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
29 lines
751 B
C
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'}}
|
|
};
|