summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* move attribute(packed) sema support out of SemaDecl into a new SemaAttr.cpp ↵Chris Lattner2009-02-173-95/+112
| | | | | | file. llvm-svn: 64711
* simplify this code and make it use highlight range. ThisChris Lattner2009-02-171-19/+8
| | | | | | | | | | | | | makes -emit-html do nice things for code like: #define FOO(X) y int FOO(4 ); highlighting the FOO instance as well as the ) on the next line properly. llvm-svn: 64710
* x86_64 ABI: Handle va_arg arguments with alignment > 8.Daniel Dunbar2009-02-161-4/+15
| | | | llvm-svn: 64701
* Diagnose non-power-of-2 arguments to attribute aligned.Daniel Dunbar2009-02-161-0/+6
| | | | llvm-svn: 64700
* Add support for throwing exceptions to the nonfragile ABIAnders Carlsson2009-02-161-15/+34
| | | | llvm-svn: 64692
* Added implementation of objc2's gc API calls forFariborz Jahanian2009-02-161-16/+70
| | | | | | nonfragile abi. llvm-svn: 64690
* Support IRgen of sqrt -> llvm.sqrt, pow -> llvm.pow.Daniel Dunbar2009-02-164-3/+42
| | | | | | | | | | | | | | | | - Define pow[lf]?, sqrt[lf]? as builtins. - Add -fmath-errno option which binds to LangOptions.MathErrno - Add new builtin flag Builtin::Context::isConstWithoutErrno for functions which can be marked as const if errno isn't respected for math functions. Sema automatically marks these functions as const when they are defined, if MathErrno=0. - IRgen uses const attribute on sqrt and pow library functions to decide if it can use the llvm intrinsic. llvm-svn: 64689
* Unbreak clang.Daniel Dunbar2009-02-161-1/+1
| | | | | | | | Doug: please verify that it is expected that LastIdx can be less that NumInits. And perhaps add a comment so that Chris doesn't break your code. :) llvm-svn: 64688
* Make "implicit int" an error in C++ (unless we're allowing MicrosoftDouglas Gregor2009-02-161-4/+6
| | | | | | extensions). This caught a couple bugs in our test suite :) llvm-svn: 64686
* fix long lines.Chris Lattner2009-02-163-10/+14
| | | | llvm-svn: 64684
* fix volatile handling with ExtVectorElementExpr, so that weChris Lattner2009-02-162-10/+13
| | | | | | | | | | | emit two volatile loads for: typedef __attribute__(( ext_vector_type(4) )) float float4; float test(volatile float4 *P) { return P->x+P->y; } llvm-svn: 64683
* introduce and use a new ExtVectorElementExpr::isArrow method, at Eli's ↵Chris Lattner2009-02-162-4/+11
| | | | | | suggestion llvm-svn: 64681
* Use isa<...> instead of dyn_cast<...> where result is not needed.Fariborz Jahanian2009-02-161-1/+1
| | | | llvm-svn: 64680
* diagnose uses of deprecated typenames and tags.Chris Lattner2009-02-163-20/+33
| | | | | | We now pass all the deprecation tests in the objc.dg suite. llvm-svn: 64679
* Supply the header corresponding to a library builtin as a separate argument ↵Douglas Gregor2009-02-163-20/+9
| | | | | | to the LIBBUILTIN macro llvm-svn: 64676
* Fix IRgen of __builtin_memset.Daniel Dunbar2009-02-161-1/+2
| | | | | | - Fix test case to not only have negative tests. llvm-svn: 64674
* random cleanupChris Lattner2009-02-161-2/+1
| | | | llvm-svn: 64673
* Fixes a bug in property type encoding.Fariborz Jahanian2009-02-161-1/+2
| | | | llvm-svn: 64672
* warn about interfaces that inherit from deprecated classes.Chris Lattner2009-02-161-0/+7
| | | | llvm-svn: 64671
* warn about categories that implement deprecated interfaces.Chris Lattner2009-02-161-6/+4
| | | | llvm-svn: 64670
* early exit on error. This code is creating an invalid decl on error. This isChris Lattner2009-02-161-24/+23
| | | | | | dubious, but at least mark it as an invalid decl. llvm-svn: 64668
* enhance ExtVectorElementExpr to allow V->xxyy to work like (*V).xxyyChris Lattner2009-02-162-9/+13
| | | | llvm-svn: 64667
* When merging from a function with a prototype to a function without aDouglas Gregor2009-02-161-5/+26
| | | | | | prototype, synthesize ParmVarDecls for prototype-less FunctionDecl. llvm-svn: 64666
* Remove an unused variable (which caused a warning).Fariborz Jahanian2009-02-161-1/+1
| | | | llvm-svn: 64660
* do not warn about uses of deprecated decls when in an out-of-line objc methodChris Lattner2009-02-161-5/+25
| | | | | | whose declaration was declared as deprecated. llvm-svn: 64658
* Remove FindIvarDeclaration. Use lookupInstanceVariable is is functionallyFariborz Jahanian2009-02-163-18/+2
| | | | | | the same. llvm-svn: 64657
* When inside an Objective-C++ method, name lookup should look into theDouglas Gregor2009-02-161-14/+15
| | | | | | | | | interface for ivars before assuming that this is an unresolved function name. Fixes <rdar://problem/6590445>. llvm-svn: 64653
* add assertionChris Lattner2009-02-161-0/+1
| | | | llvm-svn: 64652
* code cleanupChris Lattner2009-02-161-17/+17
| | | | llvm-svn: 64651
* wrap long lines.Chris Lattner2009-02-161-6/+8
| | | | llvm-svn: 64650
* assert/ErrorUnsupported in unimplemented stub functions instead ofDaniel Dunbar2009-02-161-16/+25
| | | | | | miscompiling. llvm-svn: 64647
* Add pretty-printing (for GraphViz) support for RangeConstraintManager.Ted Kremenek2009-02-161-36/+8
| | | | llvm-svn: 64646
* Add support for deprecating ObjC properties. Unlike GCC, we warn that the Chris Lattner2009-02-161-6/+29
| | | | | | | property is deprecated, not the getter/setter if the attribute is on the property. llvm-svn: 64644
* propagate attributes onto property decls.Chris Lattner2009-02-161-5/+7
| | | | llvm-svn: 64643
* define __OBJC2__ for objc's nonfragile abi.Fariborz Jahanian2009-02-161-0/+2
| | | | llvm-svn: 64642
* When a function with a prototype is redeclared without a prototype,Douglas Gregor2009-02-161-0/+17
| | | | | | | merge the prototype into the redeclaration (and make a note in the declaration). Fixes PR3588. llvm-svn: 64641
* Adopt a more principled approach to invalid declarations:Douglas Gregor2009-02-163-72/+101
| | | | | | | | | | | | | | | | | | | | | | | - If a declaration is an invalid redeclaration of an existing name, complain about the invalid redeclaration then avoid adding it to the AST (we can still parse the definition or initializer, if any). - If the declaration is invalid but there is no prior declaration with that name, introduce the invalid declaration into the AST (for later error recovery). - If the declaration is an invalid redeclaration of a builtin that starts with __builtin_, we produce an error and drop the redeclaration. If it is an invalid redeclaration of a library builtin (e.g., malloc, printf), warn (don't error!) and drop the redeclaration. If a user attempts to define a builtin, produce an error and (if it's a library builtin like malloc) suggest -ffreestanding. This addresses <rdar://problem/6097585> and PR2892. However, PR3588 is still going to cause some problems when builtins are redeclared without a prototype. llvm-svn: 64639
* add support for deprecated objc ivars.Chris Lattner2009-02-161-0/+9
| | | | llvm-svn: 64637
* Add support for deprecated members of RecordDecls (e.g. struct fields).Chris Lattner2009-02-162-2/+3
| | | | llvm-svn: 64634
* DeclContext had its "casting machinery" inside the class definition so that ↵Argyrios Kyrtzidis2009-02-161-2/+46
| | | | | | | | if a new declaration context Decl appeared, the necessary changes would be in one place. Since, now, only DeclNodes.def needs to be modified, move things out-of-line and simplify the DeclContext class. llvm-svn: 64630
* Make DeclContexts maintenance a bit easier.Argyrios Kyrtzidis2009-02-161-1/+1
| | | | | | | | | -In DeclNodes.def, only mark as DeclContexts the top classes that directly derive from DeclContext. If the Decl has subclasses, it should be marked with DECL_CONTEXT_BASE. -Use DeclNodes.def to automate the DeclContext::classof and DeclContext::CastTo definitions. llvm-svn: 64629
* Untabify.Ben Laurie2009-02-161-2/+2
| | | | llvm-svn: 64628
* Do not register 'RangeConstraintManager' as the default ConstraintManager.Ted Kremenek2009-02-161-2/+0
| | | | llvm-svn: 64627
* Don't allow taking the address of an element in an ext_vectorNate Begeman2009-02-151-3/+3
| | | | llvm-svn: 64614
* lots of trailing whitespaceChris Lattner2009-02-151-1/+1
| | | | llvm-svn: 64613
* Refactor the deprecated and unavailable checks into a newChris Lattner2009-02-154-54/+57
| | | | | | | | | DiagnoseUseOfDeprecatedDecl method. This ensures that they are treated consistently. This gets us 'unavailable' support on a few new types of decls, and makes sure we consistently silence deprecated when the caller is also deprecated. llvm-svn: 64612
* implement gcc/testsuite/objc.dg/method-attribute-3.m, by improving error ↵Chris Lattner2009-02-151-1/+2
| | | | | | recovery. llvm-svn: 64609
* don't pass a random english string in as a string argument to Diag.Chris Lattner2009-02-151-1/+1
| | | | llvm-svn: 64608
* fix a fixme in -emit-html output: highlight the entire range of a macroChris Lattner2009-02-151-17/+21
| | | | | | | instantiation, which highlights the arguments of a function like macro as well as its identifier. llvm-svn: 64607
* add a new SourceManager::getInstantiationRange helper method.Chris Lattner2009-02-152-3/+19
| | | | llvm-svn: 64606
OpenPOWER on IntegriCloud