Haojian Wu
6c78703e3a
[AST] Fix the incorrect auto-keyword loc for constrained auto type loc.
...
E.g. `Concept auto Func();`
The nameLoc for the constained auto type loc pointed to the concept name
loc, it should be the auto token loc. This patch fixes it, and remove
a relevant hack in clang-tidy check.
Reviewed By: sammccall
Differential Revision: https://reviews.llvm.org/D117009
2022-01-19 14:18:38 +01:00
Haojian Wu
ab3f100bec
Reland (2) "[AST] Add RParen loc for decltype AutoTypeloc.""
...
The patch was reverted because it caused a crash during PCH build -- we
missed to update the RParenLoc in TreeTransform<Derived>::TransformAutoType.
This relands 55d96ac
and 37ec65e
with a test and fix.
2022-01-17 11:33:11 +01:00
Florian Hahn
eadb4cfeef
Revert (2) "[AST] Add RParen loc for decltype AutoTypeloc."
...
This reverts commit 41fbdfa4d5
.
The commit breaks stage 2 builds with debug info, e.g.
https://green.lab.llvm.org/green/job/clang-stage2-Rthinlto/5088/console
Clang crashes with the following assertion when building
llvm-project/llvm/lib/Support/Timer.cpp
/usr/local/bin/sccache /Users/buildslave/jenkins/workspace/clang-stage2-Rthinlto/host-compiler/bin/clang++ -DGTEST_HAS_RTTI=0 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib/Support -I/Users/buildslave/jenkins/workspace/clang-stage2-Rthinlto/llvm-project/llvm/lib/Support -Iinclude -I/Users/buildslave/jenkins/workspace/clang-stage2-Rthinlto/llvm-project/llvm/include -fno-stack-protector -fno-common -Wno-profile-instr-unprofiled -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -fmodules -fmodules-cache-path=/Users/buildslave/jenkins/workspace/clang-stage2-Rthinlto/clang-build/Build/module.cache -fcxx-modules -Xclang -fmodules-local-submodule-visibility -gmodules -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -fdiagnostics-color -flto=thin -O2 -g -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -std=c++14 -fno-exceptions -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/Timer.cpp.o -MF lib/Support/CMakeFiles/LLVMSupport.dir/Timer.cpp.o.d -o lib/Support/CMakeFiles/LLVMSupport.dir/Timer.cpp.o -c /Users/buildslave/jenkins/workspace/clang-stage2-Rthinlto/llvm-project/llvm/lib/Support/Timer.cpp
Assertion failed: (((getOffset()+Offset) & MacroIDBit) == 0 && "offset overflow"), function getLocWithOffset, file /Users/buildslave/jenkins/workspace/clang-stage1-RA/llvm-project/clang/include/clang/Basic/SourceLocation.h, line 135.
2022-01-12 10:09:37 +00:00
Haojian Wu
41fbdfa4d5
Reland "[AST] Add RParen loc for decltype AutoTypeloc."
...
Reland 55d96ac
and 37ec65e
with a clang-tidy fix.
2022-01-11 12:06:18 +01:00
Haojian Wu
c2293bc17d
Revert "[AST] Add RParen loc for decltype AutoTypeloc."
...
This breaks a clang-tidy check, needs to investigate and fix. Revert
them to bring the buildbot back.
This reverts commit 55d96ac3dc
and
37ec65e1d7
2022-01-10 15:18:41 +01:00
Haojian Wu
55d96ac3dc
[AST] Add RParen loc for decltype AutoTypeloc.
...
Differential Revision: https://reviews.llvm.org/D116919
2022-01-10 12:46:27 +01:00
Haojian Wu
4a4b8e4f99
[AST] Add more source information for DecltypeTypeLoc.
...
Adds the paren source location, and removes the hack in clangd.
Differential Revision: https://reviews.llvm.org/D116793
2022-01-10 09:34:18 +01:00
Alexander Kornienko
027899dab6
Remove references to the ast_type_traits namespace
...
Follow up to cd62511496
/
https://reviews.llvm.org/D74499
Reviewed By: aaron.ballman
Differential Revision: https://reviews.llvm.org/D92994
2020-12-11 00:58:46 +01:00
Vy Nguyen
17ea41e472
Summary: [clang] Provide a way for WhileStmt to report the location of its LParen and RParen.
...
Summary: This helps avoiding hacks downstream.
Reviewers: shafik
Subscribers: martong, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D83529
2020-07-10 21:31:16 -04:00
Dmitri Gribenko
d559185aae
Renamed Lang_C to Lang_C99, Lang_CXX to Lang_CXX03, and 2a to 20
...
Summary:
I think we would be better off with tests explicitly specifying the
language mode. Right now Lang_C means C99, but reads as "any C version",
or as "unspecified C version".
I also changed '-std=c++98' to '-std=c++03' because they are aliases (so
there is no difference in practice), because Clang implements C++03
rules in practice, and because 03 makes a nice sortable progression
between 03, 11, 14, 17, 20.
Reviewers: shafik, hlopko
Reviewed By: hlopko
Subscribers: jfb, martong, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D81000
2020-06-02 16:31:20 +02:00
Stephen Kelly
a30d411629
Set traversal explicitly where needed in tests
...
Reviewers: aaron.ballman, shafik
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72531
2020-05-21 22:34:38 +01:00
Marcel Hlopko
f8640737d4
Refactor SourceLocationTest to `using namespace`
...
Summary: Only for the readability reasons.
Reviewers: gribozavr
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D76120
2020-03-13 10:55:24 +01:00
Marcel Hlopko
ce79c42469
[Sema] Fix location of star ('*') inside MemberPointerTypeLoc
...
Summary: Copy of https://reviews.llvm.org/D72073?id=235842 , submitting with ilya-biryukov's permission.
Reviewers: gribozavr, gribozavr2
Reviewed By: gribozavr2
Subscribers: mgorny, gribozavr2, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D76061
2020-03-13 10:47:57 +01:00
Nicolas Manichon
cc3c935da2
Add FunctionDecl::getParameterSourceRange()
...
This source range covers the list of parameters of the function declaration,
including the ellipsis for a variadic function.
2019-12-03 08:21:55 -05:00
Chandler Carruth
2946cd7010
Update the file headers across all of the LLVM projects in the monorepo
...
to reflect the new license.
We understand that people may be surprised that we're moving the header
entirely to discuss the new license. We checked this carefully with the
Foundation's lawyer and we believe this is the correct approach.
Essentially, all code in the project is now made available by the LLVM
project under our new license, so you will see that the license headers
include that license only. Some of our contributors have contributed
code under our old license, and accordingly, we have retained a copy of
our old license notice in the top-level files in each project and
repository.
llvm-svn: 351636
2019-01-19 08:50:56 +00:00
Malcolm Parsons
a3220ce6a3
Tracking exception specification source locations
...
Summary:
We do not currently track the source locations for exception specifications such
that their source range can be queried through the AST. This leads to trying to
write more complex code to determine the source range for uses like FixItHints
(see D18575 for an example). In addition to use within tools like clang-tidy, I
think this information may become more important to track as exception
specifications become more integrated into the type system.
Patch by Don Hinton.
Reviewers: rsmith
Subscribers: malcolm.parsons, sbarzowski, alexfh, hintonda, cfe-commits
Differential Revision: https://reviews.llvm.org/D20428
llvm-svn: 291771
2017-01-12 16:11:28 +00:00
Malcolm Parsons
57c09c8e23
[Sema] Store a SourceRange for multi-token builtin types
...
Summary:
clang-tidy's modernize-use-auto check uses the SourceRange of a
TypeLoc when replacing the type with auto.
This was producing the wrong result for multi-token builtin types
like long long:
-long long *ll = new long long();
+auto long *ll = new long long();
Reviewers: alexfh, hokein, rsmith, Prazek, aaron.ballman
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D25363
llvm-svn: 284885
2016-10-21 21:13:56 +00:00
Aaron Ballman
580ccaf827
Properly track the end location of an exception specification.
...
Patch by Adrian Zgorzałek
llvm-svn: 257521
2016-01-12 21:04:22 +00:00
Aaron Ballman
512fb64765
Rename AST node matchers to match the AST node names directly. Part of this rename also splits recordDecl() (which used to match CXXRecordDecl) into recordDecl() (that matches RecordDecl) and cxxRecordDecl (that matches CXXRecordDecl). Also adds isStruct(), isUnion(), and isClass() narrowing matchers for RecordDecl objects.
...
llvm-svn: 247885
2015-09-17 13:30:52 +00:00
Yunzhong Gao
eba323ab44
Fix a few line endings. NFC.
...
llvm-svn: 236301
2015-05-01 02:04:32 +00:00
Alexander Kornienko
34eb20725d
Use 'override/final' instead of 'virtual' for overridden methods
...
Summary:
The patch is generated using clang-tidy misc-use-override check.
This command was used:
tools/clang/tools/extra/clang-tidy/tool/run-clang-tidy.py \
-checks='-*,misc-use-override' -header-filter='llvm|clang' -j=32 -fix
Reviewers: dblaikie
Reviewed By: dblaikie
Subscribers: klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D8926
llvm-svn: 234678
2015-04-11 02:00:23 +00:00
Aaron Ballman
f4cb2be05a
Track the source location of the dot or arrow operator in a MemberExpr.
...
Patch by Joe Ranieri!
llvm-svn: 233085
2015-03-24 15:07:53 +00:00
Eli Bendersky
5f4d76efd3
Record correct source range for defaulted/deleted members.
...
Fixes https://llvm.org/bugs/show_bug.cgi?id=20744
struct A {
A() = default;
};
Previously the source range of the declaration of A ended at the ')'. It should
include the '= default' part as well. The same for '= delete'.
Note: this will break one of the clang-tidy fixers, which is going to be
addessed in a follow-up patch.
Differential Revision: http://reviews.llvm.org/D8465
llvm-svn: 233028
2015-03-23 21:43:28 +00:00
Fariborz Jahanian
a1db7df243
Obective-C. Patch to fix the incorrect ObjcMessageExpr argument source ranges,
...
when arguments are structures or classes. PR16392.
patch by Karlis Senko
llvm-svn: 214409
2014-07-31 17:39:50 +00:00
Nikola Smiljanic
4fc91538e9
Fix FriendDecl source location and range for class templates and function declarations that don't start with 'friend' keyword. Add more unittests.
...
llvm-svn: 213220
2014-07-17 01:59:34 +00:00
Nikola Smiljanic
357af64d78
Add first set of tests for FriendDecl source range and location.
...
llvm-svn: 210306
2014-06-06 04:40:35 +00:00
Peter Collingbourne
b8d17e7a3b
Correctly set brace range for CXXConstructExprs formed by list initialization.
...
Differential Revision: http://llvm-reviews.chandlerc.com/D2711
llvm-svn: 201926
2014-02-22 02:59:41 +00:00
Chandler Carruth
5553d0d4ca
Sort all the #include lines with LLVM's utils/sort_includes.py which
...
encodes the canonical rules for LLVM's style. I noticed this had drifted
quite a bit when cleaning up LLVM, so wanted to clean up Clang as well.
llvm-svn: 198686
2014-01-07 11:51:46 +00:00
Enea Zaffanella
76e98feb57
Fix missing source location in CXXTemporaryObjectExpr nodes.
...
For clarity, renamed (get/set)ParenRange as (get/set)ParenOrBraceRange
in CXXConstructExpr nodes.
Added testcase.
llvm-svn: 190239
2013-09-07 05:49:53 +00:00
Enea Zaffanella
25723ce6fc
Fix source range of implicitly instantiated friend declaration.
...
llvm-svn: 186702
2013-07-19 18:02:36 +00:00
Enea Zaffanella
c70b2519d5
Fixed source range of C++03 access declarations.
...
llvm-svn: 186522
2013-07-17 17:28:56 +00:00
Enea Zaffanella
4c409494d8
Fixed testcase failing under MS by adding "-fno-delayed-template-parsing",
...
as suggested by Takumi. To this end, added a MatchVerifier::match()
overload accepting a vector of invocation arguments.
llvm-svn: 185827
2013-07-08 14:50:30 +00:00
NAKAMURA Takumi
58c821a0d9
AST/SourceLocationTest.cpp: Appease MS hosts to suppress CXXUnresolvedConstructExpr.SourceRange, for now.
...
FIXME: It could pass if MS-compatible mode were disabled with Args.push_back("-fno-delayed-template-parsing").
llvm-svn: 185795
2013-07-08 06:38:46 +00:00
Enea Zaffanella
8421a06314
Fixed source range for functional cast and unresolved construct expr nodes.
...
Added testcases.
llvm-svn: 185773
2013-07-07 06:41:54 +00:00
Enea Zaffanella
a90af72e8f
Fixed source location info for UnaryTransformTypeLoc nodes.
...
llvm-svn: 185765
2013-07-06 18:54:58 +00:00
Eli Friedman
2dcbdc0606
Fix source range of CXXNewExpr with parentheses around the type. PR15569.
...
llvm-svn: 184139
2013-06-17 22:35:10 +00:00
Eli Friedman
7152fbe57e
Re-commit r183466 with a fix to make the TypeLoc casting machinery work
...
correctly in the presence of qualified types.
(I had to change the unittest because it was trying to cast a
QualifiedTypeLoc to TemplateSpecializationTypeLoc.)
llvm-svn: 183563
2013-06-07 20:31:48 +00:00
Manuel Klimek
8122830a67
Adds a test that verifies angle bracket locations.
...
Regression test to make sure TemplateSpecializationTypeLocs have the
correct locations for angle brackets.
llvm-svn: 183514
2013-06-07 11:27:57 +00:00
Tanya Lattner
713eef4f7c
Add an error to check that all program scope variables are in the constant address space in OpenCL.
...
llvm-svn: 178906
2013-04-05 20:14:50 +00:00
Richard Smith
9ca910111c
PR15095: Use more correct source locations for the InitListExpr we fake up for
...
vector initialization. Patch by John Stratton!
llvm-svn: 174339
2013-02-05 05:55:57 +00:00
Manuel Klimek
aa58b97235
Move commonly useful code for AST testing into MatchVerfier.h.
...
llvm-svn: 174057
2013-01-31 13:10:40 +00:00
Chandler Carruth
320d9666ee
Sort the #include lines for unittests/...
...
I've tried to place sensible headers at the top as main-module headers.
llvm-svn: 169243
2012-12-04 09:45:34 +00:00
David Blaikie
3a0de21233
Fix a source range regression in C++ new expressions with call initializers.
...
Introduced in r167507, discovered in review by Abramo Bagnara.
llvm-svn: 167597
2012-11-08 22:53:48 +00:00
Abramo Bagnara
341ab737e9
Fixed converted ConstantArrayTypeLoc range. Added a missing testcase for ConstructorDecl source range.
...
llvm-svn: 167583
2012-11-08 14:44:42 +00:00
Abramo Bagnara
9b836fb019
Fixed range of implicit MemberExpr.
...
llvm-svn: 167581
2012-11-08 13:52:58 +00:00
David Blaikie
b9db60fbce
Test for source location range of new expressions fixed in r167507.
...
Patch by Philip Craig.
llvm-svn: 167538
2012-11-07 17:17:07 +00:00
Manuel Klimek
e6de22d3dc
Add unit tests for source locations of AST nodes.
...
Patch by Philip Craig.
llvm-svn: 167470
2012-11-06 17:31:40 +00:00