================ @@ -0,0 +1,42 @@ +// RUN: %clang_cc1 -verify -fopenmp -ast-print %s | FileCheck %s +// RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -emit-pch -o %t %s +// RUN: %clang_cc1 -fopenmp -std=c++11 -include-pch %t -verify %s -ast-print | FileCheck %s +// expected-no-diagnostics + +#ifndef HEADER +#define HEADER + +extern int qux(int); + +template<typename T> +int foo(T arg) +{ + #pragma omp assume no_openmp_routines + { + auto fn = [](int x) { return qux(x); }; +// CHECK: auto fn = [](int x) { + return fn(5); + } +} + +template<typename T> +class C { + T m; + +public: + T bar(T a); +}; + +// We're really just checking this parses. All the assumptions are thrown +// away immediately for now. +template<typename T> +T C<T>::bar(T a) +{ + #pragma omp assume holds(sizeof(T) == 8) absent(parallel) + { + return (T)qux((int)a); +// CHECK: return (T)qux((int)a); + } +} + +#endif ---------------- shiltian wrote:
ditto https://github.com/llvm/llvm-project/pull/92731 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits