# Build artifacts and dependencies.
/.children
/.project
/Makefile
/base
/benchmarks-internal
/buildtools
/ipch
/out
/xcodebuild
/.flaky.log
/.debug.log
*.Makefile
*.opensdf
*.sdf
*.sln
*.suo
*.target.mk
*.host.mk
*.vcproj
*.vcxproj
*.vcxproj.filters
/*.vcxproj.user
*.stamp

# LLVM prebuilts
/third_party/llvm/include
/third_party/llvm/lib
/third_party/llvm/.versions

# Gyp generated files
*.xcodeproj
*.intermediate

# Eclipse config files - also in all subdirectories.
.children
.project
.settings

# IntelliJ project files
*.iml
.idea
CMakeLists.txt
.clang_complete
cmake-build-debug

# VS project files
.vs

# VSCode project files
.vscode
.history

# https://github.com/Dart-Code/Dart-Code/issues/1295
/analysis_options.yaml

# analysis server files
compile_commands.json

# GDB files
.gdb_history

# Clangd files
.clangd

# Built by chromebot and downloaded from Google Storage
client/tests/drt

# Compiled python binaries
*.pyc

# pydev project file.
.pydevproject

# From the Mac OS X Finder
.DS_Store

# Pub generated "packages" directories and files
packages
pubspec.lock

# Local pub storage
.pub

# Vim temporary swap files.
*.swp

# Kate temporary files.
*~
*.kate-swp

# Merge files.
*.orig
*.rej

# Generated files.
tools/dartium/out
tools/out
tools/xcodebuild
.test-outcome.log
/outline.dill
/generated/
/crash_logs/
/build/config/gclient_args.gni
