about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
-rw-r--r--test/ArrayOpt/test-mix.c2
-rw-r--r--test/ArrayOpt/test_and.c2
-rw-r--r--test/ArrayOpt/test_array_index_array.c2
-rw-r--r--test/ArrayOpt/test_array_index_array_diffsize.c2
-rw-r--r--test/ArrayOpt/test_cache.c2
-rw-r--r--test/ArrayOpt/test_const_arr-idx.c2
-rw-r--r--test/ArrayOpt/test_expr_complex.c2
-rw-r--r--test/ArrayOpt/test_expr_simple.c2
-rw-r--r--test/ArrayOpt/test_feasible.c2
-rw-r--r--test/ArrayOpt/test_hybrid.c2
-rw-r--r--test/ArrayOpt/test_multindex.c2
-rw-r--r--test/ArrayOpt/test_new.c2
-rw-r--r--test/ArrayOpt/test_nier.c2
-rw-r--r--test/ArrayOpt/test_noncontiguous_idx.c2
-rw-r--r--test/ArrayOpt/test_position.c2
-rw-r--r--test/ArrayOpt/test_sub_idx.c2
-rw-r--r--test/ArrayOpt/test_var_idx.c2
-rw-r--r--test/CXX/ArrayNew.cpp2
-rw-r--r--test/CXX/LandingPad.cpp2
-rw-r--r--test/CXX/New.cpp2
-rw-r--r--test/CXX/SimpleVirtual.cpp2
-rw-r--r--test/CXX/StaticConstructor.cpp2
-rw-r--r--test/CXX/StaticDestructor.cpp2
-rw-r--r--test/CXX/Trivial.cpp2
-rw-r--r--test/Concrete/_testingUtils.c2
-rw-r--r--test/Coverage/ReadArgs.c2
-rw-r--r--test/Coverage/ReplayOutDir.c2
-rw-r--r--test/Dogfood/ImmutableSet.cpp2
-rw-r--r--test/Feature/AddressOfLabels.c2
-rw-r--r--test/Feature/AddressOfLabelsSymbolic.c2
-rw-r--r--test/Feature/Alias.c2
-rw-r--r--test/Feature/AliasFunction.c2
-rw-r--r--test/Feature/AliasFunctionExit.c2
-rw-r--r--test/Feature/Atomic.c2
-rw-r--r--test/Feature/BFSSearcher.c2
-rw-r--r--test/Feature/BFSSearcherAndDFSSearcherInterleaved.c2
-rw-r--r--test/Feature/ByteSwap.c2
-rw-r--r--test/Feature/CallToUndefinedExternal.cpp2
-rw-r--r--test/Feature/CheckMemoryAccess.c2
-rw-r--r--test/Feature/CompressedExprLogging.c2
-rw-r--r--test/Feature/CopyOnWrite.c2
-rw-r--r--test/Feature/DanglingConcreteReadExpr.c2
-rw-r--r--test/Feature/DefineFixedObject.c2
-rw-r--r--test/Feature/DeterministicSwitch.c2
-rw-r--r--test/Feature/DivCheck.c4
-rw-r--r--test/Feature/DoubleFree.c2
-rw-r--r--test/Feature/DumpStatesOnHalt.c2
-rw-r--r--test/Feature/EntryPoint.c2
-rw-r--r--test/Feature/Envp.c2
-rw-r--r--test/Feature/EscapingFunctions.c2
-rw-r--r--test/Feature/EscapingFunctionsAlias.c2
-rw-r--r--test/Feature/ExitOnErrorType.c2
-rw-r--r--test/Feature/ExprLogging.c2
-rw-r--r--test/Feature/ExternalWeakLinkage.c2
-rw-r--r--test/Feature/Float.c2
-rw-r--r--test/Feature/FloatingPt.c2
-rw-r--r--test/Feature/FunctionPointer.c2
-rw-r--r--test/Feature/GetValue.c2
-rw-r--r--test/Feature/InAndOutOfBounds.c2
-rw-r--r--test/Feature/IndirectCallToBuiltin.c2
-rw-r--r--test/Feature/IndirectCallToExternal.c2
-rw-r--r--test/Feature/IsSymbolic.c2
-rw-r--r--test/Feature/KleeReportError.c2
-rw-r--r--test/Feature/LargeReturnTypes.cpp2
-rw-r--r--test/Feature/LinkLLVMLib.c4
-rw-r--r--test/Feature/LoggingInstructions.c2
-rw-r--r--test/Feature/LongDouble.c2
-rw-r--r--test/Feature/LongDoubleSupport.c2
-rw-r--r--test/Feature/LowerSwitch.c2
-rw-r--r--test/Feature/MakeConcreteSymbolic.c2
-rw-r--r--test/Feature/MakeSymbolicAPI.c2
-rw-r--r--test/Feature/MakeSymbolicName.c2
-rw-r--r--test/Feature/Memalign.c2
-rw-r--r--test/Feature/MemoryLimit.c4
-rw-r--r--test/Feature/MultiMkSym.c2
-rw-r--r--test/Feature/MultipleFreeResolution.c2
-rw-r--r--test/Feature/MultipleReadResolution.c2
-rw-r--r--test/Feature/MultipleReallocResolution.c2
-rw-r--r--test/Feature/MultipleWriteResolution.c2
-rw-r--r--test/Feature/NamedSeedMatching.c2
-rw-r--r--test/Feature/NoExternalCallsAllowed.c2
-rw-r--r--test/Feature/NonSizedGlobals.c2
-rw-r--r--test/Feature/OneFreeError.c2
-rw-r--r--test/Feature/OneOutOfBounds.c2
-rw-r--r--test/Feature/Optimize.c2
-rw-r--r--test/Feature/OverlappedError.c2
-rw-r--r--test/Feature/OvershiftCheck.c2
-rw-r--r--test/Feature/PreferCex.c2
-rw-r--r--test/Feature/RaiseAsm.c2
-rw-r--r--test/Feature/Realloc.c2
-rw-r--r--test/Feature/ReplayPath.c4
-rw-r--r--test/Feature/RewriteEqualities.c2
-rw-r--r--test/Feature/Searchers.c2
-rw-r--r--test/Feature/SetForking.c2
-rw-r--r--test/Feature/ShiftCheck.c4
-rw-r--r--test/Feature/SilentKleeAssume.c2
-rw-r--r--test/Feature/SolverTimeout.c2
-rw-r--r--test/Feature/SourceMapping.c2
-rw-r--r--test/Feature/StackOverflow.c2
-rw-r--r--test/Feature/VarArgLongDouble.c2
-rw-r--r--test/Feature/Vararg.c2
-rw-r--r--test/Feature/WithLibc.c2
-rw-r--r--test/Feature/WriteCov.c2
-rw-r--r--test/Feature/arithmetic-right-overshift-sym-conc.c2
-rw-r--r--test/Feature/consecutive_divide_by_zero.c2
-rw-r--r--test/Feature/const_array_opt1.c2
-rw-r--r--test/Feature/left-overshift-sym-conc.c2
-rw-r--r--test/Feature/logical-right-overshift-sym-conc.c2
-rw-r--r--test/Feature/srem.c2
-rw-r--r--test/Feature/ubsan_signed_overflow.c2
-rw-r--r--test/Feature/ubsan_unsigned_overflow.c2
-rw-r--r--test/Merging/batching_break.c2
-rw-r--r--test/Merging/easy_merge.c2
-rw-r--r--test/Merging/incomplete_merge.c2
-rw-r--r--test/Merging/indirect_value.c2
-rw-r--r--test/Merging/loop_merge.c2
-rw-r--r--test/Merging/merge_fail.c2
-rw-r--r--test/Merging/nested_merge.c2
-rw-r--r--test/Merging/split_merge.c2
-rw-r--r--test/Merging/state_termination.c2
-rw-r--r--test/Merging/unexpected_close.c2
-rw-r--r--test/Programs/pcregrep.c2
-rw-r--r--test/Replay/libkleeruntest/replay_invalid_klee_assume.c2
-rw-r--r--test/Replay/libkleeruntest/replay_invalid_klee_choose.c2
-rw-r--r--test/Replay/libkleeruntest/replay_invalid_klee_range.c2
-rw-r--r--test/Replay/libkleeruntest/replay_invalid_num_objects.c2
-rw-r--r--test/Replay/libkleeruntest/replay_invalid_object_names.c2
-rw-r--r--test/Replay/libkleeruntest/replay_invalid_object_size.c2
-rw-r--r--test/Replay/libkleeruntest/replay_klee_prefer_cex.c2
-rw-r--r--test/Replay/libkleeruntest/replay_posix_runtime.c2
-rw-r--r--test/Replay/libkleeruntest/replay_simple.c2
-rw-r--r--test/Replay/libkleeruntest/replay_two_objects.c2
-rw-r--r--test/Runtime/FreeStanding/freestanding_only.c2
-rw-r--r--test/Runtime/POSIX/CanonicalizeFileName.c2
-rw-r--r--test/Runtime/POSIX/DirConsistency.c4
-rw-r--r--test/Runtime/POSIX/DirSeek.c2
-rw-r--r--test/Runtime/POSIX/FDNumbers.c2
-rw-r--r--test/Runtime/POSIX/FD_Fail.c2
-rw-r--r--test/Runtime/POSIX/FD_Fail2.c2
-rw-r--r--test/Runtime/POSIX/Fcntl.c2
-rw-r--r--test/Runtime/POSIX/FilePerm.c2
-rw-r--r--test/Runtime/POSIX/FileTime.c2
-rw-r--r--test/Runtime/POSIX/FreeArgv.c2
-rw-r--r--test/Runtime/POSIX/Futimesat.c2
-rw-r--r--test/Runtime/POSIX/Getenv.c2
-rw-r--r--test/Runtime/POSIX/Ioctl.c2
-rw-r--r--test/Runtime/POSIX/Isatty.c2
-rw-r--r--test/Runtime/POSIX/MixedConcreteSymbolic.c2
-rw-r--r--test/Runtime/POSIX/Openat.c2
-rw-r--r--test/Runtime/POSIX/PrgName.c2
-rw-r--r--test/Runtime/POSIX/Read1.c2
-rw-r--r--test/Runtime/POSIX/Replay.c2
-rw-r--r--test/Runtime/POSIX/SELinux/SELinux.c2
-rw-r--r--test/Runtime/POSIX/SeedAndFail.c2
-rw-r--r--test/Runtime/POSIX/Stdin.c2
-rw-r--r--test/Runtime/POSIX/TestMain.c4
-rw-r--r--test/Runtime/POSIX/Usage.c2
-rw-r--r--test/Runtime/POSIX/Write1.c2
-rw-r--r--test/Runtime/POSIX/Write2.c2
-rw-r--r--test/Runtime/Uclibc/2007-10-08-optimization-calls-wrong-libc-functions.c2
-rw-r--r--test/Runtime/Uclibc/2008-03-04-libc-atexit-uses-dso-handle.c2
-rw-r--r--test/Runtime/Uclibc/Environ.c2
-rw-r--r--test/Solver/Z3ConstantArray.c2
-rw-r--r--test/VectorInstructions/extract_element.c2
-rw-r--r--test/VectorInstructions/extract_element_symbolic.c2
-rw-r--r--test/VectorInstructions/floating_point_ops_constant.c2
-rw-r--r--test/VectorInstructions/insert_element.c2
-rw-r--r--test/VectorInstructions/insert_element_symbolic.c2
-rw-r--r--test/VectorInstructions/integer_ops_constant.c2
-rw-r--r--test/VectorInstructions/integer_ops_signed_symbolic.c2
-rw-r--r--test/VectorInstructions/integer_ops_unsigned_symbolic.c2
-rw-r--r--test/VectorInstructions/shuffle_element.c2
-rw-r--r--test/lit.cfg2
-rw-r--r--test/lit.site.cfg.in5
-rw-r--r--test/regression/2007-07-25-invalid-stp-array-binding-to-objectstate.c2
-rw-r--r--test/regression/2007-07-30-unflushed-byte.c2
-rw-r--r--test/regression/2007-08-01-cache-unclear-on-overwrite-flushed.c2
-rw-r--r--test/regression/2007-08-06-64bit-shift.c2
-rw-r--r--test/regression/2007-08-06-access-after-free.c2
-rw-r--r--test/regression/2007-08-08-free-zero.c2
-rw-r--r--test/regression/2007-08-16-invalid-constant-value.c2
-rw-r--r--test/regression/2007-08-16-invalid-constant-value.leq36.c2
-rw-r--r--test/regression/2007-08-16-valid-write-to-freed-object.c2
-rw-r--r--test/regression/2007-10-11-free-of-alloca.c2
-rw-r--r--test/regression/2007-10-11-illegal-access-after-free-and-branch.c2
-rw-r--r--test/regression/2007-10-12-failed-make-symbolic-after-copy.c2
-rw-r--r--test/regression/2008-03-04-free-of-global.c2
-rw-r--r--test/regression/2008-03-11-free-of-malloc-zero.c2
-rw-r--r--test/regression/2008-04-10-bad-alloca-free.c2
-rw-r--r--test/regression/2008-05-23-gep-with-global-const.c2
-rw-r--r--test/regression/2012-05-13-asm-causes-aborts.c2
-rw-r--r--test/regression/2014-07-04-unflushed-error-report.c2
-rw-r--r--test/regression/2014-09-13-debug-info.c2
-rw-r--r--test/regression/2014-12-08-ashr.c2
-rw-r--r--test/regression/2015-06-22-struct-write.c2
-rw-r--r--test/regression/2015-08-05-invalid-fork.c2
-rw-r--r--test/regression/2015-08-30-empty-constraints.c2
-rw-r--r--test/regression/2015-08-30-sdiv-1.c2
-rw-r--r--test/regression/2016-04-14-sdiv-2.c2
-rw-r--r--test/regression/2016-06-28-div-zero-bug.c2
-rw-r--r--test/regression/2016-08-06-klee-get-obj-size.c2
-rw-r--r--test/regression/2016-08-11-entry-point-internalize-pass.c2
-rw-r--r--test/regression/2016-08-12-empty-file.c2
-rw-r--r--test/regression/2016-11-24-bitcast-weak-alias.c2
-rw-r--r--test/regression/2016-12-14-alloc-alignment.c2
-rw-r--r--test/regression/2017-02-21-pathOS-id.c2
-rw-r--r--test/regression/2017-03-23-early-exit-log-stats.c2
-rw-r--r--test/regression/2017-11-01-test-with-empty-varname.c2
-rw-r--r--test/regression/2018-04-05-make-symbolic-null-name.c2
-rw-r--r--test/regression/2018-05-05-number-instructions-dumped-states.c2
-rw-r--r--test/regression/2018-05-17-replay-short-names.c2
-rw-r--r--test/regression/2018-10-01-double-segfault.c2
212 files changed, 220 insertions, 221 deletions
diff --git a/test/ArrayOpt/test-mix.c b/test/ArrayOpt/test-mix.c
index 3c6b78e3..21148dc4 100644
--- a/test/ArrayOpt/test-mix.c
+++ b/test/ArrayOpt/test-mix.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --write-kqueries --output-dir=%t.klee-out --optimize-array=index %t.bc > %t.log 2>&1
 // RUN: FileCheck %s -input-file=%t.log -check-prefix=CHECK-OPT_I
diff --git a/test/ArrayOpt/test_and.c b/test/ArrayOpt/test_and.c
index e8296678..a9e78959 100644
--- a/test/ArrayOpt/test_and.c
+++ b/test/ArrayOpt/test_and.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --write-kqueries --output-dir=%t.klee-out --optimize-array=index %t.bc > %t.log 2>&1
 // RUN: FileCheck %s -input-file=%t.log -check-prefix=CHECK-OPT_I
diff --git a/test/ArrayOpt/test_array_index_array.c b/test/ArrayOpt/test_array_index_array.c
index ec644c4b..d656d35b 100644
--- a/test/ArrayOpt/test_array_index_array.c
+++ b/test/ArrayOpt/test_array_index_array.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --write-kqueries --output-dir=%t.klee-out --optimize-array=index %t.bc > %t.log 2>&1
 // RUN: FileCheck %s -input-file=%t.log -check-prefix=CHECK-OPT_I
diff --git a/test/ArrayOpt/test_array_index_array_diffsize.c b/test/ArrayOpt/test_array_index_array_diffsize.c
index 30f8d96d..d08b83eb 100644
--- a/test/ArrayOpt/test_array_index_array_diffsize.c
+++ b/test/ArrayOpt/test_array_index_array_diffsize.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --write-kqueries --output-dir=%t.klee-out --optimize-array=index %t.bc > %t.log 2>&1
 // RUN: FileCheck %s -input-file=%t.log -check-prefix=CHECK-OPT_I
diff --git a/test/ArrayOpt/test_cache.c b/test/ArrayOpt/test_cache.c
index 903576b9..5005a745 100644
--- a/test/ArrayOpt/test_cache.c
+++ b/test/ArrayOpt/test_cache.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --write-kqueries --output-dir=%t.klee-out --optimize-array=index %t.bc > %t.log 2>&1
 // RUN: FileCheck %s -input-file=%t.log -check-prefix=CHECK-OPT_I
diff --git a/test/ArrayOpt/test_const_arr-idx.c b/test/ArrayOpt/test_const_arr-idx.c
index f567293d..679944e5 100644
--- a/test/ArrayOpt/test_const_arr-idx.c
+++ b/test/ArrayOpt/test_const_arr-idx.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --write-kqueries --output-dir=%t.klee-out --optimize-array=index %t.bc > %t.log 2>&1
 // RUN: not FileCheck %s -input-file=%t.log -check-prefix=CHECK-OPT_I
diff --git a/test/ArrayOpt/test_expr_complex.c b/test/ArrayOpt/test_expr_complex.c
index 45bfa4fb..0edf6169 100644
--- a/test/ArrayOpt/test_expr_complex.c
+++ b/test/ArrayOpt/test_expr_complex.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --write-kqueries --output-dir=%t.klee-out --optimize-array=index %t.bc > %t.log 2>&1
 // RUN: FileCheck %s -input-file=%t.log -check-prefix=CHECK-OPT_I
diff --git a/test/ArrayOpt/test_expr_simple.c b/test/ArrayOpt/test_expr_simple.c
index ada1bd53..fa104002 100644
--- a/test/ArrayOpt/test_expr_simple.c
+++ b/test/ArrayOpt/test_expr_simple.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --write-kqueries --output-dir=%t.klee-out --optimize-array=index %t.bc > %t.log 2>&1
 // RUN: FileCheck %s -input-file=%t.log -check-prefix=CHECK-OPT_I
diff --git a/test/ArrayOpt/test_feasible.c b/test/ArrayOpt/test_feasible.c
index d2ad697c..253227dd 100644
--- a/test/ArrayOpt/test_feasible.c
+++ b/test/ArrayOpt/test_feasible.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --write-kqueries --output-dir=%t.klee-out --optimize-array=index %t.bc > %t.log 2>&1
 // RUN: FileCheck %s -input-file=%t.log -check-prefix=CHECK-OPT_I
diff --git a/test/ArrayOpt/test_hybrid.c b/test/ArrayOpt/test_hybrid.c
index 179169cd..3b1ac1dc 100644
--- a/test/ArrayOpt/test_hybrid.c
+++ b/test/ArrayOpt/test_hybrid.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --write-kqueries --output-dir=%t.klee-out --optimize-array=index %t.bc > %t.log 2>&1
 // RUN: FileCheck %s -input-file=%t.log -check-prefix=CHECK-OPT_I
diff --git a/test/ArrayOpt/test_multindex.c b/test/ArrayOpt/test_multindex.c
index c6298d11..5af8a236 100644
--- a/test/ArrayOpt/test_multindex.c
+++ b/test/ArrayOpt/test_multindex.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --write-kqueries --output-dir=%t.klee-out --optimize-array=index %t.bc > %t.log 2>&1
 // RUN: not FileCheck %s -input-file=%t.log -check-prefix=CHECK-OPT_I
diff --git a/test/ArrayOpt/test_new.c b/test/ArrayOpt/test_new.c
index 3c4b221d..5c838893 100644
--- a/test/ArrayOpt/test_new.c
+++ b/test/ArrayOpt/test_new.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --write-kqueries --output-dir=%t.klee-out --optimize-array=index %t.bc > %t.log 2>&1
 // RUN: not FileCheck %s -input-file=%t.log -check-prefix=CHECK-OPT_I
diff --git a/test/ArrayOpt/test_nier.c b/test/ArrayOpt/test_nier.c
index dd5e1b1b..a805c66c 100644
--- a/test/ArrayOpt/test_nier.c
+++ b/test/ArrayOpt/test_nier.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --write-kqueries --output-dir=%t.klee-out --optimize-array=index %t.bc > %t.log 2>&1
 // RUN: FileCheck %s -input-file=%t.log -check-prefix=CHECK-OPT_I
diff --git a/test/ArrayOpt/test_noncontiguous_idx.c b/test/ArrayOpt/test_noncontiguous_idx.c
index bcf4c169..2a6a15d2 100644
--- a/test/ArrayOpt/test_noncontiguous_idx.c
+++ b/test/ArrayOpt/test_noncontiguous_idx.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --write-kqueries --output-dir=%t.klee-out --optimize-array=index %t.bc > %t.log 2>&1
 // RUN: FileCheck %s -input-file=%t.log -check-prefix=CHECK-OPT_I
diff --git a/test/ArrayOpt/test_position.c b/test/ArrayOpt/test_position.c
index 22aebc68..015c4f19 100644
--- a/test/ArrayOpt/test_position.c
+++ b/test/ArrayOpt/test_position.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --write-kqueries --output-dir=%t.klee-out --optimize-array=index %t.bc > %t.log 2>&1
 // RUN: FileCheck %s -input-file=%t.log -check-prefix=CHECK-OPT_I
diff --git a/test/ArrayOpt/test_sub_idx.c b/test/ArrayOpt/test_sub_idx.c
index 116ad514..14f666ed 100644
--- a/test/ArrayOpt/test_sub_idx.c
+++ b/test/ArrayOpt/test_sub_idx.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --write-kqueries --output-dir=%t.klee-out --optimize-array=index %t.bc > %t.log 2>&1
 // RUN: FileCheck %s -input-file=%t.log -check-prefix=CHECK-OPT_I
diff --git a/test/ArrayOpt/test_var_idx.c b/test/ArrayOpt/test_var_idx.c
index c0428808..3e077c1e 100644
--- a/test/ArrayOpt/test_var_idx.c
+++ b/test/ArrayOpt/test_var_idx.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --write-kqueries --output-dir=%t.klee-out --optimize-array=index %t.bc > %t.log 2>&1
 // RUN: FileCheck %s -input-file=%t.log -check-prefix=CHECK-OPT_I
diff --git a/test/CXX/ArrayNew.cpp b/test/CXX/ArrayNew.cpp
index 35a4f134..da89f812 100644
--- a/test/CXX/ArrayNew.cpp
+++ b/test/CXX/ArrayNew.cpp
@@ -1,4 +1,4 @@
-// RUN: %llvmgxx %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %xxclang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --no-output --exit-on-error --external-calls=none %t1.bc
 
diff --git a/test/CXX/LandingPad.cpp b/test/CXX/LandingPad.cpp
index 1b0c0f30..3abdfb0f 100644
--- a/test/CXX/LandingPad.cpp
+++ b/test/CXX/LandingPad.cpp
@@ -1,4 +1,4 @@
-// RUN: %llvmgxx %s -emit-llvm -c -o %t1.bc
+// RUN: %xxclang %s -emit-llvm -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: klee --output-dir=%t.klee-out %t1.bc 2>&1 | FileCheck %s
 
diff --git a/test/CXX/New.cpp b/test/CXX/New.cpp
index 921316a7..edde0f0d 100644
--- a/test/CXX/New.cpp
+++ b/test/CXX/New.cpp
@@ -1,4 +1,4 @@
-// RUN: %llvmgxx %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %xxclang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --no-output --exit-on-error --external-calls=none %t1.bc
 
diff --git a/test/CXX/SimpleVirtual.cpp b/test/CXX/SimpleVirtual.cpp
index 372b44de..588367e9 100644
--- a/test/CXX/SimpleVirtual.cpp
+++ b/test/CXX/SimpleVirtual.cpp
@@ -1,4 +1,4 @@
-// RUN: %llvmgxx %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %xxclang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --no-output --exit-on-error --external-calls=none %t1.bc
 
diff --git a/test/CXX/StaticConstructor.cpp b/test/CXX/StaticConstructor.cpp
index 3c61aec4..23a13eb5 100644
--- a/test/CXX/StaticConstructor.cpp
+++ b/test/CXX/StaticConstructor.cpp
@@ -1,4 +1,4 @@
-// RUN: %llvmgxx %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %xxclang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --libc=klee --no-output --exit-on-error %t1.bc
 
diff --git a/test/CXX/StaticDestructor.cpp b/test/CXX/StaticDestructor.cpp
index 15520fc4..4ea857c1 100644
--- a/test/CXX/StaticDestructor.cpp
+++ b/test/CXX/StaticDestructor.cpp
@@ -1,6 +1,6 @@
 // don't optimize this, llvm likes to turn the *p into unreachable
 
-// RUN: %llvmgxx %s -emit-llvm -g %O0opt -c -o %t1.bc
+// RUN: %xxclang %s -emit-llvm -g %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --optimize=false --libc=klee --no-output %t1.bc 2> %t1.log
 // RUN: FileCheck --input-file %t1.log %s
diff --git a/test/CXX/Trivial.cpp b/test/CXX/Trivial.cpp
index 18845820..b2f5a480 100644
--- a/test/CXX/Trivial.cpp
+++ b/test/CXX/Trivial.cpp
@@ -1,4 +1,4 @@
-// RUN: %llvmgxx %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %xxclang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --no-output --exit-on-error %t1.bc
 
diff --git a/test/Concrete/_testingUtils.c b/test/Concrete/_testingUtils.c
index ef99f908..fa395820 100644
--- a/test/Concrete/_testingUtils.c
+++ b/test/Concrete/_testingUtils.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -D_TESTINGUTILS_TEST %s -o %t
+// RUN: %clang -D_TESTINGUTILS_TEST %s -o %t
 // RUN: %t | FileCheck %s
 
 #include <stdint.h>
diff --git a/test/Coverage/ReadArgs.c b/test/Coverage/ReadArgs.c
index 531cc0a1..620cde1f 100644
--- a/test/Coverage/ReadArgs.c
+++ b/test/Coverage/ReadArgs.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: echo " --output-dir=%t.klee-out " > %t1.args
 // RUN: %klee @%t1.args %t1.bc
diff --git a/test/Coverage/ReplayOutDir.c b/test/Coverage/ReplayOutDir.c
index fa06a269..6476f32f 100644
--- a/test/Coverage/ReplayOutDir.c
+++ b/test/Coverage/ReplayOutDir.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t1.out %t1.replay
 // RUN: %klee --output-dir=%t1.out %t1.bc
 // RUN: %klee --output-dir=%t1.replay --replay-ktest-dir=%t1.out %t1.bc
diff --git a/test/Dogfood/ImmutableSet.cpp b/test/Dogfood/ImmutableSet.cpp
index e09227cf..d877f28d 100644
--- a/test/Dogfood/ImmutableSet.cpp
+++ b/test/Dogfood/ImmutableSet.cpp
@@ -1,4 +1,4 @@
-// RUN: %llvmgxx -I../../../include -g -DMAX_ELEMENTS=4 -fno-exceptions -emit-llvm -c -o %t1.bc %s
+// RUN: %xxclang -I../../../include -g -DMAX_ELEMENTS=4 -fno-exceptions -emit-llvm -c -o %t1.bc %s
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --libc=klee --max-forks=25 --no-output --exit-on-error --optimize --disable-inlining --search=nurs:depth --use-cex-cache %t1.bc
 
diff --git a/test/Feature/AddressOfLabels.c b/test/Feature/AddressOfLabels.c
index 6d807dbb..14621dc6 100644
--- a/test/Feature/AddressOfLabels.c
+++ b/test/Feature/AddressOfLabels.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -g -c %s -o %t.bc
+// RUN: %clang -emit-llvm -g -c %s -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t.bc > %t.log
 // RUN: FileCheck --input-file=%t.log %s
diff --git a/test/Feature/AddressOfLabelsSymbolic.c b/test/Feature/AddressOfLabelsSymbolic.c
index 2c7e39c7..0b24a42d 100644
--- a/test/Feature/AddressOfLabelsSymbolic.c
+++ b/test/Feature/AddressOfLabelsSymbolic.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -g -c %s -o %t.bc
+// RUN: %clang -emit-llvm -g -c %s -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t.bc > %t.log 2> %t.stderr.log
 // RUN: FileCheck %s -check-prefix=CHECK-MSG --input-file=%t.log
diff --git a/test/Feature/Alias.c b/test/Feature/Alias.c
index f83652d8..29cc08d7 100644
--- a/test/Feature/Alias.c
+++ b/test/Feature/Alias.c
@@ -1,6 +1,6 @@
 // Darwin does not have strong aliases.
 // REQUIRES: not-darwin
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc
 
diff --git a/test/Feature/AliasFunction.c b/test/Feature/AliasFunction.c
index 1fd9d0e5..6a5e9174 100644
--- a/test/Feature/AliasFunction.c
+++ b/test/Feature/AliasFunction.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc > %t1.log
 // RUN: grep -c foo %t1.log | grep 5
diff --git a/test/Feature/AliasFunctionExit.c b/test/Feature/AliasFunctionExit.c
index 4f0f8359..1f863de1 100644
--- a/test/Feature/AliasFunctionExit.c
+++ b/test/Feature/AliasFunctionExit.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc > %t1.log
 // RUN: grep -c START %t1.log | grep 1
diff --git a/test/Feature/Atomic.c b/test/Feature/Atomic.c
index 8b729de7..a7a8e340 100644
--- a/test/Feature/Atomic.c
+++ b/test/Feature/Atomic.c
@@ -1,5 +1,5 @@
 // REQUIRES: geq-llvm-3.7
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error %t.bc 2>%t.log
 // RUN: cat %t.klee-out/assembly.ll | FileCheck %s
diff --git a/test/Feature/BFSSearcher.c b/test/Feature/BFSSearcher.c
index eb323c4c..57553b1d 100644
--- a/test/Feature/BFSSearcher.c
+++ b/test/Feature/BFSSearcher.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --max-instructions=500 --search=bfs %t1.bc 2>%t2.log
 // RUN: FileCheck -input-file=%t2.log %s
diff --git a/test/Feature/BFSSearcherAndDFSSearcherInterleaved.c b/test/Feature/BFSSearcherAndDFSSearcherInterleaved.c
index 3dd5b4d5..88d49548 100644
--- a/test/Feature/BFSSearcherAndDFSSearcherInterleaved.c
+++ b/test/Feature/BFSSearcherAndDFSSearcherInterleaved.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t.bc
 // RUN: rm -rf %t-bfs.klee-out
 // RUN: rm -rf %t-dfs.klee-out
 // RUN: rm -rf %t-bfs-dfs.klee-out
diff --git a/test/Feature/ByteSwap.c b/test/Feature/ByteSwap.c
index da764fc0..1e4ec190 100644
--- a/test/Feature/ByteSwap.c
+++ b/test/Feature/ByteSwap.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --libc=klee --exit-on-error %t1.bc
 
diff --git a/test/Feature/CallToUndefinedExternal.cpp b/test/Feature/CallToUndefinedExternal.cpp
index b300d4e4..f425dbc8 100644
--- a/test/Feature/CallToUndefinedExternal.cpp
+++ b/test/Feature/CallToUndefinedExternal.cpp
@@ -1,4 +1,4 @@
-// RUN: %llvmgxx %s -emit-llvm -g -c -o %t1.bc
+// RUN: %xxclang %s -emit-llvm -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc 2>&1 | FileCheck %s
 // RUN: test -f %t.klee-out/test000001.external.err
diff --git a/test/Feature/CheckMemoryAccess.c b/test/Feature/CheckMemoryAccess.c
index 5347ac3d..a9e0e6b5 100644
--- a/test/Feature/CheckMemoryAccess.c
+++ b/test/Feature/CheckMemoryAccess.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -g -c %s -o %t.bc
+// RUN: %clang -emit-llvm -g -c %s -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t.bc > %t.log
 // RUN: grep -q "good" %t.log
diff --git a/test/Feature/CompressedExprLogging.c b/test/Feature/CompressedExprLogging.c
index 30f8ad3c..87c8b8b0 100644
--- a/test/Feature/CompressedExprLogging.c
+++ b/test/Feature/CompressedExprLogging.c
@@ -1,5 +1,5 @@
 // REQUIRES: zlib
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t1.bc
 // We disable the cex-cache to eliminate nondeterminism across different
 // solvers, in particular when counting the number of queries in the last two
 // commands
diff --git a/test/Feature/CopyOnWrite.c b/test/Feature/CopyOnWrite.c
index 2445d2b8..9d443bf6 100644
--- a/test/Feature/CopyOnWrite.c
+++ b/test/Feature/CopyOnWrite.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --search=random-state --exit-on-error %t1.bc
 
diff --git a/test/Feature/DanglingConcreteReadExpr.c b/test/Feature/DanglingConcreteReadExpr.c
index d904fd98..ba7c7bc5 100644
--- a/test/Feature/DanglingConcreteReadExpr.c
+++ b/test/Feature/DanglingConcreteReadExpr.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --optimize=false --output-dir=%t.klee-out %t1.bc
 // RUN: grep "total queries = 2" %t.klee-out/info
diff --git a/test/Feature/DefineFixedObject.c b/test/Feature/DefineFixedObject.c
index 2e601553..6e7efb14 100644
--- a/test/Feature/DefineFixedObject.c
+++ b/test/Feature/DefineFixedObject.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -c -o %t1.bc %s
+// RUN: %clang -emit-llvm -c -o %t1.bc %s
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc
 
diff --git a/test/Feature/DeterministicSwitch.c b/test/Feature/DeterministicSwitch.c
index 462c4326..0edfd869 100644
--- a/test/Feature/DeterministicSwitch.c
+++ b/test/Feature/DeterministicSwitch.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee -debug-print-instructions=all:stderr --output-dir=%t.klee-out --switch-type=internal --search=dfs %t.bc >%t.switch.log 2>&1
 // RUN: FileCheck %s -input-file=%t.switch.log -check-prefix=CHECK-DFS
diff --git a/test/Feature/DivCheck.c b/test/Feature/DivCheck.c
index 219648a9..eca8fc7f 100644
--- a/test/Feature/DivCheck.c
+++ b/test/Feature/DivCheck.c
@@ -3,7 +3,7 @@
 // * optimized code will have this check inlined
 // In both cases, the `div` instruction should have been marked with meta-data: klee.check.div
 //
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --check-div-zero=true %t.bc >%t.div_enabled.log
 // RUN: FileCheck %s -input-file=%t.klee-out/assembly.ll -check-prefix=DIV-ENABLED
@@ -11,7 +11,7 @@
 // RUN: %klee --output-dir=%t.klee-out --check-div-zero=true --optimize %t.bc >%t.div_enabled.log
 // RUN: FileCheck %s -input-file=%t.klee-out/assembly.ll -check-prefix=DIV-ENABLED-OPT
 // Without debug information
-// RUN: %llvmgcc %s -emit-llvm -c -o %t.bc
+// RUN: %clang %s -emit-llvm -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --check-div-zero=true %t.bc >%t.div_enabled.log
 // RUN: FileCheck %s -input-file=%t.klee-out/assembly.ll -check-prefix=DIV-ENABLED
diff --git a/test/Feature/DoubleFree.c b/test/Feature/DoubleFree.c
index 3dbe4b24..96cf9bcd 100644
--- a/test/Feature/DoubleFree.c
+++ b/test/Feature/DoubleFree.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc 2>&1 | FileCheck %s
 // RUN: test -f %t.klee-out/test000001.ptr.err
diff --git a/test/Feature/DumpStatesOnHalt.c b/test/Feature/DumpStatesOnHalt.c
index f154fc82..3c4c4a1d 100644
--- a/test/Feature/DumpStatesOnHalt.c
+++ b/test/Feature/DumpStatesOnHalt.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -g -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -g -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --max-instructions=1 --dump-states-on-halt=true %t1.bc 2>&1 | FileCheck %s
 // RUN: test -f %t.klee-out/test000001.ktest
diff --git a/test/Feature/EntryPoint.c b/test/Feature/EntryPoint.c
index 2b6a2c70..82659733 100644
--- a/test/Feature/EntryPoint.c
+++ b/test/Feature/EntryPoint.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -g -c %s -o %t.bc
+// RUN: %clang -emit-llvm -g -c %s -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --entry-point=other_main %t.bc > %t.log
 // RUN: grep "Hello World" %t.log
diff --git a/test/Feature/Envp.c b/test/Feature/Envp.c
index ff4e2098..62c91325 100644
--- a/test/Feature/Envp.c
+++ b/test/Feature/Envp.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc
 
diff --git a/test/Feature/EscapingFunctions.c b/test/Feature/EscapingFunctions.c
index f5791d76..2b03febb 100644
--- a/test/Feature/EscapingFunctions.c
+++ b/test/Feature/EscapingFunctions.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm %O0opt -g -c %s -o %t.bc
+// RUN: %clang -emit-llvm %O0opt -g -c %s -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee -debug-print-escaping-functions --output-dir=%t.klee-out %t.bc 2> %t.log
 // RUN: FileCheck --input-file=%t.log %s
diff --git a/test/Feature/EscapingFunctionsAlias.c b/test/Feature/EscapingFunctionsAlias.c
index f5e0fb11..5012ba74 100644
--- a/test/Feature/EscapingFunctionsAlias.c
+++ b/test/Feature/EscapingFunctionsAlias.c
@@ -1,6 +1,6 @@
 // Darwin does not support strong aliases.
 // REQUIRES: not-darwin
-// RUN: %llvmgcc -emit-llvm %O0opt -g -c %s -o %t.bc
+// RUN: %clang -emit-llvm %O0opt -g -c %s -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee -debug-print-escaping-functions --output-dir=%t.klee-out %t.bc 2> %t.log
 // RUN: FileCheck --input-file=%t.log %s
diff --git a/test/Feature/ExitOnErrorType.c b/test/Feature/ExitOnErrorType.c
index 0cbde8aa..b1a55466 100644
--- a/test/Feature/ExitOnErrorType.c
+++ b/test/Feature/ExitOnErrorType.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -g -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -g -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out -exit-on-error-type Assert %t1.bc 2>&1
 
diff --git a/test/Feature/ExprLogging.c b/test/Feature/ExprLogging.c
index 142c4167..70aaa49b 100644
--- a/test/Feature/ExprLogging.c
+++ b/test/Feature/ExprLogging.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t1.bc
 // We disable the cex-cache to eliminate nondeterminism across different solvers, in particular when counting the number of queries in the last two commands
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --use-cex-cache=false --use-query-log=all:kquery,all:smt2,solver:kquery,solver:smt2 --write-kqueries --write-cvcs --write-smt2s %t1.bc 2> %t2.log
diff --git a/test/Feature/ExternalWeakLinkage.c b/test/Feature/ExternalWeakLinkage.c
index fd70884a..f445b672 100644
--- a/test/Feature/ExternalWeakLinkage.c
+++ b/test/Feature/ExternalWeakLinkage.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc
 
diff --git a/test/Feature/Float.c b/test/Feature/Float.c
index dce082c6..ad9325d1 100644
--- a/test/Feature/Float.c
+++ b/test/Feature/Float.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -g -c %s -o %t.bc
+// RUN: %clang -emit-llvm -g -c %s -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t.bc > %t.log
 // RUN: grep "3.30* -1.10* 2.420*" %t.log
diff --git a/test/Feature/FloatingPt.c b/test/Feature/FloatingPt.c
index e6e695ca..8818e411 100644
--- a/test/Feature/FloatingPt.c
+++ b/test/Feature/FloatingPt.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc
 
diff --git a/test/Feature/FunctionPointer.c b/test/Feature/FunctionPointer.c
index cda35b11..e1acaa91 100644
--- a/test/Feature/FunctionPointer.c
+++ b/test/Feature/FunctionPointer.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --no-output --exit-on-error %t1.bc
 
diff --git a/test/Feature/GetValue.c b/test/Feature/GetValue.c
index 828c8934..d2b046f4 100644
--- a/test/Feature/GetValue.c
+++ b/test/Feature/GetValue.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -c -o %t1.bc %s
+// RUN: %clang -emit-llvm -c -o %t1.bc %s
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc
 
diff --git a/test/Feature/InAndOutOfBounds.c b/test/Feature/InAndOutOfBounds.c
index 3c6fe37e..39ed8322 100644
--- a/test/Feature/InAndOutOfBounds.c
+++ b/test/Feature/InAndOutOfBounds.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -g -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -g -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc 2>&1 | FileCheck %s
 // RUN: test -f %t.klee-out/test000001.ptr.err -o -f %t.klee-out/test000002.ptr.err
diff --git a/test/Feature/IndirectCallToBuiltin.c b/test/Feature/IndirectCallToBuiltin.c
index 8c78dba5..2ffdb81f 100644
--- a/test/Feature/IndirectCallToBuiltin.c
+++ b/test/Feature/IndirectCallToBuiltin.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc
 
diff --git a/test/Feature/IndirectCallToExternal.c b/test/Feature/IndirectCallToExternal.c
index 58eb2575..03447c7d 100644
--- a/test/Feature/IndirectCallToExternal.c
+++ b/test/Feature/IndirectCallToExternal.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc
 
diff --git a/test/Feature/IsSymbolic.c b/test/Feature/IsSymbolic.c
index 8e39b99f..033d9d6a 100644
--- a/test/Feature/IsSymbolic.c
+++ b/test/Feature/IsSymbolic.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc
 
diff --git a/test/Feature/KleeReportError.c b/test/Feature/KleeReportError.c
index b8347254..f406696f 100644
--- a/test/Feature/KleeReportError.c
+++ b/test/Feature/KleeReportError.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -g -emit-llvm %O0opt -c -o %t2.bc
+// RUN: %clang %s -g -emit-llvm %O0opt -c -o %t2.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --emit-all-errors %t2.bc 2>&1 | FileCheck %s
 // RUN: ls %t.klee-out/ | grep .my.err | wc -l | grep 2
diff --git a/test/Feature/LargeReturnTypes.cpp b/test/Feature/LargeReturnTypes.cpp
index 92be31c2..66038383 100644
--- a/test/Feature/LargeReturnTypes.cpp
+++ b/test/Feature/LargeReturnTypes.cpp
@@ -1,5 +1,5 @@
 // REQUIRES: not-darwin
-// RUN: %llvmgxx -g -fno-exceptions -emit-llvm %O0opt -c -o %t.bc %s
+// RUN: %xxclang -g -fno-exceptions -emit-llvm %O0opt -c -o %t.bc %s
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --libc=klee --no-output --exit-on-error %t.bc > %t.log
 
diff --git a/test/Feature/LinkLLVMLib.c b/test/Feature/LinkLLVMLib.c
index 1ad0fd38..ddcc6023 100644
--- a/test/Feature/LinkLLVMLib.c
+++ b/test/Feature/LinkLLVMLib.c
@@ -1,7 +1,7 @@
-// RUN: %llvmgcc %s -g -emit-llvm %O0opt -c -o %t1.bc -DLINK_LLVM_LIB_TEST_LIB
+// RUN: %clang %s -g -emit-llvm %O0opt -c -o %t1.bc -DLINK_LLVM_LIB_TEST_LIB
 // RUN: %llvmar r %t1.a %t1.bc
 //
-// RUN: %llvmgcc %s -g -emit-llvm %O0opt -c -o %t2.bc -DLINK_LLVM_LIB_TEST_EXEC
+// RUN: %clang %s -g -emit-llvm %O0opt -c -o %t2.bc -DLINK_LLVM_LIB_TEST_EXEC
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --link-llvm-lib %t1.a --output-dir=%t.klee-out --emit-all-errors --warnings-only-to-file=false %t2.bc 2>&1 | FileCheck %s
 
diff --git a/test/Feature/LoggingInstructions.c b/test/Feature/LoggingInstructions.c
index 049aa9da..9303c3e9 100644
--- a/test/Feature/LoggingInstructions.c
+++ b/test/Feature/LoggingInstructions.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t2.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t2.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error --debug-print-instructions=all:stderr %t2.bc 2>%t3.txt
 // RUN: FileCheck -input-file=%t3.txt -check-prefix=CHECK-FILE-SRC %s
diff --git a/test/Feature/LongDouble.c b/test/Feature/LongDouble.c
index 19f9360a..364f0a9d 100644
--- a/test/Feature/LongDouble.c
+++ b/test/Feature/LongDouble.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc  -g -emit-llvm %O0opt -c -o %t.bc %s
+// RUN: %clang  -g -emit-llvm %O0opt -c -o %t.bc %s
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --libc=klee --no-output --exit-on-error %t.bc > %t.log
 // RUN: FileCheck %s --input-file=%t.log
diff --git a/test/Feature/LongDoubleSupport.c b/test/Feature/LongDoubleSupport.c
index acde2d8e..4f7d10ee 100644
--- a/test/Feature/LongDoubleSupport.c
+++ b/test/Feature/LongDoubleSupport.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --optimize=0 --exit-on-error %t1.bc > %t2.out
 
diff --git a/test/Feature/LowerSwitch.c b/test/Feature/LowerSwitch.c
index faa82365..a1bd3f38 100644
--- a/test/Feature/LowerSwitch.c
+++ b/test/Feature/LowerSwitch.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error --external-calls=all --switch-type=internal %t.bc
 // RUN: not test -f %t.klee-out/test000010.ktest
diff --git a/test/Feature/MakeConcreteSymbolic.c b/test/Feature/MakeConcreteSymbolic.c
index 26f95a93..28e5ac2d 100644
--- a/test/Feature/MakeConcreteSymbolic.c
+++ b/test/Feature/MakeConcreteSymbolic.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --optimize=false --output-dir=%t.klee-out --exit-on-error %t1.bc
 // RUN: grep "done: total queries = 0" %t.klee-out/info
diff --git a/test/Feature/MakeSymbolicAPI.c b/test/Feature/MakeSymbolicAPI.c
index fe901fc1..b10ea9cf 100644
--- a/test/Feature/MakeSymbolicAPI.c
+++ b/test/Feature/MakeSymbolicAPI.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc 2> %t.stderr.log
 // RUN: FileCheck %s -check-prefix=CHECK-WRN --input-file=%t.klee-out/warnings.txt
diff --git a/test/Feature/MakeSymbolicName.c b/test/Feature/MakeSymbolicName.c
index fef731ab..a57d9a84 100644
--- a/test/Feature/MakeSymbolicName.c
+++ b/test/Feature/MakeSymbolicName.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --search=random-state --exit-on-error %t1.bc
 
diff --git a/test/Feature/Memalign.c b/test/Feature/Memalign.c
index e2ce8de0..e5d09f6c 100644
--- a/test/Feature/Memalign.c
+++ b/test/Feature/Memalign.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -g -c %s -o %t.bc
+// RUN: %clang -emit-llvm -g -c %s -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error %t.bc > %t.log
 
diff --git a/test/Feature/MemoryLimit.c b/test/Feature/MemoryLimit.c
index ce4bc00f..d1139aed 100644
--- a/test/Feature/MemoryLimit.c
+++ b/test/Feature/MemoryLimit.c
@@ -2,14 +2,14 @@
 // small and large allocations (large allocations commonly use mmap(), which can
 // follow a separate path in the allocator and statistics reporting).
 
-// RUN: %llvmgcc -emit-llvm -DLITTLE_ALLOC -g -c %s -o %t.little.bc
+// RUN: %clang -emit-llvm -DLITTLE_ALLOC -g -c %s -o %t.little.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --max-memory=20 %t.little.bc > %t.little.log
 // RUN: not grep -q "MALLOC FAILED" %t.little.log
 // RUN: not grep -q "DONE" %t.little.log
 // RUN: grep "WARNING: killing 1 states (over memory cap)" %t.klee-out/warnings.txt
 
-// RUN: %llvmgcc -emit-llvm -g -c %s -o %t.big.bc
+// RUN: %clang -emit-llvm -g -c %s -o %t.big.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --max-memory=20 %t.big.bc > %t.big.log 2> %t.big.err
 // RUN: not grep -q "MALLOC FAILED" %t.big.log
diff --git a/test/Feature/MultiMkSym.c b/test/Feature/MultiMkSym.c
index fde864d7..16ac7d1b 100644
--- a/test/Feature/MultiMkSym.c
+++ b/test/Feature/MultiMkSym.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -I../../../include -emit-llvm -g -c %s -o %t.bc
+// RUN: %clang -I../../../include -emit-llvm -g -c %s -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --write-kqueries %t.bc > %t.log
 // RUN: cat %t.klee-out/test000001.kquery %t.klee-out/test000002.kquery %t.klee-out/test000003.kquery %t.klee-out/test000004.kquery > %t1
diff --git a/test/Feature/MultipleFreeResolution.c b/test/Feature/MultipleFreeResolution.c
index 540324a5..aa931c13 100644
--- a/test/Feature/MultipleFreeResolution.c
+++ b/test/Feature/MultipleFreeResolution.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -g -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -g -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --emit-all-errors %t1.bc 2>&1 | FileCheck %s
 // RUN: ls %t.klee-out/ | grep .ktest | wc -l | grep 4
diff --git a/test/Feature/MultipleReadResolution.c b/test/Feature/MultipleReadResolution.c
index 6226d64a..8701d068 100644
--- a/test/Feature/MultipleReadResolution.c
+++ b/test/Feature/MultipleReadResolution.c
@@ -2,7 +2,7 @@
 // RUN: echo "x" >> %t1.res
 // RUN: echo "x" >> %t1.res
 // RUN: echo "x" >> %t1.res
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc > %t1.log
 // RUN: diff %t1.res %t1.log
diff --git a/test/Feature/MultipleReallocResolution.c b/test/Feature/MultipleReallocResolution.c
index 4db6be9f..84dd15e2 100644
--- a/test/Feature/MultipleReallocResolution.c
+++ b/test/Feature/MultipleReallocResolution.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc
 // RUN: ls %t.klee-out/ | grep .err | wc -l | grep 2
diff --git a/test/Feature/MultipleWriteResolution.c b/test/Feature/MultipleWriteResolution.c
index 22dd9730..89296c11 100644
--- a/test/Feature/MultipleWriteResolution.c
+++ b/test/Feature/MultipleWriteResolution.c
@@ -2,7 +2,7 @@
 // RUN: echo "x" >> %t1.res
 // RUN: echo "x" >> %t1.res
 // RUN: echo "x" >> %t1.res
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc > %t1.log
 // RUN: diff %t1.res %t1.log
diff --git a/test/Feature/NamedSeedMatching.c b/test/Feature/NamedSeedMatching.c
index 6599d269..85c96b74 100644
--- a/test/Feature/NamedSeedMatching.c
+++ b/test/Feature/NamedSeedMatching.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -c -g %s -o %t.bc
+// RUN: %clang -emit-llvm -c -g %s -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t.bc "initial"
 // RUN: test -f %t.klee-out/test000001.ktest
diff --git a/test/Feature/NoExternalCallsAllowed.c b/test/Feature/NoExternalCallsAllowed.c
index a0886121..8a8dc54b 100644
--- a/test/Feature/NoExternalCallsAllowed.c
+++ b/test/Feature/NoExternalCallsAllowed.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -g -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -g -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --external-calls=none %t1.bc 2>&1 | FileCheck %s
 // RUN: test %t.klee-out/test000001.user.err
diff --git a/test/Feature/NonSizedGlobals.c b/test/Feature/NonSizedGlobals.c
index b98f7bf1..ddef4da6 100644
--- a/test/Feature/NonSizedGlobals.c
+++ b/test/Feature/NonSizedGlobals.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc
 
diff --git a/test/Feature/OneFreeError.c b/test/Feature/OneFreeError.c
index e68f333f..7eed722a 100644
--- a/test/Feature/OneFreeError.c
+++ b/test/Feature/OneFreeError.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -g -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -g -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc 2>&1 | FileCheck %s
 // RUN: test -f %t.klee-out/test000001.ptr.err
diff --git a/test/Feature/OneOutOfBounds.c b/test/Feature/OneOutOfBounds.c
index 01fa0f92..a3e6db1f 100644
--- a/test/Feature/OneOutOfBounds.c
+++ b/test/Feature/OneOutOfBounds.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -g -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -g -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc 2>&1 | FileCheck %s
 // RUN: test -f %t.klee-out/test000001.ptr.err
diff --git a/test/Feature/Optimize.c b/test/Feature/Optimize.c
index 326e4912..e14be96d 100644
--- a/test/Feature/Optimize.c
+++ b/test/Feature/Optimize.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t2.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t2.bc
 // RUN: rm -f %t2.log
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --max-instructions=100 --optimize %t2.bc > %t3.log
diff --git a/test/Feature/OverlappedError.c b/test/Feature/OverlappedError.c
index d02d2229..e6d36b75 100644
--- a/test/Feature/OverlappedError.c
+++ b/test/Feature/OverlappedError.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -g -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -g -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc
 // RUN: ls %t.klee-out/ | grep .ktest | wc -l | grep 4
diff --git a/test/Feature/OvershiftCheck.c b/test/Feature/OvershiftCheck.c
index 0a5cfc3b..cd2295c5 100644
--- a/test/Feature/OvershiftCheck.c
+++ b/test/Feature/OvershiftCheck.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out -check-overshift %t.bc 2> %t.log
 // RUN: FileCheck --input-file %t.log %s
diff --git a/test/Feature/PreferCex.c b/test/Feature/PreferCex.c
index 8d88a3ce..2d424206 100644
--- a/test/Feature/PreferCex.c
+++ b/test/Feature/PreferCex.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc
 // RUN: ktest-tool %t.klee-out/test000001.ktest | FileCheck %s
diff --git a/test/Feature/RaiseAsm.c b/test/Feature/RaiseAsm.c
index fb30ea5d..842d9f3d 100644
--- a/test/Feature/RaiseAsm.c
+++ b/test/Feature/RaiseAsm.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc
 
diff --git a/test/Feature/Realloc.c b/test/Feature/Realloc.c
index 4f075e5e..4014d60a 100644
--- a/test/Feature/Realloc.c
+++ b/test/Feature/Realloc.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error --warnings-only-to-file=false %t1.bc 2>&1 | FileCheck %s
 
diff --git a/test/Feature/ReplayPath.c b/test/Feature/ReplayPath.c
index 558b0d3c..f77656f8 100644
--- a/test/Feature/ReplayPath.c
+++ b/test/Feature/ReplayPath.c
@@ -1,8 +1,8 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -DCOND_EXIT -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -DCOND_EXIT -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --write-paths %t1.bc > %t3.good
 
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t2.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t2.bc
 // RUN: rm -rf %t.klee-out-2
 // RUN: %klee --output-dir=%t.klee-out-2 --replay-path %t.klee-out/test000001.path %t2.bc > %t3.log
 // RUN: diff %t3.log %t3.good
diff --git a/test/Feature/RewriteEqualities.c b/test/Feature/RewriteEqualities.c
index 5384c5c8..ee77f3e1 100644
--- a/test/Feature/RewriteEqualities.c
+++ b/test/Feature/RewriteEqualities.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --search=dfs --write-kqueries --rewrite-equalities=false %t.bc
 // RUN: grep "N0:(Read w8 2 x)" %t.klee-out/test000003.kquery
diff --git a/test/Feature/Searchers.c b/test/Feature/Searchers.c
index efc2f376..cd806950 100644
--- a/test/Feature/Searchers.c
+++ b/test/Feature/Searchers.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t2.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t2.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t2.bc
 // RUN: rm -rf %t.klee-out
diff --git a/test/Feature/SetForking.c b/test/Feature/SetForking.c
index 60799a0d..b739910d 100644
--- a/test/Feature/SetForking.c
+++ b/test/Feature/SetForking.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -g -c %s -o %t.bc
+// RUN: %clang -emit-llvm -g -c %s -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t.bc > %t.log
 // RUN: sort %t.log | uniq -c > %t.uniq.log
diff --git a/test/Feature/ShiftCheck.c b/test/Feature/ShiftCheck.c
index 326eadb2..686f9511 100644
--- a/test/Feature/ShiftCheck.c
+++ b/test/Feature/ShiftCheck.c
@@ -3,7 +3,7 @@
 // * optimized code will have this check inlined
 // In both cases, the `ashr` instruction should have been marked with meta-data: klee.check.shift
 //
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --check-overshift=true %t.bc >%t.shift_enabled.log
 // RUN: FileCheck %s -input-file=%t.klee-out/assembly.ll -check-prefix=SHIFT-ENABLED
@@ -11,7 +11,7 @@
 // RUN: %klee --output-dir=%t.klee-out --check-overshift=true --optimize %t.bc >%t.shift_enabled.log
 // RUN: FileCheck %s -input-file=%t.klee-out/assembly.ll -check-prefix=SHIFT-ENABLED-OPT
 // Same test without debug information
-// RUN: %llvmgcc %s -emit-llvm -c -o %t.bc
+// RUN: %clang %s -emit-llvm -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --check-overshift=true %t.bc >%t.shift_enabled.log
 // RUN: FileCheck %s -input-file=%t.klee-out/assembly.ll -check-prefix=SHIFT-ENABLED
diff --git a/test/Feature/SilentKleeAssume.c b/test/Feature/SilentKleeAssume.c
index 59002f15..b9229d2e 100644
--- a/test/Feature/SilentKleeAssume.c
+++ b/test/Feature/SilentKleeAssume.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -g -c -o %t.bc %s
+// RUN: %clang -emit-llvm -g -c -o %t.bc %s
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error --silent-klee-assume %t.bc > %t.silent-klee-assume.log 2>&1
 // RUN: FileCheck -input-file=%t.silent-klee-assume.log -check-prefix=CHECK-SILENT-KLEE-ASSUME %s
diff --git a/test/Feature/SolverTimeout.c b/test/Feature/SolverTimeout.c
index a2faf08a..65cc1d9b 100644
--- a/test/Feature/SolverTimeout.c
+++ b/test/Feature/SolverTimeout.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --max-solver-time=1 %t1.bc
 // FIXME: This test occasionally fails when using Z3 4.4.1 but
diff --git a/test/Feature/SourceMapping.c b/test/Feature/SourceMapping.c
index aa849c5f..30a9c2a8 100644
--- a/test/Feature/SourceMapping.c
+++ b/test/Feature/SourceMapping.c
@@ -1,7 +1,7 @@
 // Check that we properly associate instruction level statistics with source
 // file and line.
 //
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc
 // RUN: FileCheck < %t.klee-out/run.istats %s
diff --git a/test/Feature/StackOverflow.c b/test/Feature/StackOverflow.c
index 837d3db8..ebe60db2 100644
--- a/test/Feature/StackOverflow.c
+++ b/test/Feature/StackOverflow.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -g -c -o %t.bc %s
+// RUN: %clang -emit-llvm -g -c -o %t.bc %s
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t.bc > %t.output.log 2>&1
 // RUN: FileCheck -input-file=%t.output.log %s
diff --git a/test/Feature/VarArgLongDouble.c b/test/Feature/VarArgLongDouble.c
index 63ba85c8..7452b908 100644
--- a/test/Feature/VarArgLongDouble.c
+++ b/test/Feature/VarArgLongDouble.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t.bc | FileCheck %s
 
diff --git a/test/Feature/Vararg.c b/test/Feature/Vararg.c
index 239ec9a3..198da4fc 100644
--- a/test/Feature/Vararg.c
+++ b/test/Feature/Vararg.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -g -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -g -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // This test needs deterministic allocation with enough spacing between the allocations.
 // Otherwise, if by coincidence the allocated vararg memory object is directly before another valid memory object,
diff --git a/test/Feature/WithLibc.c b/test/Feature/WithLibc.c
index 8c07041d..bb1c66c0 100644
--- a/test/Feature/WithLibc.c
+++ b/test/Feature/WithLibc.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t2.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t2.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --libc=klee %t2.bc > %t3.log
 // RUN: echo "good" > %t3.good
diff --git a/test/Feature/WriteCov.c b/test/Feature/WriteCov.c
index 3ecce3fc..304198c5 100644
--- a/test/Feature/WriteCov.c
+++ b/test/Feature/WriteCov.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t2.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t2.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error --write-cov %t2.bc
 // RUN: grep -c WriteCov.c:16  %t.klee-out/test000001.cov %t.klee-out/test000002.cov  >%t3.txt
diff --git a/test/Feature/arithmetic-right-overshift-sym-conc.c b/test/Feature/arithmetic-right-overshift-sym-conc.c
index 4a0bc36f..c58f13a1 100644
--- a/test/Feature/arithmetic-right-overshift-sym-conc.c
+++ b/test/Feature/arithmetic-right-overshift-sym-conc.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out -use-cex-cache=1 -check-overshift=0 %t.bc
 // RUN: not grep "ASSERTION FAIL" %t.klee-out/messages.txt
diff --git a/test/Feature/consecutive_divide_by_zero.c b/test/Feature/consecutive_divide_by_zero.c
index b44572aa..c2f5e152 100644
--- a/test/Feature/consecutive_divide_by_zero.c
+++ b/test/Feature/consecutive_divide_by_zero.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -c -g %O0opt %s -o %t.bc
+// RUN: %clang -emit-llvm -c -g %O0opt %s -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out -check-div-zero -emit-all-errors=0 %t.bc 2> %t.log
 // RUN: FileCheck --input-file=%t.log %s
diff --git a/test/Feature/const_array_opt1.c b/test/Feature/const_array_opt1.c
index b466e56c..f633e659 100644
--- a/test/Feature/const_array_opt1.c
+++ b/test/Feature/const_array_opt1.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --const-array-opt --max-time=10 --only-output-states-covering-new %t.bc >%t.log
 // grep -q "Finished successfully!\n"
diff --git a/test/Feature/left-overshift-sym-conc.c b/test/Feature/left-overshift-sym-conc.c
index 05b89c68..0320334f 100644
--- a/test/Feature/left-overshift-sym-conc.c
+++ b/test/Feature/left-overshift-sym-conc.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out -use-cex-cache=1 -check-overshift=0 %t.bc
 // RUN: not grep "ASSERTION FAIL" %t.klee-out/messages.txt
diff --git a/test/Feature/logical-right-overshift-sym-conc.c b/test/Feature/logical-right-overshift-sym-conc.c
index b499cce6..06bae156 100644
--- a/test/Feature/logical-right-overshift-sym-conc.c
+++ b/test/Feature/logical-right-overshift-sym-conc.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out -use-cex-cache=1 -check-overshift=0 %t.bc
 // RUN: not grep "ASSERTION FAIL" %t.klee-out/messages.txt
diff --git a/test/Feature/srem.c b/test/Feature/srem.c
index 4c331dd0..0684ec96 100644
--- a/test/Feature/srem.c
+++ b/test/Feature/srem.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out -use-cex-cache=1 %t.bc
 // RUN: grep "KLEE: done: explored paths = 5" %t.klee-out/info
diff --git a/test/Feature/ubsan_signed_overflow.c b/test/Feature/ubsan_signed_overflow.c
index f4636c33..ced2ca06 100644
--- a/test/Feature/ubsan_signed_overflow.c
+++ b/test/Feature/ubsan_signed_overflow.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -fsanitize=signed-integer-overflow -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -fsanitize=signed-integer-overflow -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t.bc 2>&1 | FileCheck %s
 
diff --git a/test/Feature/ubsan_unsigned_overflow.c b/test/Feature/ubsan_unsigned_overflow.c
index 4c783b4c..2734f868 100644
--- a/test/Feature/ubsan_unsigned_overflow.c
+++ b/test/Feature/ubsan_unsigned_overflow.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -fsanitize=unsigned-integer-overflow -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -fsanitize=unsigned-integer-overflow -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t.bc 2>&1 | FileCheck %s
 
diff --git a/test/Merging/batching_break.c b/test/Merging/batching_break.c
index b9169df0..4089c2f5 100644
--- a/test/Merging/batching_break.c
+++ b/test/Merging/batching_break.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -g -c -o %t.bc %s
+// RUN: %clang -emit-llvm -g -c -o %t.bc %s
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --use-merge --debug-log-merge --search=nurs:covnew %t.bc 2>&1 | FileCheck %s
 
diff --git a/test/Merging/easy_merge.c b/test/Merging/easy_merge.c
index ebada510..ceee25a1 100644
--- a/test/Merging/easy_merge.c
+++ b/test/Merging/easy_merge.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -g -c -o %t.bc %s
+// RUN: %clang -emit-llvm -g -c -o %t.bc %s
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --use-merge --debug-log-merge --search=nurs:covnew --use-batching-search %t.bc 2>&1 | FileCheck %s
 // RUN: rm -rf %t.klee-out
diff --git a/test/Merging/incomplete_merge.c b/test/Merging/incomplete_merge.c
index f8d870bc..87ff37e4 100644
--- a/test/Merging/incomplete_merge.c
+++ b/test/Merging/incomplete_merge.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -g -c -o %t.bc %s
+// RUN: %clang -emit-llvm -g -c -o %t.bc %s
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --use-merge --debug-log-merge --use-incomplete-merge --debug-log-incomplete-merge --search=nurs:covnew --use-batching-search %t.bc 2>&1 | FileCheck %s
 // RUN: rm -rf %t.klee-out
diff --git a/test/Merging/indirect_value.c b/test/Merging/indirect_value.c
index d3c7e4cb..040a4735 100644
--- a/test/Merging/indirect_value.c
+++ b/test/Merging/indirect_value.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -g -c -o %t.bc %s
+// RUN: %clang -emit-llvm -g -c -o %t.bc %s
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --use-merge --debug-log-merge --search=nurs:covnew --use-batching-search %t.bc 2>&1 | FileCheck %s
 
diff --git a/test/Merging/loop_merge.c b/test/Merging/loop_merge.c
index f1ffa001..79d9d70b 100644
--- a/test/Merging/loop_merge.c
+++ b/test/Merging/loop_merge.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -g -c -o %t.bc %s
+// RUN: %clang -emit-llvm -g -c -o %t.bc %s
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --use-merge --debug-log-merge --search=bfs %t.bc 2>&1 | FileCheck %s
 // RUN: rm -rf %t.klee-out
diff --git a/test/Merging/merge_fail.c b/test/Merging/merge_fail.c
index 2e86dccb..23ddb0d0 100644
--- a/test/Merging/merge_fail.c
+++ b/test/Merging/merge_fail.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -g -c -o %t.bc %s
+// RUN: %clang -emit-llvm -g -c -o %t.bc %s
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --use-merge --debug-log-merge --search=bfs %t.bc 2>&1 | FileCheck %s
 // RUN: rm -rf %t.klee-out
diff --git a/test/Merging/nested_merge.c b/test/Merging/nested_merge.c
index 7b932c46..97fca5d3 100644
--- a/test/Merging/nested_merge.c
+++ b/test/Merging/nested_merge.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -g -c -o %t.bc %s
+// RUN: %clang -emit-llvm -g -c -o %t.bc %s
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --use-merge --debug-log-merge --search=nurs:covnew --use-batching-search %t.bc 2>&1 | FileCheck %s
 // RUN: rm -rf %t.klee-out
diff --git a/test/Merging/split_merge.c b/test/Merging/split_merge.c
index 205a4985..a138e69a 100644
--- a/test/Merging/split_merge.c
+++ b/test/Merging/split_merge.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -g -c -o %t.bc %s
+// RUN: %clang -emit-llvm -g -c -o %t.bc %s
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --use-merge --debug-log-merge --search=nurs:covnew --use-batching-search %t.bc 2>&1 | FileCheck %s
 // RUN: rm -rf %t.klee-out
diff --git a/test/Merging/state_termination.c b/test/Merging/state_termination.c
index 52986f4b..3fe18760 100644
--- a/test/Merging/state_termination.c
+++ b/test/Merging/state_termination.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -g -c -o %t.bc %s
+// RUN: %clang -emit-llvm -g -c -o %t.bc %s
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --use-merge --debug-log-merge --search=dfs  %t.bc 
 
diff --git a/test/Merging/unexpected_close.c b/test/Merging/unexpected_close.c
index 3cc7cf0f..59ea72dc 100644
--- a/test/Merging/unexpected_close.c
+++ b/test/Merging/unexpected_close.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm -g -c -o %t.bc %s
+// RUN: %clang -emit-llvm -g -c -o %t.bc %s
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --use-merge --search=nurs:covnew --max-time=2 %t.bc
 
diff --git a/test/Programs/pcregrep.c b/test/Programs/pcregrep.c
index e2cb5362..ba5c79db 100644
--- a/test/Programs/pcregrep.c
+++ b/test/Programs/pcregrep.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -m32 %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang -m32 %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --libc=klee --exit-on-error %t1.bc 2 2
 // XFAIL: x86_64
diff --git a/test/Replay/libkleeruntest/replay_invalid_klee_assume.c b/test/Replay/libkleeruntest/replay_invalid_klee_assume.c
index 2257d31d..037a9c90 100644
--- a/test/Replay/libkleeruntest/replay_invalid_klee_assume.c
+++ b/test/Replay/libkleeruntest/replay_invalid_klee_assume.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -DASSUME_VALUE=1 %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang -DASSUME_VALUE=1 %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --search=dfs %t.bc
 // RUN: test -f %t.klee-out/test000001.ktest
diff --git a/test/Replay/libkleeruntest/replay_invalid_klee_choose.c b/test/Replay/libkleeruntest/replay_invalid_klee_choose.c
index 4cc36765..a8e42d81 100644
--- a/test/Replay/libkleeruntest/replay_invalid_klee_choose.c
+++ b/test/Replay/libkleeruntest/replay_invalid_klee_choose.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -DBOUND_VALUE=32 -DFORCE_VALUE=20 %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang -DBOUND_VALUE=32 -DFORCE_VALUE=20 %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --search=dfs %t.bc
 // RUN: test -f %t.klee-out/test000001.ktest
diff --git a/test/Replay/libkleeruntest/replay_invalid_klee_range.c b/test/Replay/libkleeruntest/replay_invalid_klee_range.c
index 7ae34899..11f53445 100644
--- a/test/Replay/libkleeruntest/replay_invalid_klee_range.c
+++ b/test/Replay/libkleeruntest/replay_invalid_klee_range.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -DBOUND_VALUE=32 -DFORCE_VALUE=20 %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang -DBOUND_VALUE=32 -DFORCE_VALUE=20 %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --libc=klee --search=dfs %t.bc
 // RUN: test -f %t.klee-out/test000001.ktest
diff --git a/test/Replay/libkleeruntest/replay_invalid_num_objects.c b/test/Replay/libkleeruntest/replay_invalid_num_objects.c
index 43883067..2a062b88 100644
--- a/test/Replay/libkleeruntest/replay_invalid_num_objects.c
+++ b/test/Replay/libkleeruntest/replay_invalid_num_objects.c
@@ -1,5 +1,5 @@
 // Compile program that only makes one klee_make_symbolic() call
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --search=dfs %t.bc
 // RUN: test -f %t.klee-out/test000001.ktest
diff --git a/test/Replay/libkleeruntest/replay_invalid_object_names.c b/test/Replay/libkleeruntest/replay_invalid_object_names.c
index 67383a36..9079e682 100644
--- a/test/Replay/libkleeruntest/replay_invalid_object_names.c
+++ b/test/Replay/libkleeruntest/replay_invalid_object_names.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -DOBJ_NAME=simple_name %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang -DOBJ_NAME=simple_name %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --search=dfs %t.bc
 // RUN: test -f %t.klee-out/test000001.ktest
diff --git a/test/Replay/libkleeruntest/replay_invalid_object_size.c b/test/Replay/libkleeruntest/replay_invalid_object_size.c
index 7619cd62..f91f6377 100644
--- a/test/Replay/libkleeruntest/replay_invalid_object_size.c
+++ b/test/Replay/libkleeruntest/replay_invalid_object_size.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -DINT_TYPE=uint8_t %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang -DINT_TYPE=uint8_t %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --search=dfs %t.bc
 // RUN: test -f %t.klee-out/test000001.ktest
diff --git a/test/Replay/libkleeruntest/replay_klee_prefer_cex.c b/test/Replay/libkleeruntest/replay_klee_prefer_cex.c
index 852554b0..c2f0be13 100644
--- a/test/Replay/libkleeruntest/replay_klee_prefer_cex.c
+++ b/test/Replay/libkleeruntest/replay_klee_prefer_cex.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t.bc
 
diff --git a/test/Replay/libkleeruntest/replay_posix_runtime.c b/test/Replay/libkleeruntest/replay_posix_runtime.c
index 5956c918..57046257 100644
--- a/test/Replay/libkleeruntest/replay_posix_runtime.c
+++ b/test/Replay/libkleeruntest/replay_posix_runtime.c
@@ -1,6 +1,6 @@
 // REQUIRES: posix-runtime
 // FIXME: We need to fix a bug in libkleeRuntest
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --posix-runtime --search=dfs %t.bc
 // RUN: test -f %t.klee-out/test000001.ktest
diff --git a/test/Replay/libkleeruntest/replay_simple.c b/test/Replay/libkleeruntest/replay_simple.c
index 8155060d..56fc7db8 100644
--- a/test/Replay/libkleeruntest/replay_simple.c
+++ b/test/Replay/libkleeruntest/replay_simple.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --search=dfs %t.bc
 // RUN: test -f %t.klee-out/test000001.ktest
diff --git a/test/Replay/libkleeruntest/replay_two_objects.c b/test/Replay/libkleeruntest/replay_two_objects.c
index a8f1b87b..b8b146c2 100644
--- a/test/Replay/libkleeruntest/replay_two_objects.c
+++ b/test/Replay/libkleeruntest/replay_two_objects.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --search=dfs %t.bc 2>&1 | FileCheck %s
 // RUN: test -f %t.klee-out/test000001.ktest
diff --git a/test/Runtime/FreeStanding/freestanding_only.c b/test/Runtime/FreeStanding/freestanding_only.c
index cb4c0fcb..0f03c84c 100644
--- a/test/Runtime/FreeStanding/freestanding_only.c
+++ b/test/Runtime/FreeStanding/freestanding_only.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -g -c  -D_FORTIFY_SOURCE=0 -o %t2.bc
+// RUN: %clang %s -emit-llvm %O0opt -g -c  -D_FORTIFY_SOURCE=0 -o %t2.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t2.bc 2> %t.log
 // RUN: FileCheck %s --input-file=%t.log
diff --git a/test/Runtime/POSIX/CanonicalizeFileName.c b/test/Runtime/POSIX/CanonicalizeFileName.c
index 8bba33d1..7f238c41 100644
--- a/test/Runtime/POSIX/CanonicalizeFileName.c
+++ b/test/Runtime/POSIX/CanonicalizeFileName.c
@@ -1,5 +1,5 @@
 // REQUIRES: not-darwin
-// RUN: %llvmgcc %s -Wall -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -Wall -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --libc=uclibc --posix-runtime --exit-on-error %t.bc
 
diff --git a/test/Runtime/POSIX/DirConsistency.c b/test/Runtime/POSIX/DirConsistency.c
index 7b1d4a74..fa5c5314 100644
--- a/test/Runtime/POSIX/DirConsistency.c
+++ b/test/Runtime/POSIX/DirConsistency.c
@@ -1,8 +1,8 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out %t.klee-out-tmp
 // RUN: %gentmp %t.klee-out-tmp
 // RUN: %klee --output-dir=%t.klee-out --run-in-dir=%t.klee-out-tmp --search=random-state --libc=uclibc --posix-runtime --exit-on-error %t.bc --sym-files 1 1 > %t1.log
-// RUN: %llvmgcc -D_FILE_OFFSET_BITS=64 %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang -D_FILE_OFFSET_BITS=64 %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out %t.klee-out-tmp
 // RUN: %gentmp %t.klee-out-tmp
 // RUN: %klee --output-dir=%t.klee-out --run-in-dir=%t.klee-out-tmp --search=random-state --libc=uclibc --posix-runtime --exit-on-error %t.bc --sym-files 1 1 > %t2.log
diff --git a/test/Runtime/POSIX/DirSeek.c b/test/Runtime/POSIX/DirSeek.c
index e7be5503..972d54e2 100644
--- a/test/Runtime/POSIX/DirSeek.c
+++ b/test/Runtime/POSIX/DirSeek.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -g -o %t2.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -g -o %t2.bc
 // RUN: rm -rf %t.klee-out %t.klee-out-tmp
 // RUN: %gentmp %t.klee-out-tmp
 // RUN: %klee --output-dir=%t.klee-out --run-in-dir=%t.klee-out-tmp --libc=uclibc --posix-runtime --exit-on-error %t2.bc --sym-files 2 2
diff --git a/test/Runtime/POSIX/FDNumbers.c b/test/Runtime/POSIX/FDNumbers.c
index dc5e1734..42f0f5ae 100644
--- a/test/Runtime/POSIX/FDNumbers.c
+++ b/test/Runtime/POSIX/FDNumbers.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t2.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t2.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --posix-runtime --exit-on-error %t2.bc --sym-files 1 10
 
diff --git a/test/Runtime/POSIX/FD_Fail.c b/test/Runtime/POSIX/FD_Fail.c
index 74f94bf6..8d205859 100644
--- a/test/Runtime/POSIX/FD_Fail.c
+++ b/test/Runtime/POSIX/FD_Fail.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --libc=uclibc --posix-runtime %t1.bc --max-fail 1 | FileCheck %s
 
diff --git a/test/Runtime/POSIX/FD_Fail2.c b/test/Runtime/POSIX/FD_Fail2.c
index 8fef1eda..78845b1d 100644
--- a/test/Runtime/POSIX/FD_Fail2.c
+++ b/test/Runtime/POSIX/FD_Fail2.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --libc=uclibc --posix-runtime --search=dfs %t1.bc --sym-files 1 10 --max-fail 2
 //
diff --git a/test/Runtime/POSIX/Fcntl.c b/test/Runtime/POSIX/Fcntl.c
index e7a4cc4f..41aeb326 100644
--- a/test/Runtime/POSIX/Fcntl.c
+++ b/test/Runtime/POSIX/Fcntl.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t2.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t2.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --posix-runtime --exit-on-error %t2.bc --sym-files 1 10
 
diff --git a/test/Runtime/POSIX/FilePerm.c b/test/Runtime/POSIX/FilePerm.c
index 2a18037f..418e3717 100644
--- a/test/Runtime/POSIX/FilePerm.c
+++ b/test/Runtime/POSIX/FilePerm.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --posix-runtime %t.bc --sym-files 1 10 --sym-stdout 2>%t.log 
 // RUN: test -f %t.klee-out/test000001.ktest
diff --git a/test/Runtime/POSIX/FileTime.c b/test/Runtime/POSIX/FileTime.c
index 34fd3468..3e150668 100644
--- a/test/Runtime/POSIX/FileTime.c
+++ b/test/Runtime/POSIX/FileTime.c
@@ -1,5 +1,5 @@
 // Tests the functionality of setting and getting file access and modification times
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --libc=uclibc --posix-runtime %t1.bc --sym-files 1 1
 
diff --git a/test/Runtime/POSIX/FreeArgv.c b/test/Runtime/POSIX/FreeArgv.c
index fff1b2c4..93ed697e 100644
--- a/test/Runtime/POSIX/FreeArgv.c
+++ b/test/Runtime/POSIX/FreeArgv.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -g -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -g -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --posix-runtime %t.bc --sym-args 1 1 1 2>&1 | FileCheck %s
 // RUN: test -f %t.klee-out/test000001.free.err
diff --git a/test/Runtime/POSIX/Futimesat.c b/test/Runtime/POSIX/Futimesat.c
index eecaa880..bb95ac58 100644
--- a/test/Runtime/POSIX/Futimesat.c
+++ b/test/Runtime/POSIX/Futimesat.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -g -c -DTDIR=%T -o %t2.bc
+// RUN: %clang %s -emit-llvm %O0opt -g -c -DTDIR=%T -o %t2.bc
 // RUN: touch %T/futimesat-dummy
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --posix-runtime --exit-on-error %t2.bc --sym-files 1 10
diff --git a/test/Runtime/POSIX/Getenv.c b/test/Runtime/POSIX/Getenv.c
index 7b890b67..6dff3c24 100644
--- a/test/Runtime/POSIX/Getenv.c
+++ b/test/Runtime/POSIX/Getenv.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t2.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t2.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --libc=klee --posix-runtime --exit-on-error %t2.bc --sym-files 1 10
 
diff --git a/test/Runtime/POSIX/Ioctl.c b/test/Runtime/POSIX/Ioctl.c
index 61af8662..2f764dd7 100644
--- a/test/Runtime/POSIX/Ioctl.c
+++ b/test/Runtime/POSIX/Ioctl.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --posix-runtime --exit-on-error %t.bc --sym-stdin 4
 
diff --git a/test/Runtime/POSIX/Isatty.c b/test/Runtime/POSIX/Isatty.c
index 6501a4a3..389be7c0 100644
--- a/test/Runtime/POSIX/Isatty.c
+++ b/test/Runtime/POSIX/Isatty.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --libc=uclibc --posix-runtime %t.bc --sym-stdin 10 --sym-stdout > %t.log 2>&1
 // RUN: test -f %t.klee-out/test000001.ktest
diff --git a/test/Runtime/POSIX/MixedConcreteSymbolic.c b/test/Runtime/POSIX/MixedConcreteSymbolic.c
index 71abb116..0b21d30b 100644
--- a/test/Runtime/POSIX/MixedConcreteSymbolic.c
+++ b/test/Runtime/POSIX/MixedConcreteSymbolic.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --external-calls=all --exit-on-error --libc=uclibc --posix-runtime %t.bc --sym-stdin 10  2>%t.log | FileCheck %s
 
diff --git a/test/Runtime/POSIX/Openat.c b/test/Runtime/POSIX/Openat.c
index 648380dc..2341527e 100644
--- a/test/Runtime/POSIX/Openat.c
+++ b/test/Runtime/POSIX/Openat.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t2.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t2.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --posix-runtime --exit-on-error %t2.bc --sym-files 1 10
 // RUN: test -f %t.klee-out/test000001.ktest
diff --git a/test/Runtime/POSIX/PrgName.c b/test/Runtime/POSIX/PrgName.c
index 2273c0d0..e76cbf6f 100644
--- a/test/Runtime/POSIX/PrgName.c
+++ b/test/Runtime/POSIX/PrgName.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t2.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t2.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --posix-runtime --exit-on-error %t2.bc --sym-arg 10 >%t.log
 // RUN: test -f %t.klee-out/test000001.ktest
diff --git a/test/Runtime/POSIX/Read1.c b/test/Runtime/POSIX/Read1.c
index 00deab5f..72ad87ae 100644
--- a/test/Runtime/POSIX/Read1.c
+++ b/test/Runtime/POSIX/Read1.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error --posix-runtime %t.bc --sym-files 1 8 >%t.log
 
diff --git a/test/Runtime/POSIX/Replay.c b/test/Runtime/POSIX/Replay.c
index f9802837..851b5a1e 100644
--- a/test/Runtime/POSIX/Replay.c
+++ b/test/Runtime/POSIX/Replay.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -DKLEE_EXECUTION %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang -DKLEE_EXECUTION %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --posix-runtime %t.bc --sym-files 1 3
 // RUN: %klee-replay --create-files-only %t.klee-out/test000001.ktest
diff --git a/test/Runtime/POSIX/SELinux/SELinux.c b/test/Runtime/POSIX/SELinux/SELinux.c
index d3a73e72..6bb56f85 100644
--- a/test/Runtime/POSIX/SELinux/SELinux.c
+++ b/test/Runtime/POSIX/SELinux/SELinux.c
@@ -1,5 +1,5 @@
 /* Very basic test, as right now SELinux support is extremely basic */
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --posix-runtime --exit-on-error %t1.bc --sym-arg 2 > %t.log
 // XFAIL: no-selinux
diff --git a/test/Runtime/POSIX/SeedAndFail.c b/test/Runtime/POSIX/SeedAndFail.c
index 891921f0..2af86ad1 100644
--- a/test/Runtime/POSIX/SeedAndFail.c
+++ b/test/Runtime/POSIX/SeedAndFail.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --libc=uclibc --posix-runtime %t.bc --sym-files 1 10  2>%t.log
 // RUN: rm -rf %t.klee-out-2
diff --git a/test/Runtime/POSIX/Stdin.c b/test/Runtime/POSIX/Stdin.c
index 036fecaa..6d84baff 100644
--- a/test/Runtime/POSIX/Stdin.c
+++ b/test/Runtime/POSIX/Stdin.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --libc=uclibc --posix-runtime --exit-on-error %t.bc --sym-stdin 4 > %t.log
 // RUN: grep "mode:file" %t.log
diff --git a/test/Runtime/POSIX/TestMain.c b/test/Runtime/POSIX/TestMain.c
index 79630fa0..a67fbd07 100644
--- a/test/Runtime/POSIX/TestMain.c
+++ b/test/Runtime/POSIX/TestMain.c
@@ -1,8 +1,8 @@
 // Run applications with the posix environment but without additional arguments argc, argv for main
-// RUN: %llvmgcc -DMAIN1 %s -emit-llvm %O0opt -c -g -o %t.bc
+// RUN: %clang -DMAIN1 %s -emit-llvm %O0opt -c -g -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --posix-runtime %t.bc | FileCheck %s -check-prefix=CHECK-MAIN1
-// RUN: %llvmgcc -DMAIN2 %s -emit-llvm %O0opt -c -g -o %t.bc
+// RUN: %clang -DMAIN2 %s -emit-llvm %O0opt -c -g -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --posix-runtime %t.bc | FileCheck %s -check-prefix=CHECK-MAIN2
 #ifdef MAIN1
diff --git a/test/Runtime/POSIX/Usage.c b/test/Runtime/POSIX/Usage.c
index babf2ddd..9c79d70c 100644
--- a/test/Runtime/POSIX/Usage.c
+++ b/test/Runtime/POSIX/Usage.c
@@ -1,6 +1,6 @@
 // This test checks for the (in)correct use of --sym-files and --sym-args
 
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 
 // RUN: not %klee --output-dir=%t.klee-out --exit-on-error --posix-runtime %t.bc --sym-files 1 10 --sym-files 2 10 &> %t1
diff --git a/test/Runtime/POSIX/Write1.c b/test/Runtime/POSIX/Write1.c
index 19b3e81f..5fc4ff8f 100644
--- a/test/Runtime/POSIX/Write1.c
+++ b/test/Runtime/POSIX/Write1.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error --libc=uclibc --posix-runtime %t.bc --sym-files 1 10 --sym-stdout 2>%t.log
 
diff --git a/test/Runtime/POSIX/Write2.c b/test/Runtime/POSIX/Write2.c
index 03501c3a..04698f21 100644
--- a/test/Runtime/POSIX/Write2.c
+++ b/test/Runtime/POSIX/Write2.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error --libc=uclibc --posix-runtime %t.bc --sym-files 1 10 --sym-stdout 2>%t.log
 
diff --git a/test/Runtime/Uclibc/2007-10-08-optimization-calls-wrong-libc-functions.c b/test/Runtime/Uclibc/2007-10-08-optimization-calls-wrong-libc-functions.c
index f3de99c1..95b94e41 100644
--- a/test/Runtime/Uclibc/2007-10-08-optimization-calls-wrong-libc-functions.c
+++ b/test/Runtime/Uclibc/2007-10-08-optimization-calls-wrong-libc-functions.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error --optimize --libc=uclibc %t1.bc
 
diff --git a/test/Runtime/Uclibc/2008-03-04-libc-atexit-uses-dso-handle.c b/test/Runtime/Uclibc/2008-03-04-libc-atexit-uses-dso-handle.c
index 299cbb12..3b66dd21 100644
--- a/test/Runtime/Uclibc/2008-03-04-libc-atexit-uses-dso-handle.c
+++ b/test/Runtime/Uclibc/2008-03-04-libc-atexit-uses-dso-handle.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error --libc=uclibc %t1.bc
 
diff --git a/test/Runtime/Uclibc/Environ.c b/test/Runtime/Uclibc/Environ.c
index 76208278..df0ba5b2 100644
--- a/test/Runtime/Uclibc/Environ.c
+++ b/test/Runtime/Uclibc/Environ.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --libc=uclibc --exit-on-error %t1.bc
 
diff --git a/test/Solver/Z3ConstantArray.c b/test/Solver/Z3ConstantArray.c
index 041e675d..d9495795 100644
--- a/test/Solver/Z3ConstantArray.c
+++ b/test/Solver/Z3ConstantArray.c
@@ -1,5 +1,5 @@
 // REQUIRES: z3
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out -solver-backend=z3 -write-cvcs -write-smt2s -debug-z3-dump-queries=%t.smt2   %t1.bc
 // RUN: cat %t.klee-out/test000001.smt2 | FileCheck --check-prefix=TEST-CASE %s
diff --git a/test/VectorInstructions/extract_element.c b/test/VectorInstructions/extract_element.c
index 76034f18..e4e73915 100644
--- a/test/VectorInstructions/extract_element.c
+++ b/test/VectorInstructions/extract_element.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // NOTE: Have to pass `--optimize=false` to avoid vector operations being
 // constant folded away.
diff --git a/test/VectorInstructions/extract_element_symbolic.c b/test/VectorInstructions/extract_element_symbolic.c
index 1833eb34..ff9a7164 100644
--- a/test/VectorInstructions/extract_element_symbolic.c
+++ b/test/VectorInstructions/extract_element_symbolic.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: not %klee --output-dir=%t.klee-out --exit-on-error %t1.bc > %t.log 2>&1
 // RUN: FileCheck -input-file=%t.log %s
diff --git a/test/VectorInstructions/floating_point_ops_constant.c b/test/VectorInstructions/floating_point_ops_constant.c
index 3d9fd098..6b3ef7b1 100644
--- a/test/VectorInstructions/floating_point_ops_constant.c
+++ b/test/VectorInstructions/floating_point_ops_constant.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // NOTE: Have to pass `--optimize=false` to avoid vector operations being
 // constant folded away.
diff --git a/test/VectorInstructions/insert_element.c b/test/VectorInstructions/insert_element.c
index 772da987..edfc9cb4 100644
--- a/test/VectorInstructions/insert_element.c
+++ b/test/VectorInstructions/insert_element.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // NOTE: Have to pass `--optimize=false` to avoid vector operations being
 // constant folded away.
diff --git a/test/VectorInstructions/insert_element_symbolic.c b/test/VectorInstructions/insert_element_symbolic.c
index f75d3a09..6a0fbe03 100644
--- a/test/VectorInstructions/insert_element_symbolic.c
+++ b/test/VectorInstructions/insert_element_symbolic.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: not %klee --output-dir=%t.klee-out --exit-on-error %t1.bc > %t.log 2>&1
 // RUN: FileCheck -input-file=%t.log %s
diff --git a/test/VectorInstructions/integer_ops_constant.c b/test/VectorInstructions/integer_ops_constant.c
index 920465ff..e6d0921c 100644
--- a/test/VectorInstructions/integer_ops_constant.c
+++ b/test/VectorInstructions/integer_ops_constant.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // NOTE: Have to pass `--optimize=false` to avoid vector operations being
 // constant folded away.
diff --git a/test/VectorInstructions/integer_ops_signed_symbolic.c b/test/VectorInstructions/integer_ops_signed_symbolic.c
index 10ede925..5c036ccd 100644
--- a/test/VectorInstructions/integer_ops_signed_symbolic.c
+++ b/test/VectorInstructions/integer_ops_signed_symbolic.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // NOTE: Have to pass `--optimize=false` to avoid vector operations being
 // optimized away.
diff --git a/test/VectorInstructions/integer_ops_unsigned_symbolic.c b/test/VectorInstructions/integer_ops_unsigned_symbolic.c
index aadeb585..56ad5eaa 100644
--- a/test/VectorInstructions/integer_ops_unsigned_symbolic.c
+++ b/test/VectorInstructions/integer_ops_unsigned_symbolic.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // NOTE: Have to pass `--optimize=false` to avoid vector operations being
 // optimized away.
diff --git a/test/VectorInstructions/shuffle_element.c b/test/VectorInstructions/shuffle_element.c
index bf1f83f6..06f3843d 100644
--- a/test/VectorInstructions/shuffle_element.c
+++ b/test/VectorInstructions/shuffle_element.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // NOTE: Have to pass `--optimize=false` to avoid vector operations being
 // constant folded away.
diff --git a/test/lit.cfg b/test/lit.cfg
index 4913fa5f..06e6ba87 100644
--- a/test/lit.cfg
+++ b/test/lit.cfg
@@ -84,7 +84,7 @@ if config.test_exec_root is None:
 
 
 # Add substitutions from lit.site.cfg
-subs = [ 'llvmgcc', 'llvmgxx', 'cc', 'cxx', 'O0opt' ]
+subs = [ 'clang', 'xxclang', 'cc', 'cxx', 'O0opt' ]
 for name in subs:
   value = getattr(config, name, None)
   if value == None:
diff --git a/test/lit.site.cfg.in b/test/lit.site.cfg.in
index 5f3c777a..7f9acfc5 100644
--- a/test/lit.site.cfg.in
+++ b/test/lit.site.cfg.in
@@ -14,9 +14,8 @@ config.llvm_version_major = "@LLVM_VERSION_MAJOR@"
 config.llvm_version_minor = "@LLVM_VERSION_MINOR@"
 
 # Compilers
-# FIXME: use llvmcc not llvmgcc
-config.llvmgcc = "@LLVMCC@"
-config.llvmgxx = "@LLVMCXX@"
+config.clang = "@LLVMCC@"
+config.xxclang = "@LLVMCXX@"
 
 config.cc = "@NATIVE_CC@"
 config.cxx = "@NATIVE_CXX@"
diff --git a/test/regression/2007-07-25-invalid-stp-array-binding-to-objectstate.c b/test/regression/2007-07-25-invalid-stp-array-binding-to-objectstate.c
index e933d926..1897266a 100644
--- a/test/regression/2007-07-25-invalid-stp-array-binding-to-objectstate.c
+++ b/test/regression/2007-07-25-invalid-stp-array-binding-to-objectstate.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc
 
diff --git a/test/regression/2007-07-30-unflushed-byte.c b/test/regression/2007-07-30-unflushed-byte.c
index ddbfecd7..bb480b9a 100644
--- a/test/regression/2007-07-30-unflushed-byte.c
+++ b/test/regression/2007-07-30-unflushed-byte.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc
 
diff --git a/test/regression/2007-08-01-cache-unclear-on-overwrite-flushed.c b/test/regression/2007-08-01-cache-unclear-on-overwrite-flushed.c
index 050b6393..96115557 100644
--- a/test/regression/2007-08-01-cache-unclear-on-overwrite-flushed.c
+++ b/test/regression/2007-08-01-cache-unclear-on-overwrite-flushed.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc
 
diff --git a/test/regression/2007-08-06-64bit-shift.c b/test/regression/2007-08-06-64bit-shift.c
index 95a719a7..f072e453 100644
--- a/test/regression/2007-08-06-64bit-shift.c
+++ b/test/regression/2007-08-06-64bit-shift.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc
 
diff --git a/test/regression/2007-08-06-access-after-free.c b/test/regression/2007-08-06-access-after-free.c
index bba7b97c..7d1f81db 100644
--- a/test/regression/2007-08-06-access-after-free.c
+++ b/test/regression/2007-08-06-access-after-free.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc
 
diff --git a/test/regression/2007-08-08-free-zero.c b/test/regression/2007-08-08-free-zero.c
index 192b2841..26df8e99 100644
--- a/test/regression/2007-08-08-free-zero.c
+++ b/test/regression/2007-08-08-free-zero.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc
 // RUN: ls %t.klee-out | not grep *.err
diff --git a/test/regression/2007-08-16-invalid-constant-value.c b/test/regression/2007-08-16-invalid-constant-value.c
index fd011f2e..554a8db4 100644
--- a/test/regression/2007-08-16-invalid-constant-value.c
+++ b/test/regression/2007-08-16-invalid-constant-value.c
@@ -1,6 +1,6 @@
 // REQUIRES: geq-llvm-3.7
 // RUN: rm -f %t4.out %t4.err %t4.log
-// RUN: %llvmgcc %s -emit-llvm -O2 -c -o %t1.bc
+// RUN: %clang %s -emit-llvm -O2 -c -o %t1.bc
 // RUN: llvm-as -f %p/../Feature/_utils._ll -o %t2.bc
 // RUN: llvm-link %t1.bc %t2.bc -o %t3.bc
 // RUN: rm -rf %t.klee-out
diff --git a/test/regression/2007-08-16-invalid-constant-value.leq36.c b/test/regression/2007-08-16-invalid-constant-value.leq36.c
index bf9f7561..f84216e3 100644
--- a/test/regression/2007-08-16-invalid-constant-value.leq36.c
+++ b/test/regression/2007-08-16-invalid-constant-value.leq36.c
@@ -1,6 +1,6 @@
 // REQUIRES: lt-llvm-3.7
 // RUN: rm -f %t4.out %t4.err %t4.log
-// RUN: %llvmgcc %s -emit-llvm -O2 -c -o %t1.bc
+// RUN: %clang %s -emit-llvm -O2 -c -o %t1.bc
 // RUN: llvm-as -f %p/../Feature/_utils.leq36._ll -o %t2.bc
 // RUN: llvm-link %t1.bc %t2.bc -o %t3.bc
 // RUN: rm -rf %t.klee-out
diff --git a/test/regression/2007-08-16-valid-write-to-freed-object.c b/test/regression/2007-08-16-valid-write-to-freed-object.c
index 18dec41f..6b6efecb 100644
--- a/test/regression/2007-08-16-valid-write-to-freed-object.c
+++ b/test/regression/2007-08-16-valid-write-to-freed-object.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc
 
diff --git a/test/regression/2007-10-11-free-of-alloca.c b/test/regression/2007-10-11-free-of-alloca.c
index b6b38328..6aa6cdb3 100644
--- a/test/regression/2007-10-11-free-of-alloca.c
+++ b/test/regression/2007-10-11-free-of-alloca.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -g -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -g -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc 2>&1 | FileCheck %s
 // RUN: test -f %t.klee-out/test000001.free.err
diff --git a/test/regression/2007-10-11-illegal-access-after-free-and-branch.c b/test/regression/2007-10-11-illegal-access-after-free-and-branch.c
index 90490b56..0b4f0833 100644
--- a/test/regression/2007-10-11-illegal-access-after-free-and-branch.c
+++ b/test/regression/2007-10-11-illegal-access-after-free-and-branch.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --optimize %t1.bc 2>&1 | FileCheck %s
 // RUN: test -f %t.klee-out/test000001.ptr.err
diff --git a/test/regression/2007-10-12-failed-make-symbolic-after-copy.c b/test/regression/2007-10-12-failed-make-symbolic-after-copy.c
index 85cc7c5b..64cae9f4 100644
--- a/test/regression/2007-10-12-failed-make-symbolic-after-copy.c
+++ b/test/regression/2007-10-12-failed-make-symbolic-after-copy.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc
 // RUN: test -f %t.klee-out/test000001.ktest
diff --git a/test/regression/2008-03-04-free-of-global.c b/test/regression/2008-03-04-free-of-global.c
index ac9cb7de..995e7173 100644
--- a/test/regression/2008-03-04-free-of-global.c
+++ b/test/regression/2008-03-04-free-of-global.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -g -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -g -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc 2>&1 | FileCheck %s
 // RUN: test -f %t.klee-out/test000001.free.err
diff --git a/test/regression/2008-03-11-free-of-malloc-zero.c b/test/regression/2008-03-11-free-of-malloc-zero.c
index 6089df94..e90baa2c 100644
--- a/test/regression/2008-03-11-free-of-malloc-zero.c
+++ b/test/regression/2008-03-11-free-of-malloc-zero.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc
 
diff --git a/test/regression/2008-04-10-bad-alloca-free.c b/test/regression/2008-04-10-bad-alloca-free.c
index afff4210..5049f47c 100644
--- a/test/regression/2008-04-10-bad-alloca-free.c
+++ b/test/regression/2008-04-10-bad-alloca-free.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc
 
diff --git a/test/regression/2008-05-23-gep-with-global-const.c b/test/regression/2008-05-23-gep-with-global-const.c
index e93692f9..b21755fe 100644
--- a/test/regression/2008-05-23-gep-with-global-const.c
+++ b/test/regression/2008-05-23-gep-with-global-const.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc -emit-llvm %O0opt -c -o %t.bc %s
+// RUN: %clang -emit-llvm %O0opt -c -o %t.bc %s
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error %t.bc
 
diff --git a/test/regression/2012-05-13-asm-causes-aborts.c b/test/regression/2012-05-13-asm-causes-aborts.c
index cc73f0b3..53fd0da9 100644
--- a/test/regression/2012-05-13-asm-causes-aborts.c
+++ b/test/regression/2012-05-13-asm-causes-aborts.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc
 
diff --git a/test/regression/2014-07-04-unflushed-error-report.c b/test/regression/2014-07-04-unflushed-error-report.c
index a0404db6..c929328d 100644
--- a/test/regression/2014-07-04-unflushed-error-report.c
+++ b/test/regression/2014-07-04-unflushed-error-report.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out -check-overshift %t.bc 2> %t.log
 // RUN: FileCheck -input-file=%t.klee-out/test000001.overshift.err %s
diff --git a/test/regression/2014-09-13-debug-info.c b/test/regression/2014-09-13-debug-info.c
index eeed301a..39b276a3 100644
--- a/test/regression/2014-09-13-debug-info.c
+++ b/test/regression/2014-09-13-debug-info.c
@@ -1,6 +1,6 @@
 // Check that we properly detect states covering new instructions.
 //
-// RUN: %llvmgcc -I../../../include %s -emit-llvm %O0opt -c -o %t1.bc
+// RUN: %clang -I../../../include %s -emit-llvm %O0opt -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --only-output-states-covering-new %t1.bc
 
diff --git a/test/regression/2014-12-08-ashr.c b/test/regression/2014-12-08-ashr.c
index be350729..ec7050d7 100644
--- a/test/regression/2014-12-08-ashr.c
+++ b/test/regression/2014-12-08-ashr.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out -exit-on-error %t.bc
 
diff --git a/test/regression/2015-06-22-struct-write.c b/test/regression/2015-06-22-struct-write.c
index 54bb5d1f..53b04274 100644
--- a/test/regression/2015-06-22-struct-write.c
+++ b/test/regression/2015-06-22-struct-write.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out -exit-on-error %t.bc
 
diff --git a/test/regression/2015-08-05-invalid-fork.c b/test/regression/2015-08-05-invalid-fork.c
index d089ed11..5f1b104e 100644
--- a/test/regression/2015-08-05-invalid-fork.c
+++ b/test/regression/2015-08-05-invalid-fork.c
@@ -3,7 +3,7 @@
    is printed a single time. 
 */
 
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t.bc | FileCheck %s
 
diff --git a/test/regression/2015-08-30-empty-constraints.c b/test/regression/2015-08-30-empty-constraints.c
index a75dd8a4..f92b6978 100644
--- a/test/regression/2015-08-30-empty-constraints.c
+++ b/test/regression/2015-08-30-empty-constraints.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t.bc 2> %t.log
 // RUN: FileCheck -input-file=%t.log %s
diff --git a/test/regression/2015-08-30-sdiv-1.c b/test/regression/2015-08-30-sdiv-1.c
index 6994dbdb..7356e74c 100644
--- a/test/regression/2015-08-30-sdiv-1.c
+++ b/test/regression/2015-08-30-sdiv-1.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out -exit-on-error -solver-optimize-divides=true %t.bc
 // RUN: rm -rf %t.klee-out
diff --git a/test/regression/2016-04-14-sdiv-2.c b/test/regression/2016-04-14-sdiv-2.c
index aab14c46..4be2a86f 100644
--- a/test/regression/2016-04-14-sdiv-2.c
+++ b/test/regression/2016-04-14-sdiv-2.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out -exit-on-error -solver-optimize-divides=true %t.bc >%t1.log
 // RUN: grep "m is 2" %t1.log
diff --git a/test/regression/2016-06-28-div-zero-bug.c b/test/regression/2016-06-28-div-zero-bug.c
index f2214039..6e2e8c5e 100644
--- a/test/regression/2016-06-28-div-zero-bug.c
+++ b/test/regression/2016-06-28-div-zero-bug.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --use-cex-cache=false %t.bc >%t1.log
 
diff --git a/test/regression/2016-08-06-klee-get-obj-size.c b/test/regression/2016-08-06-klee-get-obj-size.c
index 3d3dc357..0e25d1f6 100644
--- a/test/regression/2016-08-06-klee-get-obj-size.c
+++ b/test/regression/2016-08-06-klee-get-obj-size.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t.bc
 // RUN: test -f %t.klee-out/test000001.assert.err
diff --git a/test/regression/2016-08-11-entry-point-internalize-pass.c b/test/regression/2016-08-11-entry-point-internalize-pass.c
index 19580601..45705c98 100644
--- a/test/regression/2016-08-11-entry-point-internalize-pass.c
+++ b/test/regression/2016-08-11-entry-point-internalize-pass.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --entry-point=entry %t.bc
 
diff --git a/test/regression/2016-08-12-empty-file.c b/test/regression/2016-08-12-empty-file.c
index 8165f924..5b345243 100644
--- a/test/regression/2016-08-12-empty-file.c
+++ b/test/regression/2016-08-12-empty-file.c
@@ -1,5 +1,5 @@
 // REQUIRES: posix-runtime
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: not %klee --output-dir=%t.klee-out %t.bc >%t1.log 2>&1
 // RUN: FileCheck -input-file=%t1.log -check-prefix=CHECK-MAIN-NOT-FOUND %s
diff --git a/test/regression/2016-11-24-bitcast-weak-alias.c b/test/regression/2016-11-24-bitcast-weak-alias.c
index d420ac52..8fffa4a5 100644
--- a/test/regression/2016-11-24-bitcast-weak-alias.c
+++ b/test/regression/2016-11-24-bitcast-weak-alias.c
@@ -1,5 +1,5 @@
 // REQUIRES: not-darwin
-// RUN: %llvmgcc %s -Wall -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -Wall -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out -exit-on-error -search=nurs:covnew %t.bc DUMMY_ARG >%t1.log 2>&1
 // RUN: FileCheck -input-file=%t1.log %s
diff --git a/test/regression/2016-12-14-alloc-alignment.c b/test/regression/2016-12-14-alloc-alignment.c
index 8c58d6f9..5475d1c5 100644
--- a/test/regression/2016-12-14-alloc-alignment.c
+++ b/test/regression/2016-12-14-alloc-alignment.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -Wall -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -Wall -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out --exit-on-error %t.bc
 #include <assert.h>
diff --git a/test/regression/2017-02-21-pathOS-id.c b/test/regression/2017-02-21-pathOS-id.c
index 9be321de..b6ee269a 100644
--- a/test/regression/2017-02-21-pathOS-id.c
+++ b/test/regression/2017-02-21-pathOS-id.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out -write-paths %t.bc 2> %t.log
 // RUN: cat %t.klee-out/test000001.path | wc -l | grep -q 1
diff --git a/test/regression/2017-03-23-early-exit-log-stats.c b/test/regression/2017-03-23-early-exit-log-stats.c
index d68bfa8f..4de3aa3d 100644
--- a/test/regression/2017-03-23-early-exit-log-stats.c
+++ b/test/regression/2017-03-23-early-exit-log-stats.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // Delay writing instructions so that we ensure on exit that flush happens
 // RUN: not %klee --output-dir=%t.klee-out -exit-on-error -stats-write-interval=0 -stats-write-after-instructions=999999 %t.bc 2> %t.log
diff --git a/test/regression/2017-11-01-test-with-empty-varname.c b/test/regression/2017-11-01-test-with-empty-varname.c
index 5d73ea20..89108d9d 100644
--- a/test/regression/2017-11-01-test-with-empty-varname.c
+++ b/test/regression/2017-11-01-test-with-empty-varname.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc
 // RUN: FileCheck %s --input-file=%t.klee-out/warnings.txt
diff --git a/test/regression/2018-04-05-make-symbolic-null-name.c b/test/regression/2018-04-05-make-symbolic-null-name.c
index f352ab21..1acafbe1 100644
--- a/test/regression/2018-04-05-make-symbolic-null-name.c
+++ b/test/regression/2018-04-05-make-symbolic-null-name.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee --output-dir=%t.klee-out %t1.bc
 
diff --git a/test/regression/2018-05-05-number-instructions-dumped-states.c b/test/regression/2018-05-05-number-instructions-dumped-states.c
index 0f84408e..95f3e1ec 100644
--- a/test/regression/2018-05-05-number-instructions-dumped-states.c
+++ b/test/regression/2018-05-05-number-instructions-dumped-states.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -emit-llvm %O0opt -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee -max-instructions=1 --output-dir=%t.klee-out %t1.bc 2>&1 | FileCheck %s
 
diff --git a/test/regression/2018-05-17-replay-short-names.c b/test/regression/2018-05-17-replay-short-names.c
index 0cab0632..4c2d84a3 100644
--- a/test/regression/2018-05-17-replay-short-names.c
+++ b/test/regression/2018-05-17-replay-short-names.c
@@ -1,7 +1,7 @@
 // RUN: rm -rf a
 // RUN: mkdir a
 // RUN: touch a/b
-// RUN: %llvmgcc %s -emit-llvm %O0opt -g -c -o %t1.bc
+// RUN: %clang %s -emit-llvm %O0opt -g -c -o %t1.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee -replay-ktest-dir=a --output-dir=%t.klee-out %t1.bc 2>&1
 //
diff --git a/test/regression/2018-10-01-double-segfault.c b/test/regression/2018-10-01-double-segfault.c
index 56207f0d..1402c07b 100644
--- a/test/regression/2018-10-01-double-segfault.c
+++ b/test/regression/2018-10-01-double-segfault.c
@@ -1,5 +1,5 @@
 // REQUIRES: not-asan
-// RUN: %llvmgcc %s -emit-llvm %O0opt -g -c -o %t.bc
+// RUN: %clang %s -emit-llvm %O0opt -g -c -o %t.bc
 // RUN: rm -rf %t.klee-out
 // RUN: %klee -output-dir=%t.klee-out %t.bc 2>&1 | FileCheck %s
 // CHECK: failed external call: strdup