Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Make a major restructuring of the clang tree: introduce a top-level | Chris Lattner | 2008-03-15 | 12 | -6993/+0 |
| | | | | | | | | | | lib dir and move all the libraries into it. This follows the main llvm tree, and allows the libraries to be built in parallel. The top level now enforces that all the libs are built before Driver, but we don't care what order the libs are built in. This speeds up parallel builds, particularly incremental ones. llvm-svn: 48402 | ||||
* | handle __extension__ properly at block scope. | Chris Lattner | 2008-03-13 | 1 | -2/+8 |
| | | | | llvm-svn: 48332 | ||||
* | instead of passing in null end location info, pass in the same as start. | Chris Lattner | 2008-03-13 | 1 | -3/+3 |
| | | | | | | This still isn't right, but is slightly nicer. llvm-svn: 48331 | ||||
* | improve DeclStmt to be able to store SourceRange info correctly. | Chris Lattner | 2008-03-13 | 3 | -10/+24 |
| | | | | | | | Set the start of DeclStmt range. Right now the end is meaningless though. llvm-svn: 48330 | ||||
* | implement simple support for arbitrary token lookahead. Change the | Chris Lattner | 2008-03-10 | 1 | -19/+13 |
| | | | | | | | | objc @try parser to use it, fixing a FIXME. Update the objc-try-catch-1.m file to pass now that we get more reasonable errors. llvm-svn: 48129 | ||||
* | Add fastcall/stdcall attribute support | Nate Begeman | 2008-03-07 | 1 | -0/+2 |
| | | | | | | Generate CallingConv::Fast when fastcall attribute is present llvm-svn: 48017 | ||||
* | Add a bunch of attributes, patch by Nuno Lopes. | Chris Lattner | 2008-03-03 | 1 | -2/+20 |
| | | | | llvm-svn: 47837 | ||||
* | Fix http://llvm.org/bugs/show_bug.cgi?id=2106. | Steve Naroff | 2008-02-29 | 1 | -1/+1 |
| | | | | llvm-svn: 47768 | ||||
* | Add support for attribute(deprecated), patch by Nuno Lopes! | Chris Lattner | 2008-02-29 | 1 | -1/+4 |
| | | | | llvm-svn: 47753 | ||||
* | Added support for attribute "noreturn." | Ted Kremenek | 2008-02-27 | 1 | -1/+2 |
| | | | | llvm-svn: 47689 | ||||
* | add parsing, ast building and pretty printing support for C++ throw expressions. | Chris Lattner | 2008-02-26 | 2 | -0/+28 |
| | | | | | | Patch by Mike Stump! llvm-svn: 47582 | ||||
* | convert tabs to spaces, patch by Mike Stump! | Chris Lattner | 2008-02-25 | 1 | -1/+1 |
| | | | | llvm-svn: 47560 | ||||
* | Handle __attribute__((annotate("string"))) | Nate Begeman | 2008-02-21 | 1 | -0/+3 |
| | | | | llvm-svn: 47451 | ||||
* | Collect and build and process type attributes on pointers. For | Chris Lattner | 2008-02-21 | 1 | -8/+7 |
| | | | | | | | example, we can now correctly build the type for things like: _AS1 float * _AS2 *B; llvm-svn: 47420 | ||||
* | add a method to AttributeList that converts an identifier to an enum. | Chris Lattner | 2008-02-20 | 1 | -0/+45 |
| | | | | llvm-svn: 47412 | ||||
* | ParseCompoundStatementBody expects to only be called with { as the current | Chris Lattner | 2008-02-14 | 1 | -2/+12 |
| | | | | | | token. Diagnose when the { is missing in objc @try blocks instead of aborting. llvm-svn: 47130 | ||||
* | Remove DeclSpec::Invalid, a recently added bool that allowed the parser to ↵ | Steve Naroff | 2008-02-14 | 1 | -6/+0 |
| | | | | | | | | detect if the decl spec was invalid. For now, we will stick with the original strategy - clients of Parse::ParseDeclarationSpecifiers() should never have to know this. llvm-svn: 47104 | ||||
* | A much better fix for http://llvm.org/bugs/show_bug.cgi?id=1987. | Steve Naroff | 2008-02-14 | 1 | -3/+14 |
| | | | | llvm-svn: 47103 | ||||
* | Allow the parser to detect invalid DeclSpec's. This fixes ↵ | Steve Naroff | 2008-02-12 | 2 | -19/+28 |
| | | | | | | | | | | http://llvm.org/bugs/show_bug.cgi?id=1987. This commit only "guards" the call to ParseDeclarationSpecifiers() in ParseDeclarationOrFunctionDefinition(). We could consider guarding all calls, however this is a bit radical (since it effectively stops parsing the declaration once we have a bad declspec). Will discuss with Chris tomorrow. llvm-svn: 46984 | ||||
* | Several cleanups surrounding Parser::ParseAsmStatement() and ↵ | Steve Naroff | 2008-02-11 | 2 | -2/+29 |
| | | | | | | Parser::FuzzyParseMicrosoftAsmStatement(). llvm-svn: 46977 | ||||
* | Move policy on unnamed fields (a Microsoft extension) from ↵ | Steve Naroff | 2008-02-11 | 1 | -2/+1 |
| | | | | | | Parser::ParseStructDeclaration() to the driver. llvm-svn: 46974 | ||||
* | Move Microsoft __declspec hack from the parser to the preprocessor. Since we ↵ | Steve Naroff | 2008-02-11 | 1 | -52/+0 |
| | | | | | | have no plans to actually implement this construct, it is cleaner to limit the change to the preprocessor. llvm-svn: 46973 | ||||
* | Fix PR1999, by emitting a hard error only if an argument declarator is ↵ | Chris Lattner | 2008-02-10 | 1 | -7/+12 |
| | | | | | | | | | completely missing. Otherwise, it is an implicit int case, which is valid in c90 and invalid elsewhere, but accepted as an extension. llvm-svn: 46938 | ||||
* | Behave correctly if a constraint expression is invalid. | Anders Carlsson | 2008-02-09 | 1 | -10/+15 |
| | | | | llvm-svn: 46910 | ||||
* | Use getLogicalLineNumber() in FuzzyParseMicrosoftAsmStatement(), it's more ↵ | Steve Naroff | 2008-02-08 | 1 | -15/+7 |
| | | | | | | general and simplifies the code. llvm-svn: 46885 | ||||
* | Support fuzzy parsing MS line-oriented __asm's that originate from a macro ↵ | Steve Naroff | 2008-02-08 | 1 | -5/+16 |
| | | | | | | (a case where we can't obtain source line info). As the test case indicates, we don't currently support line-oriented asm statements that mix file/macro body tokens. llvm-svn: 46878 | ||||
* | Put back the top-level asm code; all tests pass now. | Anders Carlsson | 2008-02-08 | 1 | -9/+14 |
| | | | | llvm-svn: 46868 | ||||
* | Back out 46855 for now, it causes test failures on Darwin. | Anders Carlsson | 2008-02-08 | 1 | -12/+10 |
| | | | | llvm-svn: 46867 | ||||
* | - Add support for fuzzy parsing line-oriented __asm's (yuck). | Steve Naroff | 2008-02-07 | 2 | -7/+17 |
| | | | | | | - Change handling of __w64 to a built-in macro. llvm-svn: 46864 | ||||
* | Handle top-level asm declarations. | Anders Carlsson | 2008-02-07 | 1 | -10/+12 |
| | | | | llvm-svn: 46855 | ||||
* | Minor cleanup from yesterday's -fms-extension commit. Move __int* MS ↵ | Steve Naroff | 2008-02-07 | 1 | -4/+0 |
| | | | | | | keywords to predefined macros. This removes some of the MS-madness from Parser::ParseDeclarationSpecifiers(). llvm-svn: 46852 | ||||
* | Implement -fms-extensions. This allows us to fuzzy parse non-standard MS ↵ | Steve Naroff | 2008-02-07 | 2 | -3/+76 |
| | | | | | | constructs used in "windows.h". llvm-svn: 46838 | ||||
* | Add a FIXME to clarify previous commit/experiment. | Steve Naroff | 2008-02-05 | 1 | -0/+6 |
| | | | | llvm-svn: 46782 | ||||
* | Handle simple asm statements correctly. | Anders Carlsson | 2008-02-05 | 1 | -26/+36 |
| | | | | llvm-svn: 46777 | ||||
* | Fix Parser::ParseObjCTryStmt() to allow for trailing @-keyword ↵ | Steve Naroff | 2008-02-05 | 2 | -25/+37 |
| | | | | | | | | statements/expressions. This bug fix is the result of not having 2-token lookahead to recognize specific @-keywords. llvm-svn: 46768 | ||||
* | Implement support for __extension__ which silences extwarnings in its | Chris Lattner | 2008-02-02 | 1 | -2/+12 |
| | | | | | | scope. This is part of the fix for PR1966 llvm-svn: 46669 | ||||
* | Fix http://llvm.org/bugs/show_bug.cgi?id=1967. | Steve Naroff | 2008-01-31 | 1 | -3/+1 |
| | | | | llvm-svn: 46616 | ||||
* | Fix PR1965: missing diagnostics for parameters that are missing | Chris Lattner | 2008-01-31 | 1 | -0/+14 |
| | | | | | | | type specifiers. This required updating some (buggy) tests, and the testcase was previously accidentally committed. llvm-svn: 46603 | ||||
* | Remainder of the __builtin_overload feedback | Nate Begeman | 2008-01-31 | 1 | -6/+0 |
| | | | | llvm-svn: 46601 | ||||
* | On an unexpected @foo keyword, return failure instead of a 'successful' null ↵ | Chris Lattner | 2008-01-30 | 1 | -3/+1 |
| | | | | | | | | AST. This fixes a segfault on things like @foo. llvm-svn: 46574 | ||||
* | Fixed misc. issues raised by Chris L. on @synchronized implementation. | Fariborz Jahanian | 2008-01-30 | 1 | -4/+7 |
| | | | | llvm-svn: 46558 | ||||
* | AST for @synchronized. | Fariborz Jahanian | 2008-01-29 | 1 | -1/+21 |
| | | | | llvm-svn: 46524 | ||||
* | Bunch of type defs, etc. for @synchronized. | Fariborz Jahanian | 2008-01-29 | 2 | -1/+10 |
| | | | | llvm-svn: 46520 | ||||
* | Add more support for Apple's "private extern" extension... | Steve Naroff | 2008-01-25 | 1 | -2/+1 |
| | | | | llvm-svn: 46371 | ||||
* | Add support for dispatching an objc message to a variable | Chris Lattner | 2008-01-25 | 2 | -3/+16 |
| | | | | | | in an initializer list. llvm-svn: 46367 | ||||
* | First half of a fix for the "objc message send in initializer" bug. This only | Chris Lattner | 2008-01-25 | 1 | -1/+16 |
| | | | | | | handles message sends with typenames to start with. llvm-svn: 46366 | ||||
* | Factor a complex predicate out to a helper method. | Chris Lattner | 2008-01-25 | 1 | -3/+1 |
| | | | | llvm-svn: 46365 | ||||
* | split the second half of ParseObjCMessageExpression into a new | Chris Lattner | 2008-01-25 | 1 | -23/+31 |
| | | | | | | ParseObjCMessageExpressionBody method. llvm-svn: 46363 | ||||
* | remove an implemented todo | Chris Lattner | 2008-01-25 | 1 | -2/+1 |
| | | | | llvm-svn: 46362 | ||||
* | Implement basic overload support via a new builtin, __builtin_overload. | Nate Begeman | 2008-01-17 | 1 | -0/+40 |
| | | | | | | | | | | | | | | | | | | | | | | | | __builtin_overload takes 2 or more arguments: 0) a non-zero constant-expr for the number of arguments the overloaded functions will take 1) the arguments to pass to the matching overloaded function 2) a list of functions to match. The return type of __builtin_overload is inferred from the function whose args match the types of the arguments passed to the builtin. For example: float a; float sinf(float); int sini(int); float b = __builtin_overload(1, a, sini, sinf); Says that we are overloading functions that take one argument, and trying to pass an argument of the same type as 'a'. sini() does not match since it takes and argument of type int. sinf does match, so at codegen time this will turn into float b = sinf(a); llvm-svn: 46132 |