summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* SimplifyJoerg Sonnenberger2011-05-131-1/+1
| | | | llvm-svn: 131321
* Bug 8765: Honor assembler labels for builtins. Ensure that the label isJoerg Sonnenberger2011-05-132-4/+26
| | | | | | | mangled to avoid doing it twice for platforms that use prefixes like Darwin. llvm-svn: 131311
* Include assembler label for functions in the XML dumpJoerg Sonnenberger2011-05-131-0/+2
| | | | llvm-svn: 131310
* Fix copy constructor deletion detection with array types.Alexis Hunt2011-05-131-3/+10
| | | | | | This fixes PR9910 llvm-svn: 131309
* Introduce __has_extension macroPeter Collingbourne2011-05-137-107/+294
| | | | | | | | | | | | | | | __has_extension is a function-like macro which takes the same set of feature identifiers as __has_feature. It evaluates to 1 if the feature is supported by Clang in the current language (either as a language extension or a standard language feature) or 0 if not. At the same time, add support for the C1X feature identifiers c_generic_selections (renamed from generic_selections) and c_static_assert, and document them. Patch by myself and Jean-Daniel Dupas. llvm-svn: 131308
* Define __ARM_NEON__ in both ARM and Thumb modes. Radar 9431992.Bob Wilson2011-05-131-3/+3
| | | | llvm-svn: 131301
* Remove the 'unaligned load' builtins now that they're no longer used in the ↵Bill Wendling2011-05-133-19/+0
| | | | | | *mmintrin.h files. llvm-svn: 131300
* Produce UTF-8 strings with -fconstant-string-classFariborz Jahanian2011-05-131-21/+15
| | | | | | -fno-constant-cfstrings. Patch by Jonathan Schleifer. llvm-svn: 131298
* refactor CheckForwardProtocolDeclarationForCircularDependency returnsFariborz Jahanian2011-05-132-11/+13
| | | | | | 'true' on detecting protocol cycles. No functionality change. llvm-svn: 131297
* Add c-index-test printing and tests for static and virtual methodDouglas Gregor2011-05-134-25/+30
| | | | | | query functions, from Erik Verbruggen! llvm-svn: 131295
* Eliminate old, useless tutorial pageDouglas Gregor2011-05-131-56/+0
| | | | llvm-svn: 131292
* Defaulting copy constructors now works reasonably well.Alexis Hunt2011-05-134-43/+350
| | | | | | One more special member to go llvm-svn: 131287
* some updates.Chris Lattner2011-05-131-10/+7
| | | | llvm-svn: 131286
* this never happened.Chris Lattner2011-05-131-30/+0
| | | | llvm-svn: 131285
* remove some old redirect pages. We're into our 3rd year of redirecting, the ↵Chris Lattner2011-05-133-51/+0
| | | | | | world should have adjusted by now :) llvm-svn: 131284
* Delete doxygen.cfg, and use cwd-relative paths in doxygen.cfg.in.Peter Collingbourne2011-05-133-1241/+11
| | | | | | Now "make doxygen" works for clang. llvm-svn: 131282
* Refactoring of constant expression evaluatorPeter Collingbourne2011-05-135-346/+258
| | | | | | | | | This introduces a generic base class for the expression evaluator classes, which handles a few common expression types which were previously handled separately in each class. Also, the expression evaluator now uses ConstStmtVisitor. llvm-svn: 131281
* Add a ConstStmtVisitor classPeter Collingbourne2011-05-131-16/+41
| | | | | | | | | ConstStmtVisitor is a constness-preserving variant of StmtVisitor. ConstStmtVisitor and StmtVisitor share an implementation using a common base class, StmtVisitorBase, which uses a template template parameter to build pointer types. llvm-svn: 131280
* Add 'may_alias' attribute. Noticed by Eli.Bill Wendling2011-05-132-3/+3
| | | | llvm-svn: 131278
* When determining whether we can make a declaration into a globalDouglas Gregor2011-05-137-20/+38
| | | | | | | constant, also consider whether it's a class type that has any mutable fields. If so, it can't be a global constant. llvm-svn: 131276
* Implement a few basic tests for defaulted and deleted functions.Alexis Hunt2011-05-134-8/+49
| | | | | | | More comprehensive testing once copy {constructors,assignment operators} can be defaulted. llvm-svn: 131275
* Teach the template parameter dependency checker used when matchingDouglas Gregor2011-05-131-0/+4
| | | | | | | | template parameter lists to scope specifiers for friend declarations about injected class name types. Fixes the g++.dg/template/memfriend5.C regression in the GCC testsuite. llvm-svn: 131272
* Implement the __is_trivially_copyable type traitAlexis Hunt2011-05-1312-0/+142
| | | | llvm-svn: 131270
* Represent the unaligned loads natively. These are converted into a call to theBill Wendling2011-05-132-3/+12
| | | | | | correct unaligned load. llvm-svn: 131268
* Implement defaulting of destructors.Alexis Hunt2011-05-126-28/+64
| | | | llvm-svn: 131260
* HrmAlexis Hunt2011-05-126-54/+243
| | | | llvm-svn: 131259
* Add a method to query whether or not a class has a default constructor declared.Nick Lewycky2011-05-121-1/+7
| | | | llvm-svn: 131255
* After issuing diagnostics on circular protocol list,Fariborz Jahanian2011-05-122-5/+8
| | | | | | | | don't build circular AST in protocol's protocol list when user code has introduced it. Indexer and other clients may crash. // rdar://9221614 llvm-svn: 131254
* Doug convinced me that DW_AT_APPLE_objc_complete_type is more appropriate name.Devang Patel2011-05-124-4/+4
| | | | | | s/DW_AT_APPLE_objc_class_extension/DW_AT_APPLE_objc_complete_type/g llvm-svn: 131245
* Do not add AT_APPLE_objc_class_extension attribute if @implementation is not ↵Devang Patel2011-05-122-2/+13
| | | | | | seen. llvm-svn: 131242
* enable __has_feature(is_standard_layout)Howard Hinnant2011-05-122-0/+6
| | | | llvm-svn: 131240
* Use DW_AT_APPLE_objc_class_extension attribute to identify interfaces that ↵Devang Patel2011-05-123-1/+35
| | | | | | | | represent class extension. Radar 9423077. llvm-svn: 131239
* LLVM doesn't always optimize away the four loads from this:Bill Wendling2011-05-125-2/+8
| | | | | | | | | | (__m128){ p[0], p[1], p[2], p[3] } which produces really bad code. This could be done in instcombine, but it's probably better to do it in the front-end instead. <rdar://problem/9424836> llvm-svn: 131237
* Add clang_CXXMethod_isVirtual() to libclang, from Erik Verbruggen!Douglas Gregor2011-05-124-0/+22
| | | | llvm-svn: 131230
* Properly parse the 'default' and 'delete' keywords.Alexis Hunt2011-05-1211-79/+213
| | | | | | | | | | | | | | | | | They are actually grammatically considered definitions and parsed accordingly. This fixes the outstanding bugs regarding defaulting functions after their declarations. We now really nicely diagnose the following construct (try it!) int foo() = delete, bar; Still todo: Defaulted functions other than default constructors Test cases (including for the above construct) llvm-svn: 131228
* Make it so that we actually generate definitions for explicitlyAlexis Hunt2011-05-123-4/+5
| | | | | | | | | | defaulted default constructors. As it happens, making sure that we handle out-of-line defaulted functions properly will involved making sure that we actually parse them correctly, so that's coming after. llvm-svn: 131224
* Implement deletion of explicitly defaulted default constructors.Alexis Hunt2011-05-123-31/+19
| | | | | | | We still don't parse out-of-line defaults correctly, which is needed to get the full effect out of this patch. llvm-svn: 131223
* Fix crasher spotted in IWYU.Nick Lewycky2011-05-121-1/+2
| | | | llvm-svn: 131222
* PR9899: handle pseudo-destructors correctly in noexcept() expressions.Eli Friedman2011-05-122-1/+7
| | | | llvm-svn: 131220
* Make this code more resilient against catch variables which need cleanups.John McCall2011-05-121-3/+4
| | | | llvm-svn: 131215
* Fix typo in comment.Nick Lewycky2011-05-121-1/+1
| | | | llvm-svn: 131212
* Fix PR9902: correctly substitute alias templates within the template in ↵Richard Smith2011-05-122-0/+31
| | | | | | which they are defined: provide an empty list of arguments for each containing template context during substitution. llvm-svn: 131211
* Implement CWG1170, which makes access-control errors into templateDouglas Gregor2011-05-114-3/+53
| | | | | | | argument deduction failures. Only implemented in C++0x, since this is a significant change in behavior from C++98/03. llvm-svn: 131209
* When checking for the necessary 'template<>' headers based on theDouglas Gregor2011-05-114-4/+56
| | | | | | | | | | nested of an out-of-line declaration, only require a 'template<>' header for each enclosing class template that hasn't been previously specialized; previously, we were requiring 'template<>' for enclosing class templates and members of class templates that hadn't been previously specialized. Fixes <rdar://problem/9422013>. llvm-svn: 131207
* Place "conflicting distributed object modifiers..." warnings under a -W flag.Ted Kremenek2011-05-111-2/+4
| | | | llvm-svn: 131206
* Commit some missing changes to the previous patch.Alexis Hunt2011-05-112-4/+16
| | | | | | This means we get C++0x jump-across-intializer semantics correct. llvm-svn: 131204
* Implement implicit deletion of default constructors.Alexis Hunt2011-05-118-21/+210
| | | | | | | | Yes, I'm aware that the diagnostics are awful. Tests to follow. llvm-svn: 131203
* Add a Microsoft C test following r131201.Francois Pichet2011-05-111-0/+8
| | | | llvm-svn: 131202
* In Microsoft mode, allow conversion from pointer to integral type no matter ↵Francois Pichet2011-05-112-3/+13
| | | | | | | | | | | what size the integral type is. Necessary to parse MFC code. Example: void f(char *ptr) { char var = (char)ptr; } llvm-svn: 131201
* Clean up consequences of cut and paste.Fariborz Jahanian2011-05-111-69/+69
| | | | llvm-svn: 131190
OpenPOWER on IntegriCloud