[ClangImporter] Add check for Bool in importNumericLiteral

I somehow missed this in my original patch, make sure we also handle
the bool case here.

rdar://164916048
This commit is contained in:
Hamish Knight
2025-11-24 12:02:31 +00:00
parent d1227fb693
commit 7bca421d51
5 changed files with 67 additions and 14 deletions

View File

@@ -0,0 +1,39 @@
// RUN: %empty-directory(%t)
// RUN: split-file %s %t
// RUN: %target-swift-frontend -emit-sil %t/valid.swift -I %t
// RUN: %target-swift-frontend -typecheck -verify %t/invalid.swift -I %t -disable-typo-correction
// REQUIRES: objc_interop
// REQUIRES: OS=macosx
//--- cmodule.h
#include <stdbool.h>
typedef _Bool UnderscoreBoolAlias;
#define usesUnderscoreBoolAlias ((UnderscoreBoolAlias)0)
#define usesUnderscoreBool ((_Bool)0)
typedef bool BoolAlias;
#define usesBoolAlias ((BoolAlias)0)
#define usesBool ((bool)0)
//--- module.modulemap
module CModule {
header "cmodule.h"
requires objc
export *
}
//--- valid.swift
import CModule
// Make sure we can import these constants.
print(usesUnderscoreBoolAlias)
print(usesBoolAlias)
//--- invalid.swift
import CModule
// FIXME: These ought to work too
print(usesUnderscoreBool) // expected-error {{cannot find 'usesUnderscoreBool' in scope}}
print(usesBool) // expected-error {{cannot find 'usesBool' in scope}}