mirror of
https://github.com/llvm/llvm-project.git
synced 2025-05-09 08:56:06 +00:00

Summary: As discussed in http://lists.llvm.org/pipermail/cfe-dev/2019-October/063459.html the overflow of the souce locations (limited to 2^31 chars) can generate all sorts of weird things (bogus warnings, hangs, crashes, miscompilation and correct compilation). In debug mode this assert would fail. So it might be a good start, as in PR42301, to detect the failure and exit with a proper error message. Reviewers: rsmith, thakis, miyuki Reviewed By: miyuki Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70183
26 lines
805 B
C
26 lines
805 B
C
// RUN: not %clang %s -S -o - 2>&1 | FileCheck %s
|
|
// CHECK: In file included from {{.*}}SourceLocationsOverflow.c
|
|
// CHECK-NEXT: inc1.h{{.*}}: fatal error: sorry, this include generates a translation unit too large for Clang to process.
|
|
// CHECK-NEXT: #include "inc2.h"
|
|
// CHECK-NEXT: ^
|
|
// CHECK-NEXT: 1 error generated.
|
|
#include "Inputs/inc1.h"
|
|
#include "Inputs/inc1.h"
|
|
#include "Inputs/inc1.h"
|
|
#include "Inputs/inc1.h"
|
|
#include "Inputs/inc1.h"
|
|
#include "Inputs/inc1.h"
|
|
#include "Inputs/inc1.h"
|
|
#include "Inputs/inc1.h"
|
|
#include "Inputs/inc1.h"
|
|
#include "Inputs/inc1.h"
|
|
#include "Inputs/inc1.h"
|
|
#include "Inputs/inc1.h"
|
|
#include "Inputs/inc1.h"
|
|
#include "Inputs/inc1.h"
|
|
#include "Inputs/inc1.h"
|
|
#include "Inputs/inc1.h"
|
|
#include "Inputs/inc1.h"
|
|
#include "Inputs/inc1.h"
|
|
#include "Inputs/inc1.h"
|