summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/DeclSpec.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove unused arguments and rename to conform to coding standards.Chad Rosier2012-12-211-8/+3
| | | | llvm-svn: 170933
* Re-commit r170428 changes with Linux style file endings.Guy Benyei2012-12-181-0/+12
| | | | | | Add OpenCL images as clang builtin types. llvm-svn: 170432
* Revert changes from r170428, as I accidentally changed the line endings of ↵Guy Benyei2012-12-181-12/+0
| | | | | | these files to Windows style. llvm-svn: 170431
* Add OpenCL images as clang builtin types.Guy Benyei2012-12-181-0/+12
| | | | llvm-svn: 170428
* Sort all of Clang's files under 'lib', and fix up the broken headersChandler Carruth2012-12-041-6/+6
| | | | | | | | | | | | | uncovered. This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/utils/sort_includes.py script over the files. I also manually added quite a few missing headers that were uncovered by shuffling the order or moving headers up to be main-module-headers. llvm-svn: 169237
* DR1528: C++11 doesn't allow repeated cv-qualifiers in declarators after all.Richard Smith2012-10-171-7/+5
| | | | llvm-svn: 166152
* Fixed FunctionTypeLoc source range.Abramo Bagnara2012-10-041-3/+7
| | | | llvm-svn: 165259
* Improved MSVC __interface support by adding first class support for it, ↵Joao Matos2012-08-311-0/+2
| | | | | | instead of aliasing to "struct" which had some incorrect behaviour. Patch by David Robins. llvm-svn: 163013
* Reversing the logic since C99 mode is actually not an extension. Also, ↵Aaron Ballman2012-08-291-2/+2
| | | | | | changing the group to the singular to match the diagnostic better. llvm-svn: 162838
* Splitting the duplicated decl spec extension warning into two: one is an ↵Aaron Ballman2012-08-281-6/+16
| | | | | | ExtWarn and the other a vanilla warning. This addresses PR13705, where const char const * wouldn't warn unless -pedantic was specified under the right conditions. llvm-svn: 162793
* Improvements to vexing-parse warnings. Make the no-parameters case moreRichard Smith2012-07-301-0/+2
| | | | | | | | | | | | | accurate by asking the parser whether there was an ambiguity rather than trying to reverse-engineer it from the DeclSpec. Make the with-parameters case have better diagnostics by using semantic information to drive the warning, improving the diagnostics and adding a fixit. Patch by Nikola Smiljanic. Some minor changes by me to suppress diagnostics for declarations of the form 'T (*x)(...)', which seem to have a very high false positive rate, and to reduce indentation in 'warnAboutAmbiguousFunction'. llvm-svn: 160998
* Pedantic -pedantic correction. Duplicate cv-qualifiers are permitted in C++11Richard Smith2012-07-241-3/+5
| | | | | | unless they appear in a decl-specifier-seq. llvm-svn: 160688
* Reapply r158700 and fixup patches, minus one hunk that slipped through andAlexis Hunt2012-06-191-1/+1
| | | | | | | caused a crash in an obscure case. On the plus side, it caused me to catch another bug by inspection. llvm-svn: 158767
* Extend the support for cl-std to include 1.2.Tanya Lattner2012-06-191-3/+11
| | | | | | | Add error checking for the static qualifier which is now allowed in certain situations for OpenCL 1.2. Use the CL version to turn on this feature. Added test case for 1.2 static storage class feature. llvm-svn: 158759
* Revert r158700 and dependent patches r158716, r158717, and r158731.Jakob Stoklund Olesen2012-06-191-1/+1
| | | | | | | | The original r158700 caused crashes in the gcc test suite, g++.abi/vtable3a.C among others. It also caused failures in the libc++ test suite. llvm-svn: 158749
* Improve the specification of spellings in Attr.td.Alexis Hunt2012-06-191-1/+1
| | | | | | | | | | | | | | | | | Note that this is mostly a structural patch that handles the change from the old spelling style to the new one. One consequence of this is that all AT_foo_bar enum values have changed to not be based off of the first spelling, but rather off of the class name, so they are now AT_FooBar and the like (a straw poll on IRC showed support for this). Apologies for code churn. Most attributes have GNU spellings as a temporary solution until everything else is sorted out (such as a Keyword spelling, which I intend to add if someone else doesn't beat me to it). This is definitely a WIP. I've also killed BaseCheckAttr since it was unused, and I had to go through every attribute anyway. llvm-svn: 158700
* If parsing a trailing-return-type fails, don't pretend we didn't have one atRichard Smith2012-06-121-2/+4
| | | | | | all. Suppresses follow-on errors mentioned in PR13074. llvm-svn: 158348
* Inline a trivial clear() method.Benjamin Kramer2012-05-191-7/+0
| | | | llvm-svn: 157114
* Revert most of r154844, which was disabled in r155975. Keep around theRichard Smith2012-05-021-5/+0
| | | | | | | refactorings in that revision, and some of the subsequent bugfixes, which seem to be relevant even without delayed exception specification parsing. llvm-svn: 156031
* Implement the last part of C++ [class.mem]p2, delaying the parsing ofDouglas Gregor2012-04-161-0/+5
| | | | | | | | | exception specifications on member functions until after the closing '}' for the containing class. This allows, for example, a member function to throw an instance of its own class. Fixes PR12564 and a fairly embarassing oversight in our C++98/03 support. llvm-svn: 154844
* For PR11916: Add support for g++'s __int128 keyword. Unlike __int128_t, this isRichard Smith2012-04-041-1/+3
| | | | | | | | | | a type specifier and can be combined with unsigned. This allows libstdc++4.7 to be used with clang in c++98 mode. Several other changes are still required for libstdc++4.7 to work with clang in c++11 mode. llvm-svn: 153999
* Unify naming of LangOptions variable/get function across the Clang stack ↵David Blaikie2012-03-111-6/+6
| | | | | | | | | | (Lex to AST). The member variable is always "LangOpts" and the member function is always "getLangOpts". Reviewed by Chris Lattner llvm-svn: 152536
* __decltype is a GNU extension, not a C++11 extension.Richard Smith2012-02-241-2/+0
| | | | llvm-svn: 151377
* Remove unreachable code in Clang. (replace with llvm_unreachable where ↵David Blaikie2012-01-171-3/+2
| | | | | | appropriate or when GCC requires it) llvm-svn: 148292
* Implement the missing pieces of Evaluate for _Complex types. With that ↵Eli Friedman2012-01-101-1/+2
| | | | | | complete, remove some code from CGExprConstant which is no longer necessary. While I'm here, a couple minor tweaks to _Complex-in-C++. (Specifically, make _Complex types literal types, and don't warn for _Complex int.) llvm-svn: 147840
* Improve the warning for cv-qualifiers on free functions, from Ahmed Charles!Douglas Gregor2011-10-191-0/+5
| | | | llvm-svn: 142478
* Add -Wc++98-compat warnings for uses of the new keywords 'alignof', 'char16_t',Richard Smith2011-10-171-0/+8
| | | | | | 'char32_t', 'constexpr', 'decltype', 'noexcept', 'nullptr' and 'static_assert'. llvm-svn: 142302
* Provide half floating point support as a storage only type.Anton Korobeynikov2011-10-141-0/+2
| | | | | | Lack of half FP was a regression compared to llvm-gcc. llvm-svn: 142016
* Support for C1x _Atomic specifier (see testcase). This is primarily being ↵Eli Friedman2011-10-061-0/+2
| | | | | | | | committed at the moment to help support C++0x <atomic>, but it should be a solid base for implementing the full specification of C1x _Atomic. Thanks to Jeffrey Yasskin for the thorough review! llvm-svn: 141330
* OpenCL: add a non-standard extension, cl_clang_storage_class_specifiers,Peter Collingbourne2011-10-061-13/+17
| | | | | | | | | which enables support for C99 storage-class specifiers. This extension is intended to be used by implementations to implement OpenCL C built-in functions. llvm-svn: 141271
* Rename Diagnostic to DiagnosticsEngine as per issue 5397David Blaikie2011-09-251-2/+2
| | | | llvm-svn: 140478
* Switch assert(0/false) llvm_unreachable.David Blaikie2011-09-231-3/+3
| | | | llvm-svn: 140367
* Rename SourceLocation::getFileLocWithOffset -> getLocWithOffset.Argyrios Kyrtzidis2011-09-191-1/+1
| | | | | | It already works (and is useful with) macro locs as well. llvm-svn: 140057
* Rename LangOptions::Microsoft to LangOptions::MicrosoftExt to make it clear ↵Francois Pichet2011-09-171-1/+1
| | | | | | | | that this flag must be used only for Microsoft extensions and not emulation; to avoid confusion with the new LangOptions::MicrosoftMode flag. Many of the code now under LangOptions::MicrosoftExt will eventually be moved under the LangOptions::MicrosoftMode flag. llvm-svn: 139987
* Remove the restriction on module-private friends. Since the friendDouglas Gregor2011-09-121-7/+0
| | | | | | | declaration may be the first declaration, we want the ability to that declaration to be marked module-private. llvm-svn: 139497
* Friends cannot be declared module-privateDouglas Gregor2011-09-091-1/+8
| | | | llvm-svn: 139411
* Modules: introduce the __module_private__ declaration specifier, whichDouglas Gregor2011-09-091-0/+12
| | | | | | | indicates that a declaration is only visible within the module it is declared in. llvm-svn: 139348
* PR10458: Finesse behaviour of C++0x features when in pre-0x mode. Accept ↵Richard Smith2011-09-041-1/+35
| | | | | | for-range and auto with an ExtWarn, and produce a -Wc++0x-compat warning in C++98 mode when auto is used as a storage class. llvm-svn: 139102
* Add 'mutable' to the function declarator chunk, to be used whenDouglas Gregor2011-07-131-0/+2
| | | | | | parsing lambda expressions, from John Freeman! llvm-svn: 135090
* Fixed enum types can be complete without actually being valid to useJohn McCall2011-07-061-0/+6
| | | | | | | as scope specifiers; diagnose the attempt, rather than letting it go to an assert. The rest of PR10264. llvm-svn: 134479
* Fix a couple more issues related to r133854:Richard Smith2011-06-251-2/+16
| | | | | | | | When performing semantic analysis on a member declaration, fix the check for whether we are declaring a function to check for parenthesized declarators, declaration via decltype, etc. Also fix the semantic check to not treat FuncType* as a function type. llvm-svn: 133862
* When deciding how to parse "= something" as part of a memberDouglas Gregor2011-06-251-0/+55
| | | | | | | | | declaration, determine whether the declaration will end up declaring a function using semantic criteria (e.g., it will have function type) rather than purely syntactic criteria (e.g., it has the form of a function declarator). Fixes <rdar://problem/9670557>. llvm-svn: 133854
* Introduce DelayedCleanupPool useful for simplifying clean-up of certain ↵Argyrios Kyrtzidis2011-06-221-3/+0
| | | | | | | | | | resources that, while their lifetime is well-known and restricted, cleaning them up manually is easy to miss and cause a leak. Use it to plug the leaking of TemplateIdAnnotation objects. rdar://9634138. llvm-svn: 133610
* Implement a new type node, UnaryTransformType, designed to represent aAlexis Hunt2011-05-241-1/+1
| | | | | | | | type that turns one type into another. This is used as the basis to implement __underlying_type properly - with TypeSourceInfo and proper behavior in the face of templates. llvm-svn: 132017
* Implement __underlying_type for libc++.Alexis Hunt2011-05-191-0/+1
| | | | llvm-svn: 131633
* Fix a bunch of major problems with __unknown_anytype and properly testJohn McCall2011-04-091-0/+1
| | | | | | for them. The only major missing feature is references. llvm-svn: 129234
* Remove the last of ClassVirtSpecifiers.Anders Carlsson2011-03-251-27/+0
| | | | llvm-svn: 128279
* Remove 'new' from virt-specifier since it's going to be removed in the next ↵Anders Carlsson2011-03-251-2/+0
| | | | | | C++0x draft llvm-svn: 128271
* Insomniac refactoring: change how the parser allocates attributes so thatJohn McCall2011-03-241-3/+2
| | | | | | | | | AttributeLists do not accumulate over the lifetime of parsing, but are instead reused. Also make the arguments array not require a separate allocation, and make availability attributes store their stuff in augmented memory, too. llvm-svn: 128209
* Use ElaboratedType also for C.Abramo Bagnara2011-03-161-4/+25
| | | | llvm-svn: 127755
OpenPOWER on IntegriCloud