Skip to content

Commit e712f41

Browse files
authored
Merge branch 'master' into cpp_imsvc_support
2 parents 2ada95a + 790afeb commit e712f41

File tree

219 files changed

+23429
-9986
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

219 files changed

+23429
-9986
lines changed

.github/workflows/ci.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -177,10 +177,6 @@ jobs:
177177
benchmark: false
178178
python-arch: 'x64'
179179
msvc: 16
180-
- runs-on: windows-2016
181-
benchmark: false
182-
python-arch: 'x64'
183-
msvc: 15
184180
runs-on: ${{ matrix.runs-on }}
185181
env:
186182
USE_CLANG_COMPLETER: ${{ matrix.libclang }}

.mergify.yml

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ queue_rules:
1010
- status-success=ubuntu-20.04 - with Clang compiler - test run
1111
- status-success=ubuntu-20.04 - test run
1212
- status-success=C++ Lint
13-
- status-success=Windows MSVC 15 x64 - test run
1413
- status-success=Windows MSVC 16 x64 - test run
1514
- status-success=Windows MSVC 17 x64 - test run
1615
- status-success=Windows MSVC 17 x86 - test run
@@ -28,7 +27,6 @@ pull_request_rules:
2827
- status-success=ubuntu-20.04 - with Clang compiler - test run
2928
- status-success=ubuntu-20.04 - test run
3029
- status-success=C++ Lint
31-
- status-success=Windows MSVC 15 x64 - test run
3230
- status-success=Windows MSVC 16 x64 - test run
3331
- status-success=Windows MSVC 17 x64 - test run
3432
- status-success=Windows MSVC 17 x86 - test run
@@ -40,6 +38,7 @@ pull_request_rules:
4038
name: default
4139
comment:
4240
message: Thanks for sending a PR!
41+
4342
- name: Manual merge on Azure Pipelines and Maintainer Override
4443
conditions:
4544
- base=master
@@ -50,7 +49,6 @@ pull_request_rules:
5049
- status-success=ubuntu-20.04 - with Clang compiler - test run
5150
- status-success=ubuntu-20.04 - test run
5251
- status-success=C++ Lint
53-
- status-success=Windows MSVC 15 x64 - test run
5452
- status-success=Windows MSVC 16 x64 - test run
5553
- status-success=Windows MSVC 17 x64 - test run
5654
- status-success=Windows MSVC 17 x86 - test run
@@ -66,3 +64,28 @@ pull_request_rules:
6664
name: default
6765
comment:
6866
message: Thanks for sending a PR!
67+
68+
- name: Manual merge on Pipelines and Maintainer Override from owner PR
69+
conditions:
70+
- base=master
71+
- author=puremourning
72+
- status-success=macos-10.15 - C++ Benchmark
73+
- status-success=macos-10.15 - test run
74+
- status-success=ubuntu-20.04 - C++ Benchmark
75+
- status-success=ubuntu-20.04 - without libclang completer - test run
76+
- status-success=ubuntu-20.04 - with Clang compiler - test run
77+
- status-success=ubuntu-20.04 - test run
78+
- status-success=C++ Lint
79+
- status-success=Windows MSVC 16 x64 - test run
80+
- status-success=Windows MSVC 17 x64 - test run
81+
- status-success=Windows MSVC 17 x86 - test run
82+
- status-success=Windows MSVC 17 x64 - C++ Benchmark
83+
84+
- "#changes-requested-reviews-by=0"
85+
- label="Ship It!"
86+
actions:
87+
queue:
88+
method: merge
89+
name: default
90+
comment:
91+
message: Thanks for sending a PR!

.ycm_extra_conf.py

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,25 @@ def Settings( **kwargs ):
176176

177177
if language == 'python':
178178
return {
179-
'interpreter_path': PathToPythonUsedDuringBuild()
179+
'interpreter_path': PathToPythonUsedDuringBuild(),
180+
'ls': {
181+
'python': {
182+
'analysis': {
183+
'extraPaths': [
184+
p.join( DIR_OF_THIS_SCRIPT ),
185+
p.join( DIR_OF_THIRD_PARTY, 'bottle' ),
186+
p.join( DIR_OF_THIRD_PARTY, 'regex-build' ),
187+
p.join( DIR_OF_THIRD_PARTY, 'frozendict' ),
188+
p.join( DIR_OF_THIRD_PARTY, 'jedi_deps', 'jedi' ),
189+
p.join( DIR_OF_THIRD_PARTY, 'jedi_deps', 'parso' ),
190+
p.join( DIR_OF_WATCHDOG_DEPS, 'watchdog', 'build', 'lib3' ),
191+
p.join( DIR_OF_WATCHDOG_DEPS, 'pathtools' ),
192+
p.join( DIR_OF_THIRD_PARTY, 'waitress' )
193+
],
194+
'useLibraryCodeForTypes': True
195+
}
196+
}
197+
}
180198
}
181199

182200
return {}
@@ -185,15 +203,16 @@ def Settings( **kwargs ):
185203
def PythonSysPath( **kwargs ):
186204
sys_path = kwargs[ 'sys_path' ]
187205

188-
interpreter_path = kwargs[ 'interpreter_path' ]
189-
190206
sys_path[ 0:0 ] = [ p.join( DIR_OF_THIS_SCRIPT ),
191207
p.join( DIR_OF_THIRD_PARTY, 'bottle' ),
192208
p.join( DIR_OF_THIRD_PARTY, 'regex-build' ),
193209
p.join( DIR_OF_THIRD_PARTY, 'frozendict' ),
194210
p.join( DIR_OF_THIRD_PARTY, 'jedi_deps', 'jedi' ),
195211
p.join( DIR_OF_THIRD_PARTY, 'jedi_deps', 'parso' ),
196-
p.join( DIR_OF_WATCHDOG_DEPS, 'watchdog', 'build', 'lib3' ),
212+
p.join( DIR_OF_WATCHDOG_DEPS,
213+
'watchdog',
214+
'build',
215+
'lib3' ),
197216
p.join( DIR_OF_WATCHDOG_DEPS, 'pathtools' ),
198217
p.join( DIR_OF_THIRD_PARTY, 'waitress' ) ]
199218

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,8 @@ Or, to use an unused local port, set `port` to `*` and use `${port}` in the
328328
When plugging in a completer in this way, the `kwargs[ 'language' ]` will be set
329329
to the value of the `name` key, i.e. `gopls` in the above example.
330330

331-
LSP completers currently supported without `language_server`:
331+
A number of LSP completers are currently supported without `language_server`,
332+
usch as:
332333

333334
- Java
334335
- Rust
@@ -342,6 +343,9 @@ def Settings( **kwargs ):
342343
return { 'project_directory': 'src/' } # The path may be absolute as well.
343344
```
344345

346+
Note: If an LSP based completer is configured for a language that's supported
347+
"built-in", it overrides the built-in support.
348+
345349
##### C-family settings
346350

347351
The `Settings` function is called by the libclang and clangd-based completers to

build.py

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ def Exit( self ):
107107
'issue tracker, including the entire output of this script (with --verbose) '
108108
'and the invocation line used to run it.' )
109109

110-
CLANGD_VERSION = '13.0.0'
110+
CLANGD_VERSION = '14.0.0'
111111
CLANGD_BINARIES_ERROR_MESSAGE = (
112112
'No prebuilt Clang {version} binaries for {platform}. '
113113
'You\'ll have to compile Clangd {version} from source '
@@ -254,6 +254,7 @@ def _CheckCallQuiet( args, status_message, **kwargs ):
254254
def _CheckCall( args, **kwargs ):
255255
exit_message = kwargs.pop( 'exit_message', None )
256256
stdout = kwargs.get( 'stdout', None )
257+
on_failure = kwargs.pop( 'on_failure', None )
257258

258259
try:
259260
subprocess.check_call( args, **kwargs )
@@ -263,10 +264,12 @@ def _CheckCall( args, **kwargs ):
263264
print( stdout.read().decode( 'utf-8' ) )
264265
print( "FAILED" )
265266

266-
if exit_message:
267+
if on_failure:
268+
on_failure( exit_message, error.returncode )
269+
elif exit_message:
267270
raise InstallationFailed( exit_message )
268-
269-
raise InstallationFailed( exit_code = error.returncode )
271+
else:
272+
raise InstallationFailed( exit_code = error.returncode )
270273

271274

272275
def GetGlobalPythonPrefix():
@@ -863,10 +866,17 @@ def EnableGoCompleter( args ):
863866
new_env[ 'GOPATH' ] = p.join( DIR_OF_THIS_SCRIPT, 'third_party', 'go' )
864867
new_env.pop( 'GOROOT', None )
865868
new_env[ 'GOBIN' ] = p.join( new_env[ 'GOPATH' ], 'bin' )
866-
CheckCall( [ go, 'get', 'golang.org/x/tools/gopls@v0.7.1' ],
869+
870+
gopls = 'golang.org/x/tools/gopls@v0.7.1'
871+
CheckCall( [ go, 'install', gopls ],
867872
env = new_env,
868873
quiet = args.quiet,
869-
status_message = 'Building gopls for go completion' )
874+
status_message = 'Building gopls for go completion',
875+
on_failure = lambda msg, code: CheckCall(
876+
[ go, 'get', gopls ],
877+
env = new_env,
878+
quiet = args.quiet,
879+
status_message = 'Trying legacy get get' ) )
870880

871881

872882
def WriteToolchainVersion( version ):
@@ -1052,36 +1062,36 @@ def GetClangdTarget():
10521062
if OnWindows():
10531063
return [
10541064
( 'clangd-{version}-win64',
1055-
'ca4c9b7c0350a936e921b3e3dc6bdd51a6e905d65eac26b23ede7774158d2305' ),
1065+
'529c5b782d926536aedcb2d7a3c8a813fa05ada9193ec4119b28deb3f83634b2' ),
10561066
( 'clangd-{version}-win32',
1057-
'a2eab3a4b23b700a16b9ef3e6b5b122438fcf016ade88dd8e10d1f81bde9386e' ) ]
1067+
'6c7f0985370ebede0f61ff66a1b4886079f199bc346c2baa941de9ad76e907a7' ) ]
10581068
if OnMac():
10591069
if OnArm():
10601070
return [
10611071
( 'clangd-{version}-arm64-apple-darwin',
1062-
'68be75dbe52893cba5d75486e598e51032f7f67b24c748655aace932152d4421' ) ]
1072+
'6b4bed9378a9ac3d84720dbcf76e4c60b0afc27567d42d7837f9da8b039d13c5' ) ]
10631073
return [
10641074
( 'clangd-{version}-x86_64-apple-darwin',
1065-
'eacbe2d7df6e57e6053f60be798e9f64d3e57556a0b2c58cf0c5599fdf9e793d' ) ]
1075+
'867342cffc04ab3c1936121ed643e07df666119afad6518835a26306db8767ce' ) ]
10661076
if OnFreeBSD():
10671077
return [
10681078
( 'clangd-{version}-amd64-unknown-freebsd13',
1069-
'bc6a11bd22251f4996290384baa59854b88537ce9105da2c64d0c70992cc548b' ),
1079+
'5db1f95eea87d216d7a7490c207918962cddfdee6387594f6f6043ae21dde22f' ),
10701080
( 'clangd-{version}-i386-unknown-freebsd13',
1071-
'5ea931ca15b02c667fc3ad4d08266447b8212a83b43c80e644e3989645d63e2b' ) ]
1081+
'b9f6d0be1476dfb71ee16d12639b7fe425dc90097d81fbf2bdd0cb7248338ca2' ) ]
10721082
if OnAArch64():
10731083
return [
10741084
( 'clangd-{version}-aarch64-linux-gnu',
1075-
'f0e9cea316217a40298d48ef81198ac1b41e6686fc7f7631a6ce54dd75a6989e' ) ]
1085+
'c5e2ac2f9381f6c1bf2305af0458360160a86c8dbd369c923a71c673f391142d' ) ]
10761086
if OnArm():
10771087
return [
10781088
None, # First list index is for 64bit archives. ARMv7 is 32bit only.
10791089
( 'clangd-{version}-armv7a-linux-gnueabihf',
1080-
'bb52085decd18621f5c15b884dde6a327e3193b69bfc4b3a49c5f4459242e522' ) ]
1090+
'86b4582d551b8d5558b4bdd1060fbb3ec9ae4e0c7c6f9489db1a4088f5e71ef3' ) ]
10811091
if OnX86_64():
10821092
return [
10831093
( 'clangd-{version}-x86_64-unknown-linux-gnu',
1084-
'10a64c468d1dd2a384e0e5fd4eb2582fd9f1dfa706b6d2d2bb88fb0fbfc2718d' ) ]
1094+
'9c17b5550ba927aa3f661300b4258109d3a23aecdd97fef81185d0d0b5529d36' ) ]
10851095
raise InstallationFailed(
10861096
CLANGD_BINARIES_ERROR_MESSAGE.format( version = CLANGD_VERSION,
10871097
platform = 'this system' ) )
@@ -1216,11 +1226,12 @@ def PrintReRunMessage():
12161226
def Main(): # noqa: C901
12171227
args = ParseArguments()
12181228

1219-
if 'SUDO_COMMAND' in os.environ:
1229+
if not OnWindows() and os.geteuid() == 0:
12201230
if args.force_sudo:
1221-
print( 'Forcing build with sudo. If it breaks, keep the pieces.' )
1231+
print( 'Forcing build with root privileges. '
1232+
'If it breaks, keep the pieces.' )
12221233
else:
1223-
sys.exit( 'This script should not be run with sudo.' )
1234+
sys.exit( 'This script should not be run with root privileges.' )
12241235

12251236
try:
12261237
if not args.skip_build:

cpp/llvm/include/clang-c/Index.h

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2592,7 +2592,15 @@ enum CXCursorKind {
25922592
*/
25932593
CXCursor_OMPUnrollDirective = 293,
25942594

2595-
CXCursor_LastStmt = CXCursor_OMPUnrollDirective,
2595+
/** OpenMP metadirective directive.
2596+
*/
2597+
CXCursor_OMPMetaDirective = 294,
2598+
2599+
/** OpenMP loop directive.
2600+
*/
2601+
CXCursor_OMPGenericLoopDirective = 295,
2602+
2603+
CXCursor_LastStmt = CXCursor_OMPGenericLoopDirective,
25962604

25972605
/**
25982606
* Cursor that represents the translation unit itself.
@@ -3298,8 +3306,9 @@ enum CXTypeKind {
32983306
CXType_UAccum = 37,
32993307
CXType_ULongAccum = 38,
33003308
CXType_BFloat16 = 39,
3309+
CXType_Ibm128 = 40,
33013310
CXType_FirstBuiltin = CXType_Void,
3302-
CXType_LastBuiltin = CXType_BFloat16,
3311+
CXType_LastBuiltin = CXType_Ibm128,
33033312

33043313
CXType_Complex = 100,
33053314
CXType_Pointer = 101,

0 commit comments

Comments
 (0)