Commit Graph

49 Commits

Author SHA1 Message Date
LLVM GN Syncbot aff6a022a8 [gn build] Port 263dcf452f 2022-07-15 08:36:57 +00:00
Nico Weber fd20ec6b6e [gn build] (manually) port 89cd86bbc5 (clang-pseudo move) 2022-03-15 20:45:36 -04:00
LLVM GN Syncbot d229765e61 [gn build] Port 54d6b5b67f 2022-03-07 16:44:43 +00:00
LLVM GN Syncbot dc19c70c81 [gn build] Port 7c1ee5e95f 2022-02-23 17:12:13 +00:00
LLVM GN Syncbot ef9a659631 [gn build] Port a2fab82f33 2022-02-23 08:21:48 +00:00
LLVM GN Syncbot e92ff1b4fa [gn build] Port f1984b1433 2022-02-09 17:34:07 +00:00
LLVM GN Syncbot 990996bf8b [gn build] Port 46a6f5ae14 2022-02-09 17:34:06 +00:00
Nico Weber 9b65641d5e [gn build] (manually) port 20e05b9f0e (ClangPseudoTests) 2022-02-03 10:55:53 -05:00
Nico Weber 1928bcd8bd [gn build] (manually) port de07b1e84d 2021-06-04 10:37:53 -04:00
Nico Weber 46991ad266 [gn build] (manually) port aee6c86c4d better
"EmptyNodeIntrospection.inc.in" needs to be a source of the action,
so that ninja knows to rerun this action if that input changes.
2021-04-22 08:41:40 -04:00
Nico Weber b13e9d72da [gn build] (manually) port aee6c86c4d 2021-04-22 08:36:19 -04:00
Stephen Kelly 19740652c4 [AST] Add generator for source location introspection
Generate a json file containing descriptions of AST classes and their
public accessors which return SourceLocation or SourceRange.

Use the JSON file to generate a C++ API and implementation for accessing
the source locations and method names for accessing them for a given AST
node.

This new API can be used to implement 'srcloc' output in clang-query:

  http://ce.steveire.com/z/m_kTIo

The JSON file can also be used to generate bindings for other languages,
such as Python and Javascript:

  https://steveire.wordpress.com/2019/04/30/the-future-of-ast-matching

In this first version of this feature, only the accessors for Stmt
classes are generated, not Decls, TypeLocs etc.  Those can be added
after this change is reviewed, as this change is mostly about
infrastructure of these code generators.

Also in this version, the platforms/cmake configurations are excluded as
much as possible so that support can be added iteratively.  Currently a
break on any platform causes a revert of the entire feature.  This way,
the `OR WIN32` can be removed in a future commit and if it breaks the
buildbots, only that commit gets reverted, making the entire process
easier to manage.

Differential Revision: https://reviews.llvm.org/D93164
2021-03-15 10:52:44 +00:00
Stephen Kelly 6e303a982d Revert "[AST] Add generator for source location introspection"
This reverts commit 91abaa1f8d.
2021-03-15 01:16:10 +00:00
Stephen Kelly 91abaa1f8d [AST] Add generator for source location introspection
Generate a json file containing descriptions of AST classes and their
public accessors which return SourceLocation or SourceRange.

Use the JSON file to generate a C++ API and implementation for accessing
the source locations and method names for accessing them for a given AST
node.

This new API can be used to implement 'srcloc' output in clang-query:

  http://ce.steveire.com/z/m_kTIo

The JSON file can also be used to generate bindings for other languages,
such as Python and Javascript:

  https://steveire.wordpress.com/2019/04/30/the-future-of-ast-matching

In this first version of this feature, only the accessors for Stmt
classes are generated, not Decls, TypeLocs etc.  Those can be added
after this change is reviewed, as this change is mostly about
infrastructure of these code generators.

Also in this version, the platforms/cmake configurations are excluded as
much as possible so that support can be added iteratively.  Currently a
break on any platform causes a revert of the entire feature.  This way,
the `OR WIN32` can be removed in a future commit and if it breaks the
buildbots, only that commit gets reverted, making the entire process
easier to manage.

Differential Revision: https://reviews.llvm.org/D93164
2021-03-15 00:00:29 +00:00
Stephen Kelly e312b4b6c7 Revert "[AST] Add generator for source location introspection"
This reverts commit 477e4b9746.
2021-03-14 22:51:45 +00:00
Stephen Kelly 477e4b9746 [AST] Add generator for source location introspection
Generate a json file containing descriptions of AST classes and their
public accessors which return SourceLocation or SourceRange.

Use the JSON file to generate a C++ API and implementation for accessing
the source locations and method names for accessing them for a given AST
node.

This new API can be used to implement 'srcloc' output in clang-query:

  http://ce.steveire.com/z/m_kTIo

The JSON file can also be used to generate bindings for other languages,
such as Python and Javascript:

  https://steveire.wordpress.com/2019/04/30/the-future-of-ast-matching

In this first version of this feature, only the accessors for Stmt
classes are generated, not Decls, TypeLocs etc.  Those can be added
after this change is reviewed, as this change is mostly about
infrastructure of these code generators.

Also in this version, the platforms/cmake configurations are excluded as
much as possible so that support can be added iteratively.  Currently a
break on any platform causes a revert of the entire feature.  This way,
the `OR WIN32` can be removed in a future commit and if it breaks the
buildbots, only that commit gets reverted, making the entire process
easier to manage.

Differential Revision: https://reviews.llvm.org/D93164
2021-03-14 22:32:42 +00:00
Nico Weber 237526319c Revert "[gn build] (manually) kind of merge d627a27d26"
This reverts commit 5123327eda.
d627a27d26 was reverted in e0f70a8a97.
2021-03-14 12:18:22 -04:00
Nico Weber 5123327eda [gn build] (manually) kind of merge d627a27d26
This only merges the no-op generator part for now.
2021-03-14 09:19:44 -04:00
Nico Weber 420acc8414 [gn build] (manually) port 98aa067109 2020-11-11 08:40:13 -05:00
Nico Weber 641bead10e [gn build] (semi-manually) Port 454579e46a 2020-11-11 08:40:13 -05:00
Nico Weber c084ff5819 Revert "[gn build] (semi-manually) Port 98aa067109"
This reverts commit 04ce13e497.
The commit message was wrong. Will reland with fixed message.
2020-11-11 08:40:12 -05:00
Nico Weber 04ce13e497 [gn build] (semi-manually) Port 98aa067109 2020-11-11 07:37:15 -05:00
Nico Weber abef77c3dd [gn build] port a2214757e2 more 2020-10-20 10:20:11 -04:00
LLVM GN Syncbot e572c9ce90 [gn build] Port a2214757e2 2020-10-20 13:20:26 +00:00
Nico Weber 1afd889d0b [gn build] Make sync_source_lists_from_cmake handle one-line sources lines
sync_source_lists_from_cmake now also looks for source files in
`sources += [ "foo.cc" ]` lines, which allows us to remove most
`# Make `gn format` not collapse this` comments.

(sync_source_lists_from_cmake doesn't look for `foo_headers += [...]`
still, so the comment is still needed in two places for that.)

No intentional behavior change.
2020-07-17 11:53:42 -04:00
LLVM GN Syncbot 9c9b71a290 [gn build] Port 9ca50e887d 2020-06-19 01:17:54 +00:00
Nico Weber eadc28274b [gn build] add multi-line forcing comments in more places 2020-01-15 13:36:42 -05:00
LLVM GN Syncbot 2f45693030 gn build: Merge 1ad15046dc 2019-12-18 11:25:51 +00:00
LLVM GN Syncbot c732a15216 gn build: Merge 45ef055d4f 2019-12-04 14:21:10 +00:00
LLVM GN Syncbot b1209d74e3 gn build: Merge 33a745e6fe 2019-10-30 22:28:00 +00:00
GN Sync Bot 4e039e2720 gn build: Merge r375483
llvm-svn: 375484
2019-10-22 05:09:35 +00:00
GN Sync Bot b67d3df1c1 gn build: Merge r374558
llvm-svn: 374560
2019-10-11 14:48:31 +00:00
Nico Weber 20fc20dfcf gn build: (manually) merge r374271
llvm-svn: 374272
2019-10-10 02:48:47 +00:00
GN Sync Bot 09855a2b50 gn build: Merge r372595
llvm-svn: 372597
2019-09-23 12:44:45 +00:00
Peter Collingbourne 9272a3c04f gn build: Merge r368086.
llvm-svn: 368096
2019-08-06 21:47:37 +00:00
Vitaly Buka 29949a65b6 Update gn files
llvm-svn: 365361
2019-07-08 17:50:22 +00:00
Nico Weber 852f45ba88 gn build: Follow-up to r364491 "[GN] Update build files"
- Merge r364427 (GSYM lib) more: It was missing the new unit test
  (as pointed out by llvm/utils/gn/build/sync_source_lists_from_cmake.py),
  and it had some superfluous deps not present in the cmake build.

- Merge r364474 (clang DependencyScanning lib) more: The deps didn't
  quite match cmake.

llvm-svn: 364501
2019-06-27 06:08:57 +00:00
Vitaly Buka c5c8e28756 [GN] Update build files
llvm-svn: 364491
2019-06-27 01:34:19 +00:00
Nico Weber 90a880bbce gn build: Merge r364386
llvm-svn: 364409
2019-06-26 11:35:28 +00:00
Nico Weber bab1d8edcf Rename clangToolingRefactor to clangToolingRefactoring for consistency with its directory
See "[cfe-dev] The name of clang/lib/Tooling/Refactoring".

Differential Revision: https://reviews.llvm.org/D62420

llvm-svn: 361684
2019-05-25 00:27:19 +00:00
Ilya Biryukov e7230ea7c9 Reland r361148 with a fix to the buildbot failure.
Reverted in r361377.
Also reland the '.gn' files (reverted in r361389).

llvm-svn: 361391
2019-05-22 14:44:45 +00:00
Nico Weber 86c5d9f6d5 gn build: Merge r361377
llvm-svn: 361389
2019-05-22 14:31:22 +00:00
Nico Weber 80efcdcdf8 gn build: Merge r361148
llvm-svn: 361191
2019-05-20 19:33:32 +00:00
Nico Weber 7fbbdfd914 gn build: Merge r361152
llvm-svn: 361153
2019-05-20 13:46:42 +00:00
Nico Weber ea622ef43e gn build: Merge r358691
llvm-svn: 358754
2019-04-19 13:16:26 +00:00
Nico Weber 226a9b96a7 gn build: Merge 357768 and 357770
llvm-svn: 357783
2019-04-05 17:05:54 +00:00
Nico Weber 6df17c679d [gn build] Add build files for clang/tools/{clang-refactor,clang-rename}, clang/utils/hmaptool, clang/lib/Tooling/Refactoring
Needed for check-clang.

Differential Revision: https://reviews.llvm.org/D56055

llvm-svn: 350025
2018-12-23 14:17:13 +00:00
Nico Weber 9f20b9a202 [gn build] Add build files for clang/tools/{clang-diff,clang-import-test,diagtool and clang/lib/Tooling, clang/lib/Tooling/ASTDiff
Needed for check-clang.

Differential Revision: https://reviews.llvm.org/D56054

llvm-svn: 350024
2018-12-23 14:15:26 +00:00
Nico Weber 29ea6035be [gn build] Add build files for clang-format and lib/{Format,Rewrite,Tooling/Core,Tooling/Inclusions}
Differential Revision: https://reviews.llvm.org/D55924

llvm-svn: 349830
2018-12-20 21:51:46 +00:00