summaryrefslogtreecommitdiffstats
path: root/clang/test
Commit message (Collapse)AuthorAgeFilesLines
...
* Semantic analysis for explicit instantiation of class templates. WeDouglas Gregor2009-05-131-1/+30
| | | | | | | | still aren't instantiating the definitions of class template members, and core issues 275 and 259 will both affect the checking that we do for explicit instantiations (but are not yet implemented). llvm-svn: 71613
* Implement parsing for explicit instantiations of class templates, e.g.,Douglas Gregor2009-05-121-0/+19
| | | | | | | | | template class X<int>; This also cleans up the propagation of template information through declaration parsing, which is used to improve some diagnostics. llvm-svn: 71608
* improve the diagnostic for uses of the GCC "global variable in a register" ↵Chris Lattner2009-05-121-0/+7
| | | | | | | | extension. This implements rdar://6880449 - improve diagnostic for usage of "global register variable" GCC extension llvm-svn: 71599
* Parser::ParseDeclarationOrFunctionDefinition no longer needs to acceptDouglas Gregor2009-05-121-0/+3
| | | | | | template parameters. llvm-svn: 71598
* Method attributes may only be specified on methodFariborz Jahanian2009-05-122-1/+23
| | | | | | declarations. llvm-svn: 71597
* Refactor the parsing of declarations so that template declarations canDouglas Gregor2009-05-122-2/+3
| | | | | | | | | | parse just a single declaration and provide a reasonable diagnostic when the "only one declarator per template declaration" rule is violated. This eliminates some ugly, ugly hackery where we used to require thatn the layout of a DeclGroup of a single element be the same as the layout of a single declaration. llvm-svn: 71596
* implement l-value codegen of comma exprChris Lattner2009-05-121-0/+12
| | | | llvm-svn: 71595
* push GlobalDecl through enough of the CodeGenModule interfacesChris Lattner2009-05-121-2/+4
| | | | | | | | | to allow us to support generation of deferred ctors/dtors. It looks like codegen isn't emitting a call to the dtor in member-functions.cpp:test2, but when it does, its body should get emitted. llvm-svn: 71594
* add an initial stab at emitting deferred c++ inline functions. This handles ↵Chris Lattner2009-05-121-2/+26
| | | | | | | | | static functions and methods declared inline, but not ctors/dtors or methods not declared inline (apparently my previous patch wasn't good enough). llvm-svn: 71591
* Fix: <rdar://problem/6320065> false positive - init method returns an object ↵Ted Kremenek2009-05-121-0/+43
| | | | | | | | | owned by caller Now 'init' methods are treated by the retain/release checker as claiming their receiver and allocating a new object. llvm-svn: 71579
* accept "#pragma clang foo" where we accept "#pragma GCC foo".Chris Lattner2009-05-121-2/+2
| | | | llvm-svn: 71572
* Patch to implement ivar synthesis of properties declared in protocolsFariborz Jahanian2009-05-121-0/+33
| | | | | | only and used in class imllementations (objc2 Nonfragile ABI specific). llvm-svn: 71571
* Darwin x86-32 ABI: Now that structure passing is farther along, weDaniel Dunbar2009-05-121-0/+3
| | | | | | don't need special treatment for unions. llvm-svn: 71559
* x86-64 ABI: clang incorrectly passes union { long double, float } inDaniel Dunbar2009-05-121-0/+3
| | | | | | | register. - Merge algorithm was returning MEMORY as it should. llvm-svn: 71556
* Add logic for invalidating array region to CFRefCount.cpp. When invalidatingZhongxing Xu2009-05-121-0/+10
| | | | | | | | | array region, set its default value to conjured symbol. When retrieving its element, create new region value symbol for the element. Also fix some 80 columns violations. llvm-svn: 71548
* Fix <rdar://problem/6877235> Classes typedef-ed to CF objects should get the ↵Ted Kremenek2009-05-121-0/+21
| | | | | | | | same treatment as CF objects This was accomplished by having 'isTypeRef' recursively walk the typedef stack. llvm-svn: 71538
* Make precompiled headers work with -E. When we're only preprocessingDouglas Gregor2009-05-122-0/+12
| | | | | | | (with -E), we turn the PCH include into an implicit include of the file from which the PCH file was generated. llvm-svn: 71534
* Test for x86 target features, I forgot to commit this.Daniel Dunbar2009-05-111-0/+3
| | | | llvm-svn: 71492
* Darwin x86-32: Multi-dimensional arrays were not handled correctly,Daniel Dunbar2009-05-111-0/+6
| | | | | | spotted by Eli! llvm-svn: 71490
* Friend declarations are only valid inside class definitions.Anders Carlsson2009-05-111-0/+6
| | | | llvm-svn: 71489
* Make cleanup-stack.c test stronger, and work in release-asserts mode.Daniel Dunbar2009-05-111-11/+21
| | | | llvm-svn: 71484
* For friend class decls, always use TK_Reference so we'll try to look up ↵Anders Carlsson2009-05-111-0/+12
| | | | | | existing class decls first. llvm-svn: 71481
* Implement the notions of the "current instantiation" and "unknownDouglas Gregor2009-05-112-1/+71
| | | | | | | | | | | | | | | | | | specialization" within a C++ template, and permit name lookup into the current instantiation. For example, given: template<typename T, typename U> struct X { typedef T type; X* x1; // current instantiation X<T, U> *x2; // current instantiation X<U, T> *x3; // not current instantiation ::X<type, U> *x4; // current instantiation X<typename X<type, U>::type, U>: *x5; // current instantiation }; llvm-svn: 71471
* Patch to allow Nonfragile ABI to use 32-bit style legacyFariborz Jahanian2009-05-111-5/+2
| | | | | | | | message dispage API for all but a few messages. This is a runtime performance improvement and there is not meant to be a functional change. llvm-svn: 71467
* Darwin x86_32: Treat records with unnamed bit-fields as "empty".Daniel Dunbar2009-05-111-0/+6
| | | | llvm-svn: 71461
* Fix regression reported in <rdar://problem/6866843>. The analyzer should ↵Ted Kremenek2009-05-111-2/+19
| | | | | | extend the lifetime of an object stored to a container. llvm-svn: 71452
* Add test case for <rdar://problem/6257780>.Ted Kremenek2009-05-111-0/+23
| | | | llvm-svn: 71444
* Add a test for canonicalization of template argumentsDouglas Gregor2009-05-111-0/+10
| | | | llvm-svn: 71436
* Fix a bug found by Thomas Clement where 'return [[[NSString alloc] init] ↵Ted Kremenek2009-05-111-0/+12
| | | | | | autorelease]' would emit a false 'too many overreleases' error. llvm-svn: 71432
* Implement the semantics of the injected-class-name within a classDouglas Gregor2009-05-101-2/+25
| | | | | | | | | | | | | | | | | | template. The injected-class-name is either a type or a template, depending on whether a '<' follows it. As a type, the injected-class-name's template argument list contains its template parameters in declaration order. As part of this, add logic for canonicalizing declarations, and be sure to canonicalize declarations used in template names and template arguments. A TagType is dependent if the declaration it references is dependent. I'm not happy about the rather complicated protocol needed to use ASTContext::getTemplateSpecializationType. llvm-svn: 71408
* Implement C++0x nullptr.Sebastian Redl2009-05-101-0/+67
| | | | llvm-svn: 71405
* Add special warning about returning a retained object where a GC'ed object ↵Ted Kremenek2009-05-101-3/+7
| | | | | | is expected. llvm-svn: 71397
* retain/release checker: Flag a warning for non-owned objects returnedTed Kremenek2009-05-102-0/+27
| | | | | | | | where an owned one is expected. Also add preliminary checking for returning a positive retain count object in GC mode where an owned GC object is expected. llvm-svn: 71388
* analyzer:Ted Kremenek2009-05-102-5/+5
| | | | | | | | - Improve -autorelease diagnostics. - Improve VLA diagnostics. - Use "short description" for bug when outputting to TextDiagnostics llvm-svn: 71383
* force a target triple so that the right greppable output happens.Chris Lattner2009-05-091-1/+1
| | | | llvm-svn: 71361
* When casting VarRegion, if the var type is aggregate type and the cast-toZhongxing Xu2009-05-091-1/+0
| | | | | | | pointee type is scalar type, create element region regardless with the sizes of types. llvm-svn: 71360
* add comments to test case.Zhongxing Xu2009-05-091-1/+2
| | | | llvm-svn: 71356
* Add back test cases for ns_returns_retained and cf_returns_retained.Ted Kremenek2009-05-092-0/+34
| | | | llvm-svn: 71312
* It lives! The retain/release checker now tracks objects that are sentTed Kremenek2009-05-091-1/+23
| | | | | | 'autorelease'. llvm-svn: 71307
* We want to diagnose sending message to a forward classFariborz Jahanian2009-05-082-2/+2
| | | | | | | and we also want to tell which message is actually being sent. llvm-svn: 71296
* Warn if forward class is used as a receiver.Fariborz Jahanian2009-05-081-0/+13
| | | | llvm-svn: 71278
* x86_64 ABI: Ignore padding bit-fields during classification.Daniel Dunbar2009-05-081-1/+10
| | | | | | | - {return-types,single-args}-{32,64} pass the first 1k ABI tests with bit-fields enabled. llvm-svn: 71272
* Darwin x86_32: When coercing a "single element" structure, make sureDaniel Dunbar2009-05-081-0/+6
| | | | | | | | | to use a wide enough type. This might be wider than the "single element"'s type in the presence of padding bit-fields. - Darwin x86_32 now passes the first 1k ABI tests with bit-field generation enabled. llvm-svn: 71270
* Fixes a bug in my last patch. Order of types reversed.Fariborz Jahanian2009-05-081-6/+6
| | | | llvm-svn: 71267
* Darwin x86_32: Ignore padding bit-fields when looking for "singleDaniel Dunbar2009-05-081-0/+3
| | | | | | element" structures. llvm-svn: 71266
* Darwin x86_32: Improve bit-field handling for returning records.Daniel Dunbar2009-05-081-10/+11
| | | | | | | - This turns out to be a no-op now that most of the handling for everything else is in place. llvm-svn: 71261
* Darwin x86_32: Ignore arrays of empty structures inside records.Daniel Dunbar2009-05-081-3/+6
| | | | | | | - This eliminates 5/1000 failures on return-types-32, on the current ABITest config. llvm-svn: 71250
* More type checking for properties, accessors andFariborz Jahanian2009-05-081-1/+71
| | | | | | use of dot-syntax expression. This is to match gcc's. llvm-svn: 71243
* Fix the atomics sema code to convert operands to the argument typesChris Lattner2009-05-082-2/+5
| | | | | | | | | of the underlying _N builtin, not the the type of the pointee of the actual type. This ensures that atomics involving pointers end up using the correct integer type when they are resolved, avoiding aborts in codegen. llvm-svn: 71218
* Remove experimental ownership attributes from Clang.Ted Kremenek2009-05-082-212/+0
| | | | llvm-svn: 71216
OpenPOWER on IntegriCloud