| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Among other differences, GCC accepts
typedef int IA[];
typedef int A10[10];
static A10 *f(void);
static IA *f(void);
void g(void) {
(void)sizeof(*f());
}
but clang used to reject it with:
invalid application of 'sizeof' to an incomplete type 'IA' (aka 'int []')
The intention of c99's 6.2.7 seems to be that we should use the composite type
and accept as gcc does.
Doing the type merging required some extra fixes:
* Use the type from the function type in initializations, even if an parameter
is available.
* Fix the merging of the noreturn attribute in function types.
* Make CodeGen handle the fact that an parameter type can be different from
the corresponding type in the function type.
llvm-svn: 168895
|
|
|
|
| |
llvm-svn: 168669
|
|
|
|
|
|
|
|
|
| |
- This is designed to make it obvious that %clang_cc1 is a "test variable"
which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it
can be useful to redefine what gets run as 'clang -cc1' (for example, to set
a default target).
llvm-svn: 91446
|
|
|
|
|
|
| |
Tests and drivers updated, still need to shuffle dirs.
llvm-svn: 67602
|
|
|
|
| |
llvm-svn: 64289
|
|
|
|
| |
llvm-svn: 63238
|
|
|
|
| |
llvm-svn: 63160
|
|
|
|
|
|
| |
"previously defined here" diagnostics all notes.
llvm-svn: 59920
|
|
|
|
|
|
| |
declarations/definitions). Patch by Carl Lewis!
llvm-svn: 46070
|
|
|
|
|
|
| |
but it is clearly an improvement. Will discuss with Chris later.
llvm-svn: 45975
|
|
functions. Patch contributed by Nuno Lopes, thanks!
llvm-svn: 43757
|