summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend
Commit message (Collapse)AuthorAgeFilesLines
...
* Search path for 64-bit Ubuntu Linux, from Anders JohnsenDouglas Gregor2009-06-171-0/+6
| | | | llvm-svn: 73637
* More XML output support, from Olaf Krzikalla!Douglas Gregor2009-06-155-302/+436
| | | | llvm-svn: 73402
* PR4388: get rid of an extra # line directive; in addition to being Eli Friedman2009-06-151-5/+1
| | | | | | | unnecessary, this was causing issues for assembler-with-cpp mode, which doesn't process the directive. llvm-svn: 73382
* Minor tweak to -fdiagnostics-print-source-range-info to make it printChris Lattner2009-06-151-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ranges more similar to the console output. Consider: #define FOO(X, Y) X/ Y void foo(int *P, int *Q) { FOO(P, Q); } Before we emitted: t.c:4:3:{4:3-4:6}{4:3-4:6}: error: invalid operands to binary expression ('int *' and 'int *') FOO(P, Q); ^~~~~~~~~ ... Note that while we underline the macro args that the range info just includes FOO without its macros. This change teaches the printed ranges to include macro args also so that we get: t.c:4:3:{4:3-4:12}{4:3-4:12}: error: invalid operands to binary expression ('int *' and 'int *') FOO(P, Q); ^~~~~~~~~ ... This fixes rdar://6939599 llvm-svn: 73378
* If PCH refers to a file that doesn't exist anymore, emit a nice errorChris Lattner2009-06-151-3/+10
| | | | | | | | like: fatal error: could not find file '1.h' referenced by PCH file instead of aborting with an assertion failure, PR4219 llvm-svn: 73371
* no really, add the lines :)Chris Lattner2009-06-151-1/+1
| | | | llvm-svn: 73367
* Fix PR2741 by making our newline tracking be aware of newlines thatChris Lattner2009-06-151-0/+35
| | | | | | can occur in the middle of comment tokens. llvm-svn: 73365
* add the location of the ')' in a do/while statement to DoStmt.Chris Lattner2009-06-123-2/+5
| | | | | | This fixes a source range problem reported by Olaf Krzikalla. llvm-svn: 73266
* It's an error to use a function declared in a class definition as a default ↵Anders Carlsson2009-06-121-1/+2
| | | | | | argument before the function has been declared. llvm-svn: 73234
* PR4371: Reduce the inlining threshold outside of -O3. This makes Eli Friedman2009-06-111-2/+6
| | | | | | the clang inlining threshold consistent with the threshold for llvm-gcc. llvm-svn: 73204
* Misc minor fixes for clang for the Windows target.Eli Friedman2009-06-081-1/+0
| | | | llvm-svn: 73050
* Don't allow defining a block with a non-prototype type. Remove a Eli Friedman2009-06-081-6/+2
| | | | | | | | | | hack which introduces some strange inconsistencies in compatibility for block pointers. Note that unlike an earlier revision proposed on cfe-commits, this patch still allows declaring block pointers without a prototype. llvm-svn: 73041
* Use of DeclContext for objc's ivars. No functionalityFariborz Jahanian2009-06-051-0/+1
| | | | | | change. More to follow. llvm-svn: 72951
* Move CharIsSigned from TargetInfo to LangOptions.Eli Friedman2009-06-053-1/+4
| | | | llvm-svn: 72928
* Move a couple Darwin-specific defines into getDarwinDefines.Eli Friedman2009-06-041-5/+0
| | | | llvm-svn: 72900
* DefineBuiltinMacro is always passed two args, remove the defaulted thirdChris Lattner2009-06-041-2/+2
| | | | | | one. llvm-svn: 72868
* Add ANSI color support for clang.Torok Edwin2009-06-041-1/+55
| | | | llvm-svn: 72855
* (llvm up) Switch to using StandardPasses.hDaniel Dunbar2009-06-031-92/+22
| | | | | | | - One functionality change, the LoopIndexSplit pass is now reenabled (it was disabled in r60089 but we forgot to reenable it). llvm-svn: 72787
* Compile fix needed by the solaris system gcc.Duncan Sands2009-06-031-5/+5
| | | | llvm-svn: 72772
* emit ORIGINAL_FILE_NAME record ID to blockinfo block.Zhongxing Xu2009-06-031-0/+1
| | | | llvm-svn: 72759
* Add clang-cc support for -disable-llvm-optzns.Daniel Dunbar2009-06-021-3/+18
| | | | | | | - Avoids running any LLVM optimizations, even at -O2, etc., while still keeping any language changes these optimizations imply. llvm-svn: 72742
* PR4288: Make -dD (dump macros with preprocessed source) play nicely with Eli Friedman2009-06-021-2/+7
| | | | | | # line directives. llvm-svn: 72724
* Unify coding style.Zhongxing Xu2009-06-011-1/+1
| | | | llvm-svn: 72682
* Use a reference to modify the DeclIDs map.Zhongxing Xu2009-06-011-1/+1
| | | | llvm-svn: 72681
* Unbreak the clang build by applying the same temporaryDuncan Sands2009-05-311-1/+2
| | | | | | | workaround for machine code emitter changes as was used in llvm-gcc. llvm-svn: 72657
* ActOnReturnStmt should also take a FullExprArg.Anders Carlsson2009-05-301-1/+1
| | | | llvm-svn: 72641
* AddInitializerToDecl needs to take a full expression.Anders Carlsson2009-05-301-1/+1
| | | | llvm-svn: 72640
* Pass an ASTContext into Stmt::printPretty.Eli Friedman2009-05-302-6/+6
| | | | llvm-svn: 72611
* Refactor and clean up the AST printer, so that it uses a DeclVisitor,Douglas Gregor2009-05-302-637/+18
| | | | | | | | | walks through DeclContexts properly, and prints more of the information available in the AST. The functionality is still available via -ast-print, -ast-dump, etc., and also via the new member functions Decl::dump() and Decl::print(). llvm-svn: 72597
* Create a new PrintingPolicy class, which we pass down through the ASTDouglas Gregor2009-05-294-29/+41
| | | | | | | | | printing logic to help customize the output. For now, we use this rather than a special flag to suppress the "struct" when printing "struct X" and to print the Boolean type as "bool" in C++ but "_Bool" in C. llvm-svn: 72590
* If a declarator group declares a type, make sure to add that declaration Eli Friedman2009-05-291-1/+2
| | | | | | to the DeclGroup. llvm-svn: 72559
* When we parse a tag specifier, keep track of whether that tagDouglas Gregor2009-05-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | specifier resulted in the creation of a new TagDecl node, which happens either when the tag specifier was a definition or when the tag specifier was the first declaration of that tag type. This information has several uses, the first of which is implemented in this commit: 1) In C++, one is not allowed to define tag types within a type specifier (e.g., static_cast<struct S { int x; } *>(0) is ill-formed) or within the result or parameter types of a function. We now diagnose this. 2) We can extend DeclGroups to contain information about any tags that are declared/defined within the declaration specifiers of a variable, e.g., struct Point { int x, y, z; } p; This will help improve AST printing and template instantiation, among other things. 3) For C99, we can keep track of whether a tag type is defined within the type of a parameter, to properly cope with cases like, e.g., int bar(struct T2 { int x; } y) { struct T2 z; } We can also do similar things wherever there is a type specifier, e.g., to keep track of where the definition of S occurs in this legal C99 code: (struct S { int x, y; } *)0 llvm-svn: 72555
* Reintroduce the home for exception specs, and make Sema fill it. However, ↵Sebastian Redl2009-05-272-1/+14
| | | | | | keep the spec out of the canonical type this time. Net effect is currently nothing, because the spec isn't checked anywhere. llvm-svn: 72498
* Enumeration declarations that were instantiated from an enumerationDouglas Gregor2009-05-272-0/+2
| | | | | | | | within a template now have a link back to the enumeration from which they were instantiated. This means that we can now find the instantiation of an anonymous enumeration. llvm-svn: 72482
* Convert ObjC qualified type clients over to using iterators.Steve Naroff2009-05-271-4/+6
| | | | | | | | This allows me to remove some API that I don't want to carry over to ObjCObjectPointerType. No functionality change. llvm-svn: 72475
* When evaluating a VarDecl as a constant or determining whether it isDouglas Gregor2009-05-261-1/+1
| | | | | | | | an integral constant expression, maintain a cache of the value and the is-an-ICE flag within the VarDecl itself. This eliminates exponential-time behavior of the Fibonacci template metaprogram. llvm-svn: 72428
* Add IEEE quad support to DefineFloatMacros.Eli Friedman2009-05-231-15/+22
| | | | llvm-svn: 72314
* PR4247: Widen the buffer slightly so it can hold all the definitions for Eli Friedman2009-05-231-1/+1
| | | | | | | | PPC double double. (No testcase because no normal target uses the format at the moment.) llvm-svn: 72310
* Fix lots of PCH crashes caused by the new assertions inDouglas Gregor2009-05-223-11/+12
| | | | | | | llvm::SmallVector, using data() instead of &[0]. The PCH testsuite now runs cleanly (again). llvm-svn: 72292
* Fix PCH crash caused by new assertions in llvm::SmallVector. UseTed Kremenek2009-05-221-1/+1
| | | | | | ProtoRefs.data() instead of &ProtoRefs[0] to access the raw buffer. llvm-svn: 72291
* This patch adds support for sender-aware dispatch in Objective-C for the GNU ↵Fariborz Jahanian2009-05-221-0/+3
| | | | | | | | | | runtime, when compiled with -fobjc-sender-dependent-dispatch. This is used in AOP, COP, implementing object planes, and a few other things. Patch by David Chisnall. llvm-svn: 72275
* Pull EmitRecord() out of loop. It should be called only once.Zhongxing Xu2009-05-221-1/+1
| | | | llvm-svn: 72252
* Fix CMake build for AST XML dumperDouglas Gregor2009-05-211-0/+2
| | | | llvm-svn: 72228
* AST XML dump, from Olaf Krzikalla!Douglas Gregor2009-05-213-0/+1022
| | | | llvm-svn: 72224
* Use v.data() instead of &v[0] when SmallVector v might be empty.Jay Foad2009-05-214-11/+11
| | | | llvm-svn: 72210
* implementation of format_arg for ObjC methods/functions.Fariborz Jahanian2009-05-202-0/+12
| | | | | | Still more to do. llvm-svn: 72173
* Build fixes for r72135.Eli Friedman2009-05-191-5/+5
| | | | llvm-svn: 72136
* Move AnalysisConsumer.h and Analyses.def from tools/clang-cc to Eli Friedman2009-05-192-0/+660
| | | | | | | include/clang/Frontend, and move AnalysisConsumer.cpp from tools/clang-cc to lib/Frontend. llvm-svn: 72135
* Add missing include for stderr and fprintf, neededDuncan Sands2009-05-191-0/+1
| | | | | | when compiling with gcc-4.4. llvm-svn: 72109
* Fix a crash with -emit-html from stdin.Eli Friedman2009-05-191-2/+11
| | | | llvm-svn: 72104
OpenPOWER on IntegriCloud